OSDN Git Service

* decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Nov 2007 13:37:12 +0000 (13:37 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Nov 2007 13:37:12 +0000 (13:37 +0000)
commit4aafb9994bb45aacdaa967bd79f39badb1d183bc
treec2f30f08a620652b6703d34c9395cbbceb397f12
parentd9492fde0feb1ab405d4221ba25ec1e5e35fc38e
* decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
strict alignment, no alignment clause and a known static size, cap
the type alignment to the greatest power of 2 factor of the size.
(gnat_to_gnu_field): If the field has a component clause, is aliased
or of a type with strict alignment, require that its size be equal to
that of the type.
(validate_size): Use the type size as the minimum size for a type with
strict alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130406 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/specs/size_clause1.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/specs/size_clause2.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/specs/size_clause3.ads [new file with mode: 0644]