diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2025-04-07 10:33:52 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2025-04-07 10:35:38 +0200 |
commit | f085dbf97ed4445830127c955909ff2b887ded69 (patch) | |
tree | 872fe7ad451fa659ee2428de30053726f2b2468e /libjava/javax/swing/Spring$3.h | |
parent | 0c63c7524bd523ea82933e90689b63d80e16d67e (diff) | |
download | gcc-f085dbf97ed4445830127c955909ff2b887ded69.zip gcc-f085dbf97ed4445830127c955909ff2b887ded69.tar.gz gcc-f085dbf97ed4445830127c955909ff2b887ded69.tar.bz2 |
Ada: Fix wrong 'Access to aliased constrained array of controlled type
For technical reasons, the recently reimplemented finalization machinery
for controlled types requires arrays of controlled types to be allocated
with their bounds, including in the case where their nominal subtype is
constrained. However, in this case, the type of 'Access for the arrays
is pointer-to-constrained-array and, therefore, its value must designate
the array itself and not the bounds.
gcc/ada/
* gcc-interface/utils.cc (convert) <POINTER_TYPE>: Use fold_convert
to convert between thin pointers. If the source is a thin pointer
with zero offset from the base and the target is a pointer to its
array, displace the pointer after converting it.
* gcc-interface/utils2.cc (build_unary_op) <ATTR_ADDR_EXPR>: Use
fold_convert to convert the address before displacing it.
Diffstat (limited to 'libjava/javax/swing/Spring$3.h')
0 files changed, 0 insertions, 0 deletions