https://gcc.gnu.org/g:625ea3c6ea1811388d030eddff57cd46c209d49a

commit r15-6921-g625ea3c6ea1811388d030eddff57cd46c209d49a
Author: Wilco Dijkstra <wilco.dijks...@arm.com>
Date:   Thu Jan 9 19:41:14 2025 +0000

    AArch64: Deprecate -mabi=ilp32
    
    ILP32 was originally intended to make porting to AArch64 easier.  Support 
was
    never merged in the Linux kernel or GLIBC, so it has been unsupported for 
many
    years.  There isn't a benefit in keeping unsupported features forever, so
    deprecate it now (and it could be removed in a future release).
    
    gcc:
            * config/aarch64/aarch64.cc (aarch64_override_options): Add warning.
            * doc/invoke.texi: Document -mabi=ilp32 as deprecated.
    
    gcc/testsuite:
            * gcc.target/aarch64/inline-mem-set-pr112804.c: Add -Wno-deprecated.
            * 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.

Diff:
---
 gcc/config/aarch64/aarch64.cc                              | 2 ++
 gcc/doc/invoke.texi                                        | 2 ++
 gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c | 2 +-
 gcc/testsuite/gcc.target/aarch64/pr100518.c                | 2 +-
 gcc/testsuite/gcc.target/aarch64/pr113114.c                | 2 +-
 gcc/testsuite/gcc.target/aarch64/pr80295.c                 | 2 +-
 gcc/testsuite/gcc.target/aarch64/pr94201.c                 | 2 +-
 gcc/testsuite/gcc.target/aarch64/pr94577.c                 | 2 +-
 gcc/testsuite/gcc.target/aarch64/sve/pr108603.c            | 2 +-
 9 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index ad31e9d255c0..1dbbc9c3cf9b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -19356,6 +19356,8 @@ aarch64_override_options (void)
   if (TARGET_ILP32)
     error ("assembler does not support %<-mabi=ilp32%>");
 #endif
+  if (TARGET_ILP32)
+    warning (OPT_Wdeprecated, "%<-mabi=ilp32%> is deprecated");
 
   /* Convert -msve-vector-bits to a VG count.  */
   aarch64_sve_vg = aarch64_convert_sve_vector_bits (aarch64_sve_vector_bits);
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index dd0d2b41a1a9..13afb4a0d0d8 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -21472,6 +21472,8 @@ The default depends on the specific target 
configuration.  Note that
 the LP64 and ILP32 ABIs are not link-compatible; you must compile your
 entire program with the same ABI, and link with a compatible set of libraries.
 
+The @samp{ilp32} model is deprecated.
+
 @opindex mbig-endian
 @item -mbig-endian
 Generate big-endian code.  This is the default when GCC is configured for an
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 fe8414559864..276c10cd0e86 100644
--- a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
+++ b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-finline-stringops -mabi=ilp32 -ftrivial-auto-var-init=zero" 
} */
+/* { dg-options "-finline-stringops -mabi=ilp32 -Wno-deprecated 
-ftrivial-auto-var-init=zero" } */
 
 short m(unsigned k) {
   const unsigned short *n[65];
diff --git a/gcc/testsuite/gcc.target/aarch64/pr100518.c 
b/gcc/testsuite/gcc.target/aarch64/pr100518.c
index 5ca599f5d2e0..177991cfb228 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr100518.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr100518.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mabi=ilp32 -mstrict-align -O2" } */
+/* { 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 5b0383c24359..976e2db71bfa 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr113114.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr113114.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mabi=ilp32 -O -mearly-ldp-fusion -mlate-ldp-fusion" } */
+/* { dg-options "-mabi=ilp32 -Wno-deprecated -O -mearly-ldp-fusion 
-mlate-ldp-fusion" } */
 void foo_n(double *a) {
   int i = 1;
   for (; i < (int)foo_n; i++)
diff --git a/gcc/testsuite/gcc.target/aarch64/pr80295.c 
b/gcc/testsuite/gcc.target/aarch64/pr80295.c
index b3866d8d6a9e..c79427517d0e 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr80295.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr80295.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-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 3b9b79059e02..cd21f7c06690 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr94201.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr94201.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mcmodel=tiny -mabi=ilp32 -fPIC" } */
+/* { dg-options "-mcmodel=tiny -mabi=ilp32 -Wno-deprecated -fPIC" } */
 /* { dg-require-effective-target fpic } */
 
 extern int bar (void *);
diff --git a/gcc/testsuite/gcc.target/aarch64/pr94577.c 
b/gcc/testsuite/gcc.target/aarch64/pr94577.c
index d51799fb0bb6..49cb6e10aa5d 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr94577.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr94577.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mcmodel=large -mabi=ilp32 -fno-pie" } */
+/* { dg-options "-mcmodel=large -mabi=ilp32 -Wno-deprecated -fno-pie" } */
 
 void
 foo ()
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
index a2aea9f0b12b..18aa4cfe7f72 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -mabi=ilp32 -fdata-sections" } */
+/* { dg-options "-O2 -mabi=ilp32 -Wno-deprecated -fdata-sections" } */
 
 int a[128];
 long long *p;

Reply via email to