* [Ada] Initialize Current_Source_Unit
@ 2021-11-09 9:46 Pierre-Marie de Rodat
0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2021-11-09 9:46 UTC (permalink / raw)
To: gcc-patches; +Cc: Etienne Servais
[-- Attachment #1: Type: text/plain, Size: 269 bytes --]
Preprocessing may call Error_Msg though Current_Source_Unit is not
initialized. When gnat1 is compiled with gnatVa, this leads to a
Constraint_Error.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sinput.ads: Initialize Current_Source_Unit to No_Unit.
[-- Attachment #2: patch.diff --]
[-- Type: text/x-diff, Size: 963 bytes --]
diff --git a/gcc/ada/sinput.ads b/gcc/ada/sinput.ads
--- a/gcc/ada/sinput.ads
+++ b/gcc/ada/sinput.ads
@@ -412,10 +412,10 @@ package Sinput is
-- Initialized so that some tools (such as gprbuild) can be built with
-- -gnatVa and pragma Initialize_Scalars without problems.
- Current_Source_Unit : Unit_Number_Type;
- -- Unit number of source file currently being scanned. The special value
- -- of No_Unit indicates that the configuration pragma file is currently
- -- being scanned (this has no entry in the unit table).
+ Current_Source_Unit : Unit_Number_Type := No_Unit;
+ -- Unit number of source file currently being scanned. Initialized to
+ -- No_Unit for pre-processing and the configuration pragma file scanning,
+ -- since both stages have no corresponding entry in the unit table.
Source_gnat_adc : Source_File_Index := No_Source_File;
-- This is set if a gnat.adc file is present to reference this file
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-09 9:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-09 9:46 [Ada] Initialize Current_Source_Unit Pierre-Marie de Rodat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).