]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Couple of adjustments coming from aliasing considerations
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 10 Mar 2024 14:51:21 +0000 (15:51 +0100)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 17 May 2024 08:21:03 +0000 (10:21 +0200)
commit485d595d22c7800eb214034c9b58211ab232dbbf
treee403ca89655a38b7505f73e6874b2b7fb5dee4f8
parentd2a118197c767ccbd3905c14ff2ebe82bd0fe9ed
ada: Couple of adjustments coming from aliasing considerations

The first adjustment is to the expansion of implementation types for array
types with peculiar index types, for which the aliased property set on the
component of the original type must be copied; the implicit base type also
needs to be properly marked if the implementation type is constrained.

The second adjustment is to selected types in the runtime, which need to
be marked with pragma Universal_Aliasing because of their special usage.

gcc/ada/

* exp_pakd.adb (Create_Packed_Array_Impl_Type): For non-bit-packed
array types, propagate the aliased property of the component.
(Install_PAT): Set fields on the implicit base type of an array.
* libgnat/a-stream.ads (private part): Add pragma Universal_Aliasing
for Stream_Element.
* libgnat/g-alleve.ads: Add pragma Universal_Aliasing for all the
vector types.
* libgnat/g-alleve__hard.ads: Likewise.
gcc/ada/exp_pakd.adb
gcc/ada/libgnat/a-stream.ads
gcc/ada/libgnat/g-alleve.ads
gcc/ada/libgnat/g-alleve__hard.ads