aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2024-09-02 16:08:16 +0200
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-10-08 10:37:11 +0200
commit50f023c0d7d9332c2ead2c95c2f9863600ced4ce (patch)
tree1d8d68b816f9037ae959f98ec4f9697e9be3f980
parentd0e8f58b81d197e5c9d44038ea3887703fef94ba (diff)
downloadgcc-50f023c0d7d9332c2ead2c95c2f9863600ced4ce.zip
gcc-50f023c0d7d9332c2ead2c95c2f9863600ced4ce.tar.gz
gcc-50f023c0d7d9332c2ead2c95c2f9863600ced4ce.tar.bz2
ada: sem_prag.adb: ignore compile_time_{warning,error} in CodePeer mode
GNAT sometimes needs help from the GCC back-end in order to check whether Compile_Time_{Warning,Error} are true. As CodePeer does not have access to a GCC back-end, it is unable to perform these checks. Thus we need to remove said pragmas from the tree. gcc/ada/ChangeLog: * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Turn Compile_Time pragmas into null nodes
-rw-r--r--gcc/ada/sem_prag.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 2d31c71..0d43929 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -8148,6 +8148,11 @@ package body Sem_Prag is
Check_Arg_Is_OK_Static_Expression (Arg2, Standard_String);
Analyze_And_Resolve (Arg1x, Standard_Boolean);
+ if CodePeer_Mode then
+ Rewrite (N, Make_Null_Statement (Loc));
+ return;
+ end if;
+
-- In GNATprove mode, pragma Compile_Time_Error is translated as
-- a Check pragma in GNATprove mode, handled as an assumption in
-- GNATprove. This is correct as the compiler will issue an error