aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorTucker Taft <taft@adacore.com>2022-09-13 15:28:42 +0200
committerMarc Poulhiès <poulhies@adacore.com>2022-09-26 11:02:30 +0200
commit91c706565f941ac7d317951cf3ab186f197252f0 (patch)
tree9edcbfe1f04aca3ede4c097f7f0abe733a7e14cf /gcc/ada/sem_util.adb
parent4450567167e126051e3100de682e09f0902a2106 (diff)
downloadgcc-91c706565f941ac7d317951cf3ab186f197252f0.zip
gcc-91c706565f941ac7d317951cf3ab186f197252f0.tar.gz
gcc-91c706565f941ac7d317951cf3ab186f197252f0.tar.bz2
ada: Make Original_Aspect_Pragma_Name more precise
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.
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r--gcc/ada/sem_util.adb8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index c43a008..9ae082c 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -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));