* exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
commit02433bf7f097de2d710298811b1626a969f61060
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Apr 2010 11:38:06 +0000 (7 11:38 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Apr 2010 11:38:06 +0000 (7 11:38 +0000)
treeac0006f43531b02d2b839144ae3cd43264776aeb
parent664dfc7850f8dd5b7dc17da74821abf2be9091b1
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158056 138bc75d-0d04-0410-961f-82ee72b054a4
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]