aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.cc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2024-11-21 15:28:43 +0100
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-12-12 10:58:01 +0100
commit481fcc676950ee279d37f1cec84834dbb2aba87b (patch)
tree856879229c48b4b04e6a73519097e9562f8c479a /gcc/value-range.cc
parentbbcf4d2ab6f4d4e97605a2754051fd53c9fb22c2 (diff)
downloadgcc-481fcc676950ee279d37f1cec84834dbb2aba87b.zip
gcc-481fcc676950ee279d37f1cec84834dbb2aba87b.tar.gz
gcc-481fcc676950ee279d37f1cec84834dbb2aba87b.tar.bz2
ada: Elide the copy for bit-packed aggregates in object declarations
The in-place expansion has been historically disabled for them, but there does not seem to be any good reason left for this. However, this requires a small trick in order for the expanded code not to be flagged as using the object uninitialized by the code generator. gcc/ada/ChangeLog: * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Clear the component referenced on the right-hand side of the first assignment generated for a bit-packed array, if any. (Expand_Array_Aggregate): Do not exclude aggregates of bit-packed array types in object declarations from in-place expansion. * sem_eval.adb (Eval_Indexed_Component): Do not attempt a constant evaluation for a bit-packed array type.
Diffstat (limited to 'gcc/value-range.cc')
0 files changed, 0 insertions, 0 deletions