]> git.ipfire.org Git - thirdparty/gcc.git/commit
exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type if the size is...
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 7 Apr 2010 11:38:06 +0000 (11:38 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 7 Apr 2010 11:38:06 +0000 (11:38 +0000)
commitb1fa9126ab0782c68bd92431a7bb93de0931fc3d
treeac0006f43531b02d2b839144ae3cd43264776aeb
parent19c846942984690edb7ef6ed29be08a0aae1868a
exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type if the size is small enough.

* exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
if the size is small enough.  Propagate the alignment if there is an
alignment clause on the original array type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
Deal with under-aligned packed array types.  Copy the size onto the
justified modular type and don't lay it out again.  Likewise for the
padding type built for other under-aligned subtypes.
* gcc-interface/utils.c (finish_record_type): Do not set a default mode
on the type.

From-SVN: r158056
gcc/ada/ChangeLog
gcc/ada/exp_pakd.adb
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/utils.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/bit_packed_array1.adb [moved from gcc/testsuite/gnat.dg/bit_packed_array.adb with 84% similarity]
gcc/testsuite/gnat.dg/bit_packed_array1.ads [moved from gcc/testsuite/gnat.dg/bit_packed_array.ads with 85% similarity]
gcc/testsuite/gnat.dg/bit_packed_array4.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/bit_packed_array4.ads [new file with mode: 0644]