diff options
author | Yannick Moy <moy@adacore.com> | 2023-01-06 11:10:53 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-15 11:36:41 +0200 |
commit | 0f7d8f2f669c64529aafb24bfc0b1f59b4958f19 (patch) | |
tree | 65befbb326e7c6a66d75b9eeb5427065e2880621 /gcc/ada | |
parent | a372273b63b17c843e93bb179c8e56a270dd9e40 (diff) | |
download | gcc-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.adb | 9 |
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 |