[gcc r14-8235] testsuite, jit: Allow for target-specific assembler scans.

Iain D Sandoe iains@gcc.gnu.org
Thu Jan 18 14:01:05 GMT 2024


https://gcc.gnu.org/g:e0e3ef18a047d54d63be91d82a55448851353260

commit r14-8235-ge0e3ef18a047d54d63be91d82a55448851353260
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sat Jan 13 13:30:08 2024 +0000

    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>

Diff:
---
 gcc/testsuite/jit.dg/jit.exp | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gcc/testsuite/jit.dg/jit.exp b/gcc/testsuite/jit.dg/jit.exp
index 56972064d30..286cfa8192a 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"


More information about the Gcc-cvs mailing list