summaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-23 20:25:49 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-23 20:25:49 +0000
commite3a37c0a35853910efb0a06b971b7289286ba0f2 (patch)
tree71fae27a9efb2795d277a638a93650d906129668 /gcc/testsuite/lib
parentf0ce15ebf84b835f13c2e05165766be2ae6f3aa5 (diff)
downloadgcc-e3a37c0a35853910efb0a06b971b7289286ba0f2.tar.gz
gcc:
* config/ia64/ia64.c (ia64_va_arg): Pass pointer for variable-sized type through convert_memory_address. (ia64_in_small_data_p): Always return false for FUNCTION_DECLs. gcc/testsuite: * lib/gcc-dg.exp (dg-prune-output): New annotation. (additional_prunes): New global. (gcc-dg-prune): Handle additional per-test pruning. (dg-test): Clear additional_prunes between tests. * gcc.c-torture/compile/920625-1.c: Remove xfail. Use dg-prune-output to avoid spurious failures from assembler complaining about nonexistent WAW violations. * gcc.c-torture/compile/981223-1.c: Remove dg-options line. Use dg-prune-output to avoid spurious failures from assembler warning about Itanium B-step errata. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74980 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp34
1 files changed, 29 insertions, 5 deletions
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 819e3ca5814..f2ba88eec47 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -130,8 +130,17 @@ proc gcc-dg-test { prog do_what extra_tool_flags } {
}
proc gcc-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
+ }
+ }
+
# If we see "region xxx is full" then the testcase is too big for ram.
# This is tricky to deal with in a large testsuite like c-torture so
# deal with it here. Just mark the testcase as unsupported.
@@ -329,6 +338,18 @@ proc dg-require-dll { args } {
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
+# 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]
+}
+
# Like check_conditional_xfail, but callable from a dg test.
proc dg-xfail-if { args } {
@@ -341,11 +362,10 @@ proc dg-xfail-if { args } {
}
-# We need to make sure that additional_files and additional_sources
-# are both cleared out after every test. It is not enough to clear
-# them out *before* the next test run because gcc-target-compile gets
-# run directly from some .exp files (outside of any test). (Those
-# uses should eventually be eliminated.)
+# We need to make sure that additional_* are cleared out after every
+# test. It is not enough to clear them out *before* the next test run
+# because gcc-target-compile gets run directly from some .exp files
+# (outside of any test). (Those uses should eventually be eliminated.)
# Because the DG framework doesn't provide a hook that is run at the
# end of a test, we must replace dg-test with a wrapper.
@@ -356,15 +376,19 @@ if { [info procs saved-dg-test] == [list] } {
proc dg-test { args } {
global additional_files
global additional_sources
+ global additional_prunes
global errorInfo
if { [ catch { eval saved-dg-test $args } errmsg ] } {
set saved_info $errorInfo
set additional_files ""
set additional_sources ""
+ set additional_prunes ""
error $errmsg $saved_info
}
set additional_files ""
set additional_sources ""
+ set additional_prunes ""
}
}
+set additional_prunes ""