From: Iain Sandoe Date: Sat, 13 Jan 2024 13:30:08 +0000 (+0000) Subject: testsuite, jit: Allow for target-specific assembler scans. X-Git-Tag: basepoints/gcc-15~1904 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0e3ef18a047d54d63be91d82a55448851353260;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/testsuite/jit.dg/jit.exp b/gcc/testsuite/jit.dg/jit.exp index 56972064d305..286cfa8192a5 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"