Tested on aarch64-linux, darwin.  OK for trunk?
thanks
Iain

--- 8< ---

Not all targets have this support, add a dg-requires for cases that need
it.  Add a target supports for it and use it.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/inline-mem-set-pr112804.c: Require
        mabi-ilp32 support.
        * gcc.target/aarch64/pr100518.c: Likewise.
        * gcc.target/aarch64/pr113114.c: Likewise.
        * gcc.target/aarch64/pr80295.c: Likewise.
        * gcc.target/aarch64/pr94201.c: Likewise.
        * gcc.target/aarch64/pr94577.c: Likewise.
        * gcc.target/aarch64/sve/pr108603.c: Likewise.
        * lib/target-supports.exp: Add target supports for mabi=ilp32.

Signed-off-by: Iain Sandoe <[email protected]>
---
 .../gcc.target/aarch64/inline-mem-set-pr112804.c       |  1 +
 gcc/testsuite/gcc.target/aarch64/pr100518.c            |  1 +
 gcc/testsuite/gcc.target/aarch64/pr113114.c            |  1 +
 gcc/testsuite/gcc.target/aarch64/pr80295.c             |  1 +
 gcc/testsuite/gcc.target/aarch64/pr94201.c             |  1 +
 gcc/testsuite/gcc.target/aarch64/pr94577.c             |  1 +
 gcc/testsuite/gcc.target/aarch64/sve/pr108603.c        |  1 +
 gcc/testsuite/lib/target-supports.exp                  | 10 ++++++++++
 8 files changed, 17 insertions(+)

diff --git a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c 
b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
index 276c10cd0e8..058c6f88e7c 100644
--- a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
+++ b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-finline-stringops -mabi=ilp32 -Wno-deprecated 
-ftrivial-auto-var-init=zero" } */
 
 short m(unsigned k) {
diff --git a/gcc/testsuite/gcc.target/aarch64/pr100518.c 
b/gcc/testsuite/gcc.target/aarch64/pr100518.c
index eb8d947185a..47b8000e316 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr100518.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr100518.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-mabi=ilp32 -Wno-deprecated -mstrict-align -O2" } */
 
 int unsigned_range_min, unsigned_range_max, a11___trans_tmp_1;
diff --git a/gcc/testsuite/gcc.target/aarch64/pr113114.c 
b/gcc/testsuite/gcc.target/aarch64/pr113114.c
index 976e2db71bf..bbafd2fdbc7 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr113114.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr113114.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-mabi=ilp32 -Wno-deprecated -O -mearly-ldp-fusion 
-mlate-ldp-fusion" } */
 void foo_n(double *a) {
   int i = 1;
diff --git a/gcc/testsuite/gcc.target/aarch64/pr80295.c 
b/gcc/testsuite/gcc.target/aarch64/pr80295.c
index c79427517d0..61847958918 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr80295.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr80295.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-mabi=ilp32 -Wno-deprecated" } */
 
 void f (void *b) 
diff --git a/gcc/testsuite/gcc.target/aarch64/pr94201.c 
b/gcc/testsuite/gcc.target/aarch64/pr94201.c
index cd21f7c0669..5ec1d5bb82c 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr94201.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr94201.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-mcmodel=tiny -mabi=ilp32 -Wno-deprecated -fPIC" } */
 /* { dg-require-effective-target fpic } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/pr94577.c 
b/gcc/testsuite/gcc.target/aarch64/pr94577.c
index 49cb6e10aa5..2f5aae66314 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr94577.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr94577.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-mcmodel=large -mabi=ilp32 -Wno-deprecated -fno-pie" } */
 
 void
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
index 18aa4cfe7f7..bf20774e7e2 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target arm_mabi_ilp32 } */
 /* { dg-options "-O2 -mabi=ilp32 -Wno-deprecated -fdata-sections" } */
 
 int a[128];
diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 99f134e9b69..75afa807703 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -14136,6 +14136,16 @@ proc 
check_effective_target_arm_thumb2_ok_no_arm_v8_1m_lob { } {
     return 0
 }
 
+# Return 1 if this is an ARM target where -mabi=ilp32 can be used.
+# The option is deprecated, but we have active tests.
+
+proc check_effective_target_arm_mabi_ilp32 { } {
+  return [check_no_compiler_messages_nocache arm_mabi_ilp32 assembly {
+     int main() { return 0; }
+  } "-mabi=ilp32 -Wno-deprecated"]
+}
+
+
 # Returns 1 if the target is using glibc, 0 otherwise.
 
 proc check_effective_target_glibc { } {
-- 
2.50.1 (Apple Git-155)

Reply via email to