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
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