]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite, jit: Allow for target-specific assembler scans.
authorIain Sandoe <iain@sandoe.co.uk>
Sat, 13 Jan 2024 13:30:08 +0000 (13:30 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Thu, 18 Jan 2024 14:00:58 +0000 (14:00 +0000)
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>
gcc/testsuite/jit.dg/jit.exp

index 56972064d305f11af0ec4ec775322a4d42498157..286cfa8192a59fedb02652e604bdf737fe986260 100644 (file)
@@ -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"