diff options
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r-- | gcc/ada/gcc-interface/utils.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index f9214fb..a2191c0 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -1056,15 +1056,8 @@ rest_of_record_type_compilation (tree record_type) TYPE_FIELDS (new_record_type) = nreverse (TYPE_FIELDS (new_record_type)); - /* We used to explicitly invoke rest_of_type_decl_compilation on the - parallel type for the sake of STABS. We don't do it any more, so - as to ensure that the parallel type be processed after the type - by the debug back-end and, thus, prevent it from interfering with - the processing of a recursive type. */ add_parallel_type (TYPE_STUB_DECL (record_type), new_record_type); } - - rest_of_type_decl_compilation (TYPE_STUB_DECL (record_type)); } /* Append PARALLEL_TYPE on the chain of parallel types for decl. */ @@ -1354,21 +1347,10 @@ create_type_decl (tree type_name, tree type, struct attrib *attr_list, if (!named) TYPE_STUB_DECL (type) = type_decl; - /* Pass the type declaration to the debug back-end unless this is an - UNCONSTRAINED_ARRAY_TYPE that the back-end does not support, or a - type for which debugging information was not requested, or else an - ENUMERAL_TYPE or RECORD_TYPE (except for fat pointers) which are - handled separately. And do not pass dummy types either. */ + /* Do not generate debug info for UNCONSTRAINED_ARRAY_TYPE that the + back-end doesn't support, and for others if we don't need to. */ if (code == UNCONSTRAINED_ARRAY_TYPE || !debug_info_p) DECL_IGNORED_P (type_decl) = 1; - else if (code != ENUMERAL_TYPE - && (code != RECORD_TYPE || TYPE_FAT_POINTER_P (type)) - && !((code == POINTER_TYPE || code == REFERENCE_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); return type_decl; } @@ -3531,12 +3513,6 @@ update_pointer_to (tree old_type, tree new_type) TREE_TYPE (TREE_OPERAND (TYPE_NULL_BOUNDS (t), 0)) = new_type; } - /* If we have adjusted named types, finalize them. This is necessary - since we had forced a DWARF typedef for them in gnat_pushdecl. */ - for (ptr = TYPE_POINTER_TO (old_type); ptr; ptr = TYPE_NEXT_PTR_TO (ptr)) - if (TYPE_NAME (ptr) && TREE_CODE (TYPE_NAME (ptr)) == TYPE_DECL) - rest_of_type_decl_compilation (TYPE_NAME (ptr)); - /* Chain REF and its variants at the end. */ new_ref = TYPE_REFERENCE_TO (new_type); if (new_ref) |