]> gcc.gnu.org Git - gcc.git/commit
ada: Fix (again) incorrect handling of Aggregate aspect
authorMarc Poulhiès <poulhies@adacore.com>
Mon, 6 Mar 2023 11:15:13 +0000 (12:15 +0100)
committerEric Botcazou <ebotcazou@adacore.com>
Wed, 13 Mar 2024 15:34:54 +0000 (16:34 +0100)
commit6c8e7aa2ce1d51050c59c1492be2a29890d2c172
treeb0e2c49c33107915a297ab2cbd0e670f7c7f1a56
parentbc97504e021fd8719fa6d9e31c311b38e87a3900
ada: Fix (again) incorrect handling of Aggregate aspect

Previous fix stopped the processing of the Aggregate aspect early,
skipping the call to Record_Rep_Item, making later call to
Resolve_Container_Aggregate fail.

Also, the previous fix would not handle correctly the case where the
type is private and the check for non-array type can only be done at the
freeze point with the full type.

Adapt the resolving of the aspect when the input is not correct and the
parameters can't be resolved.

gcc/ada/

* sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item.
(Check_Aspect_At_Freeze_Point): Check the aspect is specified on
non-array type only...
(Analyze_One_Aspect): ... instead of doing it too early here.
* sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case
the parameters failed to resolve.
gcc/ada/sem_aggr.adb
gcc/ada/sem_ch13.adb
This page took 0.061613 seconds and 6 git commands to generate.