summaryrefslogtreecommitdiff
path: root/libmudflap
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-15 19:19:48 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-15 19:19:48 +0000
commitd45b884a73402fb1589e08517911078aaba4ede0 (patch)
treecd11a9beea0a8034da21fa40bbe0e2f7d7924456 /libmudflap
parentafb3d3c49fad6249e0b85722105326e9031d9475 (diff)
downloadgcc-d45b884a73402fb1589e08517911078aaba4ede0.tar.gz
* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run. (dg-prune-output): New procedure. * testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call prune_gcc_output. (libmudflap-dg-prune): New procedure. * testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output): New dg directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159440 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libmudflap')
-rw-r--r--libmudflap/ChangeLog11
-rw-r--r--libmudflap/testsuite/lib/libmudflap.exp17
-rw-r--r--libmudflap/testsuite/lib/mfdg.exp19
-rw-r--r--libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx3
4 files changed, 48 insertions, 2 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 99112ccdcab..0c24a037e64 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,14 @@
+2010-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * testsuite/lib/mfdg.exp (additional_prunes): New global.
+ (dg-test): Clear additional_prunes before test is run.
+ (dg-prune-output): New procedure.
+ * testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
+ prune_gcc_output.
+ (libmudflap-dg-prune): New procedure.
+ * testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
+ New dg directive.
+
2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR other/43620
diff --git a/libmudflap/testsuite/lib/libmudflap.exp b/libmudflap/testsuite/lib/libmudflap.exp
index c69e84ade29..588ecb5c86b 100644
--- a/libmudflap/testsuite/lib/libmudflap.exp
+++ b/libmudflap/testsuite/lib/libmudflap.exp
@@ -187,7 +187,6 @@ proc libmudflap-dg-test { prog do_what extra_tool_flags } {
lappend options "libs=$mfconfig_libs"
set comp_output [libmudflap_target_compile "$prog" "$output_file" "$compile_type" $options];
- set comp_output [prune_gcc_output $comp_output ];
return [list $comp_output $output_file]
}
@@ -278,6 +277,22 @@ proc libmudflap-list-sourcefiles { } {
}
+proc libmudflap-dg-prune { system text } {
+ global additional_prunes
+
+ set text [prune_gcc_output $text]
+
+ foreach p $additional_prunes {
+ if { [string length $p] > 0 } {
+ # Following regexp matches a complete line containing $p.
+ regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text
+ }
+ }
+
+ return $text
+}
+
+
proc prune_gcc_output { text } {
regsub -all {(^|\n)[^\n]*ld: warning: libgcc_s[^\n]*not found[^\n]*try using[^\n]*} $text "" text
regsub -all {(^|\n)[^\n]*In function.*pthread_create[^\n]*} $text "" text
diff --git a/libmudflap/testsuite/lib/mfdg.exp b/libmudflap/testsuite/lib/mfdg.exp
index 0db44d5fbbd..5f864745c01 100644
--- a/libmudflap/testsuite/lib/mfdg.exp
+++ b/libmudflap/testsuite/lib/mfdg.exp
@@ -33,6 +33,7 @@ load_lib dg.exp
proc dg-test { args } {
global dg-do-what-default dg-interpreter-batch-mode dg-linenum-format
global errorCode errorInfo
+ global additional_prunes
global tool
global srcdir ;# eg: /calvin/dje/build/gcc/./testsuite/
global host_triplet target_triplet
@@ -91,6 +92,8 @@ proc dg-test { args } {
set dg-extra-tool-flags $default_extra_tool_flags
set dg-final-code ""
+ set additional_prunes ""
+
# `dg-output-text' is a list of two elements: pass/fail and text.
# Leave second element off for now (indicates "don't perform test")
set dg-output-text "P"
@@ -334,7 +337,6 @@ proc dg-test { args } {
}
-
#
# Indicate that this test case is to be rerun several times. This
# is useful if it is nondeterministic. This applies to rerunning the
@@ -346,3 +348,18 @@ proc dg-repetitions { line value } {
upvar dg-repetitions repetitions
set repetitions $value
}
+
+
+# Prune any messages matching ARGS[1] (a regexp) from test output.
+proc dg-prune-output { args } {
+ global additional_prunes
+
+ if { [llength $args] != 2 } {
+ error "[lindex $args 1]: need one argument"
+ return
+ }
+
+ lappend additional_prunes [lindex $args 1]
+}
+
+set additional_prunes ""
diff --git a/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx
index e4fa70176b7..8be1a2d1113 100644
--- a/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx
+++ b/libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx
@@ -23,3 +23,6 @@ int main ()
{
return 0;
}
+
+/* Ignore a warning that is irrelevant to the purpose of this test. */
+/* { dg-prune-output ".*mudflap cannot track unknown size extern.*" } */