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)