aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/scans.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/scans.ads')
-rw-r--r--gcc/ada/scans.ads25
1 files changed, 16 insertions, 9 deletions
diff --git a/gcc/ada/scans.ads b/gcc/ada/scans.ads
index 1120f06..6f9bcb8 100644
--- a/gcc/ada/scans.ads
+++ b/gcc/ada/scans.ads
@@ -345,36 +345,43 @@ package Scans is
-- Note: these variables can only be referenced during the parsing of a
-- file. Reference to any of them from Sem or the expander is wrong.
- Scan_Ptr : Source_Ptr;
+ -- These variables are initialized as required by Scn.Initialize_Scanner,
+ -- and should not be referenced before such a call. However, there are
+ -- situations in which these variables are saved and restored, and this
+ -- may happen before the first Initialize_Scanner call, resulting in the
+ -- assignment of invalid values. To avoid this, and allow building with
+ -- the -gnatVa switch, we initialize some variables to known valid values.
+
+ Scan_Ptr : Source_Ptr := No_Location; -- init for -gnatVa
-- Current scan pointer location. After a call to Scan, this points
-- just past the end of the token just scanned.
- Token : Token_Type;
+ Token : Token_Type := No_Token; -- init for -gnatVa
-- Type of current token
- Token_Ptr : Source_Ptr;
+ Token_Ptr : Source_Ptr := No_Location; -- init for -gnatVa
-- Pointer to first character of current token
- Current_Line_Start : Source_Ptr;
- -- Pointer to first character of line containing current token
+ Current_Line_Start : Source_Ptr := No_Location; -- init for -gnatVa
+ -- Pointer to first character of line containing current token.
- Start_Column : Column_Number;
+ Start_Column : Column_Number := No_Column_Number; -- init for -gnatVa
-- Starting column number (zero origin) of the first non-blank character
-- on the line containing the current token. This is used for error
-- recovery circuits which depend on looking at the column line up.
- Type_Token_Location : Source_Ptr;
+ Type_Token_Location : Source_Ptr := No_Location; -- init for -gnatVa
-- Within a type declaration, gives the location of the TYPE keyword that
-- opened the type declaration. Used in checking the end column of a record
-- declaration, which can line up either with the TYPE keyword, or with the
-- start of the line containing the RECORD keyword.
- Checksum : Word;
+ Checksum : Word := 0; -- init for -gnatVa
-- Used to accumulate a CRC representing the tokens in the source
-- file being compiled. This CRC includes only program tokens, and
-- excludes comments.
- First_Non_Blank_Location : Source_Ptr;
+ First_Non_Blank_Location : Source_Ptr := No_Location; -- init for -gnatVa
-- Location of first non-blank character on the line containing the
-- current token (i.e. the location of the character whose column number
-- is stored in Start_Column).