]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Disable Equivalent_Array_Aggregate optimization if predicates involved
authorSteve Baird <baird@adacore.com>
Sat, 9 Mar 2024 00:17:41 +0000 (16:17 -0800)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 17 May 2024 08:21:04 +0000 (10:21 +0200)
commit591ddf34a1e759560d89627eefae1d0e13b61ee8
tree8dc3f2d58bcc587437a9f1a0f2d1808b8a039cbf
parentd87d0f331523684af0c975afa95232e9bf7070f6
ada: Disable Equivalent_Array_Aggregate optimization if predicates involved

In most paths, the function Build_Equivalent_Record_Aggregate was already
testing Has_Predicates for a given component type and conditionally returning
an Empty result. This is also needed in the case of a scalar component type.
Without it, we can build corrupt trees that fail use-before-definition
detection checks in gigi.

gcc/ada/

* exp_ch3.adb (Build_Equivalent_Record_Aggregate): Add
Has_Predicates test for a scalar component to match what is
already done for other kinds of components.
gcc/ada/exp_ch3.adb