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)