From: Piotr Trojanek Date: Fri, 28 Jan 2022 09:24:04 +0000 (+0100) Subject: [Ada] Add guard for making only legal labels unreachable X-Git-Tag: basepoints/gcc-14~6916 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8482b1e77a0008986c4019d0d69993f80f03775;p=thirdparty%2Fgcc.git [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. --- diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 81767d8c324..f8e6d0c3e30 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;