From e65f61cfe434b56aa12ca24b6144cdae8bdd5e10 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 31 May 1994 17:23:46 -0700 Subject: [PATCH] (dbxout_type): Always emit cross-references if use_gnu_debug_info_extensions set. From-SVN: r7410 --- gcc/dbxout.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/dbxout.c b/gcc/dbxout.c index cecc8a480bc..efcdaa6c2e2 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -979,10 +979,13 @@ dbxout_type (type, full, show_arg_types) #ifdef DBX_NO_XREFS /* For systems where dbx output does not allow the `=xsNAME:' syntax, leave the type-number completely undefined rather than output - a cross-reference. */ - if (TREE_CODE (type) == RECORD_TYPE || TREE_CODE (type) == UNION_TYPE - || TREE_CODE (type) == QUAL_UNION_TYPE - || TREE_CODE (type) == ENUMERAL_TYPE) + a cross-reference. If we have already used GNU debug info extensions, + then it is OK to output a cross reference. This is necessary to get + proper C++ debug output. */ + if ((TREE_CODE (type) == RECORD_TYPE || TREE_CODE (type) == UNION_TYPE + || TREE_CODE (type) == QUAL_UNION_TYPE + || TREE_CODE (type) == ENUMERAL_TYPE) + && ! use_gnu_debug_info_extensions) /* We must use the same test here as we use twice below when deciding whether to emit a cross-reference. */ if ((TYPE_NAME (type) != 0 -- 2.30.2