#! /bin/sh # # Canonifies hiltic output for baseline diffing. cat \ | sed '/\/\* __HILTI_LINKER_V1__/,/\*\// {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/\/\/ Begin of [^ ]* (from/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/\/\/ \{1,\}- [^ ]\{1,\} (.*/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/\] parsing file/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/\] loaded module/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/[^ ]\{1,\}\.[^ ]\{1,\}:[0-9]\{1,\}:/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed '/[^ ]\{1,\}\.[^ ]\{1,\}:[0-9]\{1,\}-[0-9]\{1,\}:/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \ | sed 's#[("]\(/[^/\]\{1,\}\)\{1,\}\([^/\]\{1,\}:[0-9-]\{1,\}\)[")]#(<...>/\1\2)#g' \ | sed 's#[("]\(/[^")/\]\{1,\}\)\{1,\}\([^")/\]\{1,\}\)[")]#"<...>\1\2"#g' \ | sed 's#libc++abi.dylib: ##g' \ | sed 's#\(Compiled by HILTI version\) .*#\1 X.X.X#g' \ | sed 's#__hlt_hlto_library_version = .*#__hlt_hlto_library_version = <...>#g' \ | sed 's#__hlt_hlto_bind_to_version = .*#__hlt_hlto_bind_to_version = <...>#g' \ | sed 's#__hlt_hlto_scope = .*#__hlt_hlto_scope = <...>#g' \ | sed 's/\[\(@.:\)[0-9a-f]\{1,\}\]/[\1XXX]/g' \ | sed 's/\[\(parent @.:\)[0-9a-f]\{1,\}\]/[\1XXX]/g' \