https://gcc.gnu.org/g:2aeac7315ee65fd3829fddd4835bb549c69dbda9

commit r17-3241-g2aeac7315ee65fd3829fddd4835bb549c69dbda9
Author: Iain Sandoe <[email protected]>
Date:   Wed Jul 15 08:17:43 2026 +0100

    testsuite, aarch64: Add dg-requires for mabi=ilp32.
    
    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]>

Diff:
---
 gcc/testsuite/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 276c10cd0e86..060cf138b862 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 aarch64_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 eb8d947185a5..e26b2de11e23 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 aarch64_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 976e2db71bfa..3ea630c00266 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 aarch64_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 c79427517d0e..db20adc8566d 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 aarch64_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 cd21f7c06690..340a655a2434 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 aarch64_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 49cb6e10aa5d..f999f5dc40a1 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 aarch64_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 18aa4cfe7f72..6daeafef6a76 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 aarch64_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 99f134e9b691..eb2444204a0d 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 AArch64 target where -mabi=ilp32 can be used.
+# The option is deprecated, but we have active tests.
+
+proc check_effective_target_aarch64_mabi_ilp32 { } {
+  return [check_no_compiler_messages_nocache aarch64_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 { } {

Reply via email to