An entity flag Reachable is described as "defined in labels". It is only
read and written for entities of kind E_Label (the code has necessary
guards for that). There no need for this flag to be specified for all
entities in the generated AST.
Cleanup related to detection of uninitialized scalars with GOTO
statements.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* gen_il-gen-gen_entities.adb (Reachable): Move from
Root_Entity_Type to E_Label.
diff --git a/gcc/ada/gen_il-gen-gen_entities.adb b/gcc/ada/gen_il-gen-gen_entities.adb
--- a/gcc/ada/gen_il-gen-gen_entities.adb
+++ b/gcc/ada/gen_il-gen-gen_entities.adb
@@ -217,7 +217,6 @@ begin -- Gen_IL.Gen.Gen_Entities
Sm (No_Return, Flag),
Sm (Overlays_Constant, Flag),
Sm (Prev_Entity, Node_Id),
- Sm (Reachable, Flag),
Sm (Referenced, Flag),
Sm (Referenced_As_LHS, Flag),
Sm (Referenced_As_Out_Parameter, Flag),
@@ -1241,6 +1240,7 @@ begin -- Gen_IL.Gen.Gen_Entities
-- implicit label declaration, not the occurrence of the label itself,
-- which is simply a direct name referring to the label.
(Sm (Enclosing_Scope, Node_Id),
+ Sm (Reachable, Flag),
Sm (Renamed_Or_Alias, Node_Id)));
Cc (E_Loop, Entity_Kind,