From 3a02b4697e38e506c2856c104261cfe87550548a Mon Sep 17 00:00:00 2001 From: Bob Duff Date: Wed, 14 Aug 2019 09:51:57 +0000 Subject: [PATCH] [Ada] Tweak the sloc of Compile_Time_Warning warnings 2019-08-14 Bob Duff gcc/ada/ * sem_prag.adb (Validate_Compile_Time_Warning_Error): Attach the warning to the Sloc of the first pragma argument, rather than to the pragma itself. This is to make pragmas processed after the back end use the same Sloc as pragmas processed earlier, in the front end. There's no reason for this discrepancy, and it hinders further work on this ticket. From-SVN: r274461 --- gcc/ada/ChangeLog | 9 +++++++++ gcc/ada/sem_prag.adb | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 42d342fe876..773b70523fd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2019-08-14 Bob Duff + + * sem_prag.adb (Validate_Compile_Time_Warning_Error): Attach the + warning to the Sloc of the first pragma argument, rather than to + the pragma itself. This is to make pragmas processed after the + back end use the same Sloc as pragmas processed earlier, in the + front end. There's no reason for this discrepancy, and it + hinders further work on this ticket. + 2019-08-14 Bob Duff * sem.ads (Inside_A_Generic): Remove the ??? comment. diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 0f822bf0238..1db39f4a7f3 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -336,8 +336,8 @@ package body Sem_Prag is -- and alignment values performed by the back end. -- Note: the reason we store a Source_Ptr value instead of a Node_Id is - -- that by the time Validate_Unchecked_Conversions is called, Sprint will - -- already have modified all Sloc values if the -gnatD option is set. + -- that by the time Validate_Compile_Time_Warning_Errors is called, Sprint + -- will already have modified all Sloc values if the -gnatD option is set. type CTWE_Entry is record Eloc : Source_Ptr; @@ -32147,9 +32147,10 @@ package body Sem_Prag is ----------------------------------------- procedure Validate_Compile_Time_Warning_Error (N : Node_Id) is + Arg1 : constant Node_Id := First (Pragma_Argument_Associations (N)); begin Compile_Time_Warnings_Errors.Append - (New_Val => CTWE_Entry'(Eloc => Sloc (N), + (New_Val => CTWE_Entry'(Eloc => Sloc (Arg1), Scope => Current_Scope, Prag => N)); end Validate_Compile_Time_Warning_Error; -- 2.30.2