aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/jit.dg
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2024-01-13 13:30:08 +0000
committerIain Sandoe <iain@sandoe.co.uk>2024-01-18 14:00:58 +0000
commite0e3ef18a047d54d63be91d82a55448851353260 (patch)
tree6f4423571f367ca5205f3aec6bbdf47579080331 /gcc/testsuite/jit.dg
parent2b0abfd3f8dbe3e9af79bb6bdc06d727d36f1946 (diff)
downloadgcc-e0e3ef18a047d54d63be91d82a55448851353260.zip
gcc-e0e3ef18a047d54d63be91d82a55448851353260.tar.gz
gcc-e0e3ef18a047d54d63be91d82a55448851353260.tar.bz2
testsuite, jit: Allow for target-specific assembler scans.
If we want to support multiple object formats and to allow for scan-assembler tests, we need to make it possible to adjust the tests on a per-target basis. This adds similar mechamisms to jit-verify-assembler-output{,-not} to those used for the general scan-assembler dg directives. As an aside; it would, perhaps, be possible to integrate this more with scanasm.exp (which would also give access to function body scanning) but I did not attempt that for this patch. After this, we can accept things like: ... { jit-verify-assembler-output-not "......" { target { ! *-*-darwin* } } } } or ... { jit-verify-assembler-output "......" { target *-*-darwin* } } } gcc/testsuite/ChangeLog: * jit.dg/jit.exp: Accept target clauses in jit-verify-assembler handling. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
Diffstat (limited to 'gcc/testsuite/jit.dg')
-rw-r--r--gcc/testsuite/jit.dg/jit.exp28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/jit.dg/jit.exp b/gcc/testsuite/jit.dg/jit.exp
index 5697206..286cfa8 100644
--- a/gcc/testsuite/jit.dg/jit.exp
+++ b/gcc/testsuite/jit.dg/jit.exp
@@ -875,9 +875,23 @@ proc jit-verify-assembler { args } {
proc jit-verify-assembler-output { args } {
verbose "jit-verify-assembler: $args"
+ if { [llength $args] > 3 } {
+ error "jit-verify-assembler-output: too many arguments"
+ return
+ }
+
set dg-output-text [lindex $args 0]
verbose "dg-output-text: ${dg-output-text}"
+ if { [llength $args] >= 2 } {
+ switch [dg-process-target [lindex $args 1]] {
+ "S" { }
+ "N" { return }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
+ }
+ }
+
upvar 2 name name
verbose "name: $name"
@@ -907,9 +921,23 @@ proc jit-verify-assembler-output { args } {
proc jit-verify-assembler-output-not { args } {
verbose "jit-verify-assembler: $args"
+ if { [llength $args] > 3 } {
+ error "jit-verify-assembler-output-not: too many arguments"
+ return
+ }
+
set dg-output-text [lindex $args 0]
verbose "dg-output-text: ${dg-output-text}"
+ if { [llength $args] >= 2 } {
+ switch [dg-process-target [lindex $args 1]] {
+ "S" { }
+ "N" { return }
+ "F" { setup_xfail "*-*-*" }
+ "P" { }
+ }
+ }
+
upvar 2 name name
verbose "name: $name"