From: Yannick Moy <m...@adacore.com> CodePeer issues a false alarm when reading local entity Component later if not initialized by default. Fix this.
gcc/ada/ * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and assertion that clarifies when we reassigned to a useful value. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_aggr.adb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb index 858ae635fc2..fd0779e66d7 100644 --- a/gcc/ada/sem_aggr.adb +++ b/gcc/ada/sem_aggr.adb @@ -6004,6 +6004,7 @@ package body Sem_Aggr is end if; while Present (Selectr) loop + Component := Empty; New_Assoc := First (New_Assoc_List); while Present (New_Assoc) loop Component := First (Choices (New_Assoc)); @@ -6019,6 +6020,11 @@ package body Sem_Aggr is Next (New_Assoc); end loop; + -- If we found an association, then this is a legal component + -- of the type in question. + + pragma Assert (if Present (New_Assoc) then Present (Component)); + -- If no association, this is not a legal component of the type -- in question, unless its association is provided with a box. -- 2.40.0