From c8482b1e77a0008986c4019d0d69993f80f03775 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Fri, 28 Jan 2022 10:24:04 +0100 Subject: [Ada] Add guard for making only legal labels unreachable An entity flag Reachable now only applies to E_Label entities. We had an appropriate guard for setting this flag, but not for clearing. 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. --- gcc/ada/sem_ch5.adb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 81767d8..f8e6d0c 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -4383,7 +4383,9 @@ package body Sem_Ch5 is S := First (L); while Present (S) loop - if Nkind (S) = N_Label then + if Nkind (S) = N_Label + and then Ekind (Entity (Identifier (S))) = E_Label + then Set_Reachable (Entity (Identifier (S)), False); end if; -- cgit v1.1