[Ada] Implement AI12-0280's interactions with container aggregates
authorSteve Baird <baird@adacore.com>
Wed, 19 Aug 2020 00:38:21 +0000 (17:38 -0700)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 22 Oct 2020 12:11:25 +0000 (08:11 -0400)
commit9a678fedcbabb69b3d44e9ef557709aecfffbeab
tree087552c28a46b9505f709aa0018d017db031baa9
parentd7a6aa4969869138117312ec48a2b995f8252793
[Ada] Implement AI12-0280's interactions with container aggregates

gcc/ada/

* sem_util.adb (Is_Container_Aggregate): A new local predicates
which indicates whether a given expression is a container
aggregate. The implementation of this function is incomplete; in
the unusual case of a record aggregate (i.e., not a container
aggregate) of a type whose Aggregate aspect is specified, the
function will incorrectly return True.
(Immediate_Context_Implies_Is_Potentially_Unevaluated): Improve
handling of aggregate components.
(Is_Repeatedly_Evaluated): Test for container aggregate
components along with existing test for array aggregate
components.
gcc/ada/sem_util.adb