aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-05-31 17:23:46 -0700
committerJim Wilson <wilson@gcc.gnu.org>1994-05-31 17:23:46 -0700
commite65f61cfe434b56aa12ca24b6144cdae8bdd5e10 (patch)
treeed417da8802edc70c3234613a7a1e6fd797af10a /gcc
parentb2526fe62130664473daca50df92ad112e861cf7 (diff)
downloadgcc-e65f61cfe434b56aa12ca24b6144cdae8bdd5e10.zip
gcc-e65f61cfe434b56aa12ca24b6144cdae8bdd5e10.tar.gz
gcc-e65f61cfe434b56aa12ca24b6144cdae8bdd5e10.tar.bz2
(dbxout_type): Always emit cross-references if
use_gnu_debug_info_extensions set. From-SVN: r7410
Diffstat (limited to 'gcc')
-rw-r--r--gcc/dbxout.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index cecc8a4..efcdaa6 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