gcc.target/cris/cris.exp (check_effective_target_cc0): New.
authorHans-Peter Nilsson <hp@axis.com>
Mon, 10 Feb 2020 16:25:56 +0000 (17:25 +0100)
committerHans-Peter Nilsson <hp@axis.com>
Mon, 10 Feb 2020 16:25:56 +0000 (17:25 +0100)
To simplify separating the cc0-specific xfails, let's have an
effective-target.

This likely fits all targets.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/cris/cris.exp

index 5441fb16debd7d0144473b15c35971389cf16ba6..1b48abd41f46d6a1708e8d33166f420e92107221 100644 (file)
@@ -1,3 +1,7 @@
+2020-02-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/cris.exp (check_effective_target_cc0): New.
+
 2020-02-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/91913
index c85c849e860b9e5047d30f5ad90da95bce389580..52164514d3d0f6d81eab4bb6135a5aca8ff85535 100644 (file)
@@ -25,6 +25,17 @@ if { ![istarget cris-*-*] && ![istarget crisv32-*-*] } then {
 # Load support procs.
 load_lib gcc-dg.exp
 
+# For the time being, provide a means to tell whether the target is "cc0".
+# Some targets may split cbranch and cstore late, but for a cc0-target,
+# all the fun happens at "final" time, so this should be a safe time for
+# a scan.
+proc check_effective_target_cc0 { } {
+    return [check_no_messages_and_pattern cc0 "\\(cc0\\)" rtl-final {
+       extern void g (void);
+       void f (int *p, int *q) { *q = *p == 42; if (*p == 7) g (); }
+    }]
+}
+
 # If a testcase doesn't have special options, use these.
 global DEFAULT_CFLAGS
 if ![info exists DEFAULT_CFLAGS] then {