[Ada] Reset Reachable field when mutating label into loop entity
authorPiotr Trojanek <trojanek@adacore.com>
Fri, 28 Jan 2022 17:12:18 +0000 (18:12 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 11 May 2022 08:53:19 +0000 (08:53 +0000)
commit470fff3d8e48ede98f0a74a1beb9eafc7452f4b4
tree9f944bd85b6e1bcb4bf7d99b628a624e75f8643b
parentfd932b612c3873b930b2e410fb5490a6b5252ccb
[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.
gcc/ada/sem_ch5.adb