Commit 9a1c0fd9 by Eric Botcazou Committed by Eric Botcazou

decl.c (gnat_to_gnu_entity): Do not create a new TYPE_DECL when a type is padded if...

	* 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.

From-SVN: r153053
parent cfbb663c
2009-10-21 Eric Botcazou <ebotcazou@adacore.com> 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 * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
main_identifier_node. main_identifier_node.
......
...@@ -4436,7 +4436,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) ...@@ -4436,7 +4436,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
us when we make the new TYPE_DECL below. */ us when we make the new TYPE_DECL below. */
if (gnu_size || align > 0) if (gnu_size || align > 0)
gnu_type = maybe_pad_type (gnu_type, gnu_size, align, gnat_entity, 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)) if (TYPE_IS_PADDING_P (gnu_type))
{ {
...@@ -4555,7 +4555,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) ...@@ -4555,7 +4555,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
!Comes_From_Source (gnat_entity), !Comes_From_Source (gnat_entity),
debug_info_p, gnat_entity); debug_info_p, gnat_entity);
else 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))) if (is_type && !TYPE_IS_DUMMY_P (TREE_TYPE (gnu_decl)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment