https://gcc.gnu.org/g:6c244049d986b95658006b265b79ac014b325cbc

commit 6c244049d986b95658006b265b79ac014b325cbc
Author: Patrick O'Neill <patr...@rivosinc.com>
Date:   Tue Jul 30 17:32:09 2024 -0700

    RISC-V: Add deprecation warning to LP64E abi
    
    gcc/ChangeLog:
    
            PR target/116152
            * config/riscv/riscv.cc (riscv_option_override): Add deprecation
            warning.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/riscv/predef-9.c: Add check for warning.
    
    Signed-off-by: Patrick O'Neill <patr...@rivosinc.com>
    (cherry picked from commit 51db1f307ba395ee322de5adadf56c316e82ae00)

Diff:
---
 gcc/config/riscv/riscv.cc                 | 7 +++++++
 gcc/testsuite/gcc.target/riscv/predef-9.c | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index b1a3d0bdd36..f2aad93526c 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -9823,6 +9823,13 @@ riscv_option_override (void)
     error ("ILP32E ABI does not support the %qc extension",
           UNITS_PER_FP_REG > 8 ? 'Q' : 'D');
 
+  if (riscv_abi == ABI_LP64E)
+    {
+      if (warning (OPT_Wdeprecated, "LP64E ABI is marked for deprecation in 
GCC"))
+       inform (UNKNOWN_LOCATION, "If you need LP64E please notify the GCC "
+               "project via https://gcc.gnu.org/PR116152";);
+    }
+
   /* Zfinx require abi ilp32, ilp32e, lp64 or lp64e.  */
   if (TARGET_ZFINX
       && riscv_abi != ABI_ILP32 && riscv_abi != ABI_LP64
diff --git a/gcc/testsuite/gcc.target/riscv/predef-9.c 
b/gcc/testsuite/gcc.target/riscv/predef-9.c
index cc3abc9a741..0d9488529ea 100644
--- a/gcc/testsuite/gcc.target/riscv/predef-9.c
+++ b/gcc/testsuite/gcc.target/riscv/predef-9.c
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-march=rv64em -mabi=lp64e -mno-div -mcmodel=medlow" } */
+/* { dg-warning "LP64E ABI is marked for deprecation in GCC" "" { target *-*-* 
} 0 } */
+/* { dg-note "If you need LP64E please notify the GCC project via 
https://gcc.gnu.org/PR116152"; "" { target *-*-* } 0 } */
 
 int main () {
 #if !defined(__riscv)

Reply via email to