[Ada] Initialize Current_Source_Unit

Message ID 20211109094612.GA830765@adacore.com
State Committed
Commit 80d52cbe59b19577fa215a4357c327e707890e9b
Headers
Series [Ada] Initialize Current_Source_Unit |

Commit Message

Pierre-Marie de Rodat Nov. 9, 2021, 9:46 a.m. UTC
  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.
  

Patch

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