aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r--gcc/ada/gcc-interface/utils.c28
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)