summaryrefslogtreecommitdiff
path: root/debian/patches/pr47818.diff
blob: 98bd107ded285710f940fa5e5958cc4c05727b2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# DP: Fix PR ada/47818: Pragma Assert is rejected with No_Implementation_Pragmas restriction.

Index: b/src/gcc/ada/sem_prag.adb
===================================================================
--- a/src/gcc/ada/sem_prag.adb
+++ b/src/gcc/ada/sem_prag.adb
@@ -16306,7 +16306,16 @@ package body Sem_Prag is
             Type_Id : Node_Id;
 
          begin
-            GNAT_Pragma;
+            --  This could be a rewritten pragma Assert. If it is the case
+            --  then don't check restrictions, because they are different for
+            --  pragma Assert and were already checked.
+
+            if Nkind (Original_Node (N)) /= N_Pragma
+              or else Pragma_Name (Original_Node (N)) /= Name_Assert
+            then
+               GNAT_Pragma;
+            end if;
+
             Check_At_Least_N_Arguments (2);
             Check_At_Most_N_Arguments  (3);
             Check_Optional_Identifier (Arg1, Name_Entity);