aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2020-01-20 19:38:12 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2020-01-23 09:19:16 +0000
commit4c33b2daeb5a87aedef77993971db1a1a1c291e6 (patch)
treee9f3c076eac4a89f2a8604a93bacd5fbb2497841 /gcc/testsuite/lib
parentccb68179642cf7ba5ee05a0d8571a95d0145e3a2 (diff)
downloadgcc-4c33b2daeb5a87aedef77993971db1a1a1c291e6.zip
gcc-4c33b2daeb5a87aedef77993971db1a1a1c291e6.tar.gz
gcc-4c33b2daeb5a87aedef77993971db1a1a1c291e6.tar.bz2
testsuite: Add target/xfail argument to check-function-bodies
check-function-bodies allows individual function tests to be annotated with target/xfail selectors, but sometimes it's useful to have the same selector for all functions. 2020-01-23 Richard Sandiford <richard.sandiford@arm.com> gcc/ * doc/sourcebuild.texi (check-function-bodies): Add an optional target/xfail selector. gcc/testsuite/ * lib/scanasm.exp (check-function-bodies): Add an optional target/xfail selector.
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r--gcc/testsuite/lib/scanasm.exp18
1 files changed, 14 insertions, 4 deletions
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index ec91788..5ca58d4 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -604,7 +604,7 @@ proc check_function_body { functions name body_regexp } {
# Check the implementations of functions against expected output. Used as:
#
-# { dg-do { check-function-bodies PREFIX TERMINATOR[ OPTION] } }
+# { dg-do { check-function-bodies PREFIX TERMINATOR[ OPTION[ SELECTOR]] } }
#
# See sourcebuild.texi for details.
@@ -612,11 +612,11 @@ proc check-function-bodies { args } {
if { [llength $args] < 2 } {
error "too few arguments to check-function-bodies"
}
- if { [llength $args] > 3 } {
+ if { [llength $args] > 4 } {
error "too many arguments to check-function-bodies"
}
- if { [llength $args] == 3 } {
+ if { [llength $args] >= 3 } {
set required_flag [lindex $args 2]
upvar 2 dg-extra-tool-flags extra_tool_flags
@@ -631,6 +631,16 @@ proc check-function-bodies { args } {
}
}
+ set xfail_all 0
+ if { [llength $args] >= 4 } {
+ switch [dg-process-target [lindex $args 3]] {
+ "S" { }
+ "N" { return }
+ "F" { set xfail_all 1 }
+ "P" { }
+ }
+ }
+
set testcase [testname-for-summary]
# The name might include a list of options; extract the file name.
set filename [lindex $testcase 0]
@@ -694,7 +704,7 @@ proc check-function-bodies { args } {
}
} elseif { [string equal -length $terminator_len $line $terminator] } {
if { ![string equal $selector "N"] } {
- if { [string equal $selector "F"] } {
+ if { $xfail_all || [string equal $selector "F"] } {
setup_xfail "*-*-*"
}
set testname "$testcase check-function-bodies $function_name"