diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/decl.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 194dde5..b3f500e 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 2001-10-10 Richard Kenner <kenner@gnat.com> + * decl.c: (validate_size): Do check size of object of integral type + if it is a packed array type. + +2001-10-10 Richard Kenner <kenner@gnat.com> + * decl.c: (gnat_to_gnu_entity, case object): Also materialize VAR_DECL for constant if not Is_Public but -O0. diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c index 34a01cd..5845110 100644 --- a/gcc/ada/decl.c +++ b/gcc/ada/decl.c @@ -5516,7 +5516,7 @@ validate_size (uint_size, gnu_type, gnat_object, kind, component_p, zero_ok) need not do it here (which would entail checking against the bounds). However, if this is an aliased object, it may not be smaller than the type of the object. */ - if (INTEGRAL_TYPE_P (gnu_type) + if (INTEGRAL_TYPE_P (gnu_type) && ! TYPE_PACKED_ARRAY_TYPE_P (gnu_type) && ! (kind == VAR_DECL && Is_Aliased (gnat_object))) return size; |