aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtienne Servais <servais@adacore.com>2021-10-26 17:00:24 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-17 08:25:43 +0000
commit83bfddac6feff4dcacc2b93e2357629a3bfa971b (patch)
treebc2ac0e5a2fda358fb6550a2586fd59d7d17d41c
parentd678717ab233610588ae15fcddeb20b39ac7daf5 (diff)
downloadgcc-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.ads2
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.