diff options
author | Etienne Servais <servais@adacore.com> | 2021-10-26 17:00:24 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-17 08:25:43 +0000 |
commit | 83bfddac6feff4dcacc2b93e2357629a3bfa971b (patch) | |
tree | bc2ac0e5a2fda358fb6550a2586fd59d7d17d41c | |
parent | d678717ab233610588ae15fcddeb20b39ac7daf5 (diff) | |
download | gcc-83bfddac6feff4dcacc2b93e2357629a3bfa971b.zip gcc-83bfddac6feff4dcacc2b93e2357629a3bfa971b.tar.gz gcc-83bfddac6feff4dcacc2b93e2357629a3bfa971b.tar.bz2 |
[Ada] Initialize Compiler_State to avoid Constraint_Error
When building gnat1 with `-gnatVa` as we do locally, rules like: `gcc -c
-gnatyM79 <any adb file with lines longer than 79>` will throw a
constraint error as `lib.compiler_state` is initialized by par.adb, ie
after scanning. Therefore any error_msg thrown during scanning will
perform this uninitialized read (which raises a Constraint_Error when
the compiler was compiled with `-gnatVa`).
Initialize this flag to `Parsing`.
gcc/ada/
* lib.ads: initialize `Compiler_State` to `Parsing`.
-rw-r--r-- | gcc/ada/lib.ads | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/lib.ads b/gcc/ada/lib.ads index 4a79913..e29d42a 100644 --- a/gcc/ada/lib.ads +++ b/gcc/ada/lib.ads @@ -39,7 +39,7 @@ package Lib is -- Type to hold list of indirect references to unit number table type Compiler_State_Type is (Parsing, Analyzing); - Compiler_State : Compiler_State_Type; + Compiler_State : Compiler_State_Type := Parsing; -- Indicates current state of compilation. This is used to implement the -- function In_Extended_Main_Source_Unit. |