[Ada] Reset Reachable field when mutating label into loop entity
An entity flag Reachable now only applies to E_Label entities and needs to be explicitly reset when mutating labels into loop entities. Only needed to prevent cascaded errors when compiling a malicious ACATS test with -gnatq (try semantics, even if parse errors). Cleanup related to detection of uninitialized scalars with GOTO statements. gcc/ada/ * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on proper label entities.
This commit is contained in:
parent
fd932b612c
commit
470fff3d8e
@ -4012,6 +4012,7 @@ package body Sem_Ch5 is
|
||||
|
||||
if Ekind (Ent) = E_Label then
|
||||
Reinit_Field_To_Zero (Ent, F_Enclosing_Scope);
|
||||
Reinit_Field_To_Zero (Ent, F_Reachable);
|
||||
Mutate_Ekind (Ent, E_Loop);
|
||||
|
||||
if Nkind (Parent (Ent)) = N_Implicit_Label_Declaration then
|
||||
|
Loading…
x
Reference in New Issue
Block a user