[PATCH] submitted: cleanup to testsuite/lib/gcc-dg.exp
Janis Johnson
janis187@us.ibm.com
Mon Jan 24 18:25:00 GMT 2005
This patch simplifies clearing xfail flags for a test that is skipped so
those flags don't apply to the next test that is run. Tested by running
the entire testsuite with -m32/-m64 on powerpc64-unknown-linux-gnu and
with some private test directive tests (an earlier version was proposed
for addition to contrib/). I've checked it in for mainline.
2005-01-24 Janis Johnson <janis187@us.ibm.com>
* lib/gcc-dg.exp (skip_test_and_clear_xfail): Remove.
(dg-require-weak, dg-require-visibility, dg-require-alias,
dg-require-dg-sections, dg-require-profiling, dg-require-iconv,
dg-require-effective-target, dg-skip-if): Remove call to
skip_test_and_clear_xfail.
(dg-test): Clear xfail data.
Index: gcc/testsuite/lib/gcc-dg.exp
===================================================================
RCS file: /opt/gcc-cvs/gcc/gcc/testsuite/lib/gcc-dg.exp,v
retrieving revision 1.47
diff -u -p -r1.47 gcc-dg.exp
--- gcc/testsuite/lib/gcc-dg.exp 22 Dec 2004 17:51:01 -0000 1.47
+++ gcc/testsuite/lib/gcc-dg.exp 13 Jan 2005 00:26:36 -0000
@@ -298,20 +298,6 @@ proc gcc-dg-debug-runtest { target_compi
}
}
-# Skip a test and clear all xfail flags that might have been set for it
-# by dg-xfail-if or for the xfail list in dg-do. A procedure that calls
-# this must specify "upvar dg-do-what dg-do-what".
-
-proc skip_test_and_clear_xfail { } {
- global compiler_conditional_xfail_data
- upvar dg-do-what dg-do-what
-
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- if [info exists compiler_conditional_xfail_data] {
- unset compiler_conditional_xfail_data
- }
-}
-
# If this target does not support weak symbols, skip this test.
proc dg-require-weak { args } {
@@ -322,7 +308,7 @@ proc dg-require-weak { args } {
}
if { $weak_available != 1 } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -337,7 +323,7 @@ proc dg-require-visibility { args } {
}
if { $visibility_available != 1 } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -352,7 +338,7 @@ proc dg-require-alias { args } {
}
if { $alias_available < 2 } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -362,7 +348,7 @@ proc dg-require-alias { args } {
proc dg-require-gc-sections { args } {
if { ![ check_gc_sections_available ] } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -371,7 +357,7 @@ proc dg-require-gc-sections { args } {
proc dg-require-profiling { args } {
if { ![ check_profiling_available ${args} ] } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -391,13 +377,13 @@ proc dg-require-dll { args } {
}
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
proc dg-require-iconv { args } {
if { ![ check_iconv_available ${args} ] } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -406,7 +392,7 @@ proc dg-require-iconv { args } {
proc dg-require-named-sections { args } {
if { ![ check_named_sections_available ] } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -416,7 +402,7 @@ proc dg-require-effective-target { args
set args [lreplace $args 0 0]
if { ![is-effective-target [lindex $args 0]] } {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
}
@@ -455,7 +441,7 @@ proc dg-skip-if { args } {
# the original list with "*-*-*".
if [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]] {
upvar dg-do-what dg-do-what
- skip_test_and_clear_xfail
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
# Any value in this variable was left over from an earlier test.
@@ -508,17 +494,24 @@ if { [info procs saved-dg-test] == [list
global additional_sources
global additional_prunes
global errorInfo
+ global compiler_conditional_xfail_data
if { [ catch { eval saved-dg-test $args } errmsg ] } {
set saved_info $errorInfo
set additional_files ""
set additional_sources ""
set additional_prunes ""
+ if [info exists compiler_conditional_xfail_data] {
+ unset compiler_conditional_xfail_data
+ }
error $errmsg $saved_info
}
set additional_files ""
set additional_sources ""
set additional_prunes ""
+ if [info exists compiler_conditional_xfail_data] {
+ unset compiler_conditional_xfail_data
+ }
}
}
More information about the Gcc-patches
mailing list