aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2024-05-31 00:13:44 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-06-21 10:34:19 +0200
commit8c7ce88c00f9bea9fb6f7e466c8706439fb5b131 (patch)
tree7105c8adf991a03825b88d73e29d720a058b52ba /libcpp
parent9ce1b11e154a930de3ba20b9e26af5631a73c7f3 (diff)
downloadgcc-8c7ce88c00f9bea9fb6f7e466c8706439fb5b131.zip
gcc-8c7ce88c00f9bea9fb6f7e466c8706439fb5b131.tar.gz
gcc-8c7ce88c00f9bea9fb6f7e466c8706439fb5b131.tar.bz2
ada: Fix incorrect handling of packed array with aliased composite components
The problem is that the handling of the interaction between packing and aliased/atomic/independent components of an array type is tied to that of the interaction between a component clause and aliased/atomic/independent components, although the semantics are different: packing is a best effort thing, whereas a component clause must be honored or else an error be given. This decouples the two handlings, but retrofits the separate processing of independent components done in both cases into the common code and changes the error message from "minimum allowed is" to "minimum allowed value is" for the sake of consistency with the aliased/atomic processing. gcc/ada/ * freeze.adb (Freeze_Array_Type): Decouple the handling of the interaction between packing and aliased/atomic components from that of the interaction between a component clause and aliased/ atomic components, and retrofit the processing of the interaction between the two characteristics and independent components into the common processing. gcc/testsuite/ChangeLog: * gnat.dg/atomic10.adb: Adjust.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions