ada: Explicitly analyze and expand null array aggregates
commitd9275e87812a65474be63d565ae4a2eb9a43e9b1
authorPiotr Trojanek <trojanek@adacore.com>
Thu, 7 Sep 2023 20:13:51 +0000 (7 22:13 +0200)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 15 Sep 2023 13:01:30 +0000 (15 15:01 +0200)
treee7e7864de4c237001776a1b1d916d8bc8d22f410
parentb96446e0d0afd0d817f6206efabb1deed4e1ed8e
ada: Explicitly analyze and expand null array aggregates

Null array aggregates have present but empty lists of expressions and
component associations. This confuses the previous code for ordinary
array aggregates, which assumes that if a list of either expressions or
component associations is present, then it is non-empty.

This patch adds explicit handling for null array aggregates to avoid
assertion failures in code for ordinary array aggregates.

gcc/ada/

* exp_aggr.adb (Build_Array_Aggr_Code): Don't build aggregate code
for null array aggregates.
* sem_aggr.adb (Resolve_Array_Aggregate): Don't examine formatting
of a null array aggregate.
gcc/ada/exp_aggr.adb
gcc/ada/sem_aggr.adb