https://gcc.gnu.org/g:a64b0db23502ee39893aa4a4d515e97b24cef7d1

commit r17-720-ga64b0db23502ee39893aa4a4d515e97b24cef7d1
Author: Bob Duff <[email protected]>
Date:   Tue Jan 6 09:42:09 2026 -0500

    ada: Tech debt: VAST-related cleanup of Save_Scan_State
    
    Minor cleanup; follow-on to previous change titled
    "clean up miscellaneous VAST issues".
    
    Use an aggregate in Save_Scan_State. This has the usual
    advantage of an aggregate over a series of individual
    assignments -- full coverage checking.
    
    gcc/ada/ChangeLog:
    
            * scans.adb (Save_Scan_State): Use an aggregate.

Diff:
---
 gcc/ada/scans.adb | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/gcc/ada/scans.adb b/gcc/ada/scans.adb
index af6ec550cfa6..5c1b6ccba77f 100644
--- a/gcc/ada/scans.adb
+++ b/gcc/ada/scans.adb
@@ -169,31 +169,29 @@ package body Scans is
 
    procedure Save_Scan_State (Saved_State : out Saved_Scan_State) is
    begin
-      Saved_State.Save_Scan_Ptr := Scan_Ptr;
-      Saved_State.Save_Token := Token;
-      Saved_State.Save_Token_Ptr := Token_Ptr;
-      Saved_State.Save_Current_Line_Start := Current_Line_Start;
-      Saved_State.Save_Start_Column := Start_Column;
-      Saved_State.Save_Checksum := Checksum;
-      Saved_State.Save_First_Non_Blank_Location := First_Non_Blank_Location;
-
       --  Check that we're not saving a bogus Token_Node
 
       pragma Assert
         ((Token_Node /= Empty) = (Token in Token_Class_Lit_Or_Name));
-      Saved_State.Save_Token_Node := Token_Node;
 
-      Saved_State.Save_Token_Name := Token_Name;
-      Saved_State.Save_Prev_Token := Prev_Token;
-      Saved_State.Save_Prev_Token_Ptr := Prev_Token_Ptr;
+      Saved_State :=
+        (Save_Scan_Ptr => Scan_Ptr,
+         Save_Token => Token,
+         Save_Token_Ptr => Token_Ptr,
+         Save_Current_Line_Start => Current_Line_Start,
+         Save_Start_Column => Start_Column,
+         Save_Checksum => Checksum,
+         Save_First_Non_Blank_Location => First_Non_Blank_Location,
+         Save_Token_Node => Token_Node,
+         Save_Token_Name => Token_Name,
+         Save_Prev_Token => Prev_Token,
+         Save_Prev_Token_Ptr => Prev_Token_Ptr);
    end Save_Scan_State;
 
    ------------------------
    -- Restore_Scan_State --
    ------------------------
 
-   --  use Output, VAST, Atree;
-
    procedure Restore_Scan_State (Saved_State : Saved_Scan_State) is
    begin
       Scan_Ptr := Saved_State.Save_Scan_Ptr;

Reply via email to