summaryrefslogtreecommitdiff
path: root/debian/patches/pr47818.diff
blob: d4fd6d280d1aa7a98cc1c03743899e2eb5b8c268 (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
@@ -7831,7 +7831,16 @@
             --  Set True if category of assertions referenced by Name enabled
 
          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_Name);