diff options
Diffstat (limited to 'solenv/bin/msg_filter')
-rwxr-xr-x | solenv/bin/msg_filter | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/solenv/bin/msg_filter b/solenv/bin/msg_filter new file mode 100755 index 000000000000..a7149c35a699 --- /dev/null +++ b/solenv/bin/msg_filter @@ -0,0 +1,61 @@ +: # -*- perl -*- +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; +# This is a script to get rid of bogus error messages that are spit out +# by the compiler - sub 30/11/1999 + +# Lines that contain `xxxx' where xxxx belongs to the list knownMessages +# and is surrounded by a backtick (`) and a forward tick (') +# will not be seen in the compiler output + + +@knownMessages = ( +"__pure_virtual", +"__vt_9bad_alloc", +"__vt_9exception", +"_._9bad_alloc", +"__cp_push_exception", +"__uncatch_exception", +"__rtti_user", +"__rtti_si", +"__throw", +"terminate__Fv", +"__cp_pop_exception", +"__builtin_vec_new", +"__cmpdi2", +"__builtin_vec_delete", +"__cp_eh_info", +"__builtin_delete", +"__builtin_new", +"__eh_alloc", +"__check_eh_spec", +"_type_match_rtti", +"__rtti_class", +"set_new_handler_FPFv_v", +"__throw_type_match_rtti", +"__check_eh_spec", +"exception_type_info", +"exception type_info function", +"exception type_info node", +"exception virtual table", +"terminate(void)" +); + +# Create a hash %msgHash from list @knownMessages +foreach $msg (@knownMessages) { + $msgHash {$msg}++; +} +while ( <STDIN> ) { + + if (/\`([\s\w]+)\'/) { + $entry = $1; + if (defined($entry)) { + if (!exists $msgHash{$entry}) { + print $_; + } + } + } + else { + print $_; + } +} |