[Ada] Tweak the sloc of Compile_Time_Warning warnings
authorBob Duff <duff@adacore.com>
Wed, 14 Aug 2019 09:51:57 +0000 (09:51 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 14 Aug 2019 09:51:57 +0000 (09:51 +0000)
2019-08-14  Bob Duff  <duff@adacore.com>

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
gcc/ada/sem_prag.adb

index 42d342fe876969c6b88c54e77993c2046d8293f7..773b70523fdc551bda40a0ee48d04de917afc6ff 100644 (file)
@@ -1,3 +1,12 @@
+2019-08-14  Bob Duff  <duff@adacore.com>
+
+       * 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  <duff@adacore.com>
 
        * sem.ads (Inside_A_Generic): Remove the ??? comment.
index 0f822bf0238744e491539ed4222569ee92d4cbe9..1db39f4a7f303e45c9c081d740dbbeaea540bc56 100644 (file)
@@ -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;