aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorYannick Moy <moy@adacore.com>2023-01-06 11:10:53 +0100
committerMarc Poulhiès <poulhies@adacore.com>2023-05-15 11:36:41 +0200
commit0f7d8f2f669c64529aafb24bfc0b1f59b4958f19 (patch)
tree65befbb326e7c6a66d75b9eeb5427065e2880621 /gcc/ada
parenta372273b63b17c843e93bb179c8e56a270dd9e40 (diff)
downloadgcc-0f7d8f2f669c64529aafb24bfc0b1f59b4958f19.zip
gcc-0f7d8f2f669c64529aafb24bfc0b1f59b4958f19.tar.gz
gcc-0f7d8f2f669c64529aafb24bfc0b1f59b4958f19.tar.bz2
ada: Fix handling of pragma Warnings (Toolname, Off/On)
Pragma Warnings On/Off with a preceding toolname (which could be GNAT or GNATprove) was ignored due an error in accessing the expression of a pragma association in the parser. Now fixed. gcc/ada/ * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to expression in pragma association.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/par-prag.adb9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/ada/par-prag.adb b/gcc/ada/par-prag.adb
index 3a9764a..e78f97d 100644
--- a/gcc/ada/par-prag.adb
+++ b/gcc/ada/par-prag.adb
@@ -1150,13 +1150,14 @@ begin
-------------------------------------
function First_Arg_Is_Matching_Tool_Name return Boolean is
+ Expr : constant Node_Id := Get_Pragma_Arg (Arg1);
begin
- return Nkind (Arg1) = N_Identifier
+ return Nkind (Expr) = N_Identifier
-- Return True if the tool name is GNAT, and we're not in
-- GNATprove or CodePeer mode...
- and then ((Chars (Arg1) = Name_Gnat
+ and then ((Chars (Expr) = Name_Gnat
and then not
(CodePeer_Mode or GNATprove_Mode))
@@ -1164,7 +1165,7 @@ begin
-- mode.
or else
- (Chars (Arg1) = Name_Gnatprove
+ (Chars (Expr) = Name_Gnatprove
and then GNATprove_Mode));
end First_Arg_Is_Matching_Tool_Name;
@@ -1189,7 +1190,7 @@ begin
--------------
function Last_Arg return Node_Id is
- Last_Arg : Node_Id;
+ Last_Arg : Node_Id;
begin
if Arg_Count = 1 then