Commit ac53d5f2 by Eric Botcazou Committed by Eric Botcazou

utils.c (create_type_decl): Do not pass declarations of dummy fat pointer types…

utils.c (create_type_decl): Do not pass declarations of dummy fat pointer types to the debug back-end.

	* gcc-interface/utils.c (create_type_decl): Do not pass declarations
	of dummy fat pointer types to the debug back-end.

From-SVN: r146467
parent 59356222
2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.c (create_type_decl): Do not pass declarations
of dummy fat pointer types to the debug back-end.
2009-04-20 Eric Botcazou <ebotcazou@adacore.com> 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation. * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
...@@ -1244,15 +1244,19 @@ create_type_decl (tree type_name, tree type, struct attrib *attr_list, ...@@ -1244,15 +1244,19 @@ create_type_decl (tree type_name, tree type, struct attrib *attr_list,
TYPE_STUB_DECL (type) = type_decl; TYPE_STUB_DECL (type) = type_decl;
/* Pass the type declaration to the debug back-end unless this is an /* Pass the type declaration to the debug back-end unless this is an
UNCONSTRAINED_ARRAY_TYPE that the back-end does not support, an UNCONSTRAINED_ARRAY_TYPE that the back-end does not support, or a
ENUMERAL_TYPE or RECORD_TYPE which are handled separately, or a type for which debugging information was not requested, or else an
type for which debugging information was not requested. */ ENUMERAL_TYPE or RECORD_TYPE (except for fat pointers) which are
handled separately. And do not pass dummy types either. */
if (code == UNCONSTRAINED_ARRAY_TYPE || !debug_info_p) if (code == UNCONSTRAINED_ARRAY_TYPE || !debug_info_p)
DECL_IGNORED_P (type_decl) = 1; DECL_IGNORED_P (type_decl) = 1;
else if (code != ENUMERAL_TYPE else if (code != ENUMERAL_TYPE
&& (code != RECORD_TYPE || TYPE_IS_FAT_POINTER_P (type)) && (code != RECORD_TYPE || TYPE_IS_FAT_POINTER_P (type))
&& !((code == POINTER_TYPE || code == REFERENCE_TYPE) && !((code == POINTER_TYPE || code == REFERENCE_TYPE)
&& TYPE_IS_DUMMY_P (TREE_TYPE (type)))) && TYPE_IS_DUMMY_P (TREE_TYPE (type)))
&& !(code == RECORD_TYPE
&& TYPE_IS_DUMMY_P
(TREE_TYPE (TREE_TYPE (TYPE_FIELDS (type))))))
rest_of_type_decl_compilation (type_decl); rest_of_type_decl_compilation (type_decl);
return type_decl; return type_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