2009-10-21 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
+ TYPE_DECL when a type is padded if there is already one and reset
+ TYPE_STUB_DECL in this case.
+
+2009-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
main_identifier_node.
us when we make the new TYPE_DECL below. */
if (gnu_size || align > 0)
gnu_type = maybe_pad_type (gnu_type, gnu_size, align, gnat_entity,
- false, true, definition, false);
+ false, !gnu_decl, definition, false);
if (TYPE_IS_PADDING_P (gnu_type))
{
!Comes_From_Source (gnat_entity),
debug_info_p, gnat_entity);
else
- TREE_TYPE (gnu_decl) = gnu_type;
+ {
+ TREE_TYPE (gnu_decl) = gnu_type;
+ TYPE_STUB_DECL (gnu_type) = gnu_decl;
+ }
}
if (is_type && !TYPE_IS_DUMMY_P (TREE_TYPE (gnu_decl)))