]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Make Original_Aspect_Pragma_Name more precise
authorTucker Taft <taft@adacore.com>
Tue, 13 Sep 2022 13:28:42 +0000 (15:28 +0200)
committerMarc Poulhiès <poulhies@adacore.com>
Mon, 26 Sep 2022 09:02:30 +0000 (11:02 +0200)
This commit makes Original_Aspect_Pragma_Name more precise in cases
where there is a second level of indirection caused by pragmas being
turned into Check pragmas.

gcc/ada/

* sem_util.adb (Original_Aspect_Pragma_Name): Check for Check
pragmas.

gcc/ada/sem_util.adb

index c43a008ae5d6d98f4aef5986b550a34feec97153..9ae082ca2e19c3194172ceffdc35aa2a2519e91b 100644 (file)
@@ -26559,6 +26559,14 @@ package body Sem_Util is
          Item_Nam :=
            Chars (Original_Node (Pragma_Identifier (Original_Node (Item))));
 
+         if Item_Nam = Name_Check then
+            --  Pragma "Check" preserves the original pragma name as its first
+            --  argument.
+            Item_Nam :=
+              Chars (Expression (First (Pragma_Argument_Associations
+                (Original_Node (Item)))));
+         end if;
+
       else
          pragma Assert (Nkind (Item) = N_Aspect_Specification);
          Item_Nam := Chars (Identifier (Item));