Uses of Compile_Time_Error and Compile_Time_Warning as configuration
pragmas were detected with a custom check in semantic analysis. Now they
are detected with an existing general check in parser.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_prag.adb (Analyze_Pragma): Remove custom check for
Compile_Time_Error and Compile_Time_Warning pragmas.
* snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
Move beyond Last_Configuration_Pragma_Name.
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -14322,15 +14322,6 @@ package body Sem_Prag is
when Pragma_Compile_Time_Error | Pragma_Compile_Time_Warning =>
GNAT_Pragma;
- -- These pragmas rely on the context. In adc files they raise
- -- Constraint_Error. Ban them from use as configuration pragmas
- -- even in cases where such a use could work.
-
- if Is_Configuration_Pragma then
- Error_Pragma
- ("pragma% is not allowed as a configuration pragma");
- end if;
-
Process_Compile_Time_Warning_Or_Error;
-----------------------------
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -414,8 +414,6 @@ package Snames is
Name_Check_Float_Overflow : constant Name_Id := N + $; -- GNAT
Name_Check_Name : constant Name_Id := N + $; -- GNAT
Name_Check_Policy : constant Name_Id := N + $; -- GNAT
- Name_Compile_Time_Error : constant Name_Id := N + $; -- GNAT
- Name_Compile_Time_Warning : constant Name_Id := N + $; -- GNAT
Name_Component_Alignment : constant Name_Id := N + $; -- GNAT
Name_Convention_Identifier : constant Name_Id := N + $; -- GNAT
Name_Debug_Policy : constant Name_Id := N + $; -- GNAT
@@ -508,6 +506,8 @@ package Snames is
Name_Check : constant Name_Id := N + $; -- GNAT
Name_Comment : constant Name_Id := N + $; -- GNAT
Name_Common_Object : constant Name_Id := N + $; -- GNAT
+ Name_Compile_Time_Error : constant Name_Id := N + $; -- GNAT
+ Name_Compile_Time_Warning : constant Name_Id := N + $; -- GNAT
Name_Complete_Representation : constant Name_Id := N + $; -- GNAT
Name_Complex_Representation : constant Name_Id := N + $; -- GNAT
Name_Constant_After_Elaboration : constant Name_Id := N + $; -- GNAT
@@ -1738,8 +1738,6 @@ package Snames is
Pragma_Check_Float_Overflow,
Pragma_Check_Name,
Pragma_Check_Policy,
- Pragma_Compile_Time_Error,
- Pragma_Compile_Time_Warning,
Pragma_Component_Alignment,
Pragma_Convention_Identifier,
Pragma_Debug_Policy,
@@ -1819,6 +1817,8 @@ package Snames is
Pragma_Check,
Pragma_Comment,
Pragma_Common_Object,
+ Pragma_Compile_Time_Error,
+ Pragma_Compile_Time_Warning,
Pragma_Complete_Representation,
Pragma_Complex_Representation,
Pragma_Constant_After_Elaboration,