aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-06 22:13:14 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-06 15:13:14 -0700
commit75917fc03241362a4e81490273c6d4c445183817 (patch)
tree5d49f17a7bd894d6f92a2e19619e6e868e319718 /gcc
parente3f78d9b1161f68289db5b09304598bb0ee7d441 (diff)
downloadgcc-75917fc03241362a4e81490273c6d4c445183817.zip
gcc-75917fc03241362a4e81490273c6d4c445183817.tar.gz
gcc-75917fc03241362a4e81490273c6d4c445183817.tar.bz2
re PR debug/17787 (Ada does not bootstrap on darwin because of -feliminate-unused-debug-symbols)
2004-10-06 Andrew Pinski <pinskia@physics.uc.edu> PR debug/17787 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and ENUMs specially instead of just saying we do. From-SVN: r88629
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dbxout.c26
2 files changed, 20 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 90f94f2..6ed9e99 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR debug/17787
+ * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
+ ENUMs specially instead of just saying we do.
+
2004-10-06 Eric Christopher <echristo@redhat.com>
* dwarf2.h: Sync with include/elf/dwarf2.h
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 8dd153e..bab43cb 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -2182,22 +2182,24 @@ dbxout_symbol (tree decl, int local ATTRIBUTE_UNUSED)
a different name. In that case we also want to output
that. */
- if ((TREE_CODE (t) == RECORD_TYPE
+ if (TREE_CODE (t) == RECORD_TYPE
|| TREE_CODE (t) == UNION_TYPE
|| TREE_CODE (t) == QUAL_UNION_TYPE
|| TREE_CODE (t) == ENUMERAL_TYPE)
- && TYPE_STUB_DECL (t)
- && TYPE_STUB_DECL (t) != decl
- && DECL_P (TYPE_STUB_DECL (t))
- && ! DECL_IGNORED_P (TYPE_STUB_DECL (t)))
{
- debug_queue_symbol (TYPE_STUB_DECL (t));
- if (TYPE_NAME (t)
- && TYPE_NAME (t) != TYPE_STUB_DECL (t)
- && TYPE_NAME (t) != decl
- && DECL_P (TYPE_NAME (t)))
- debug_queue_symbol (TYPE_NAME (t));
- }
+ if (TYPE_STUB_DECL (t)
+ && TYPE_STUB_DECL (t) != decl
+ && DECL_P (TYPE_STUB_DECL (t))
+ && ! DECL_IGNORED_P (TYPE_STUB_DECL (t)))
+ {
+ debug_queue_symbol (TYPE_STUB_DECL (t));
+ if (TYPE_NAME (t)
+ && TYPE_NAME (t) != TYPE_STUB_DECL (t)
+ && TYPE_NAME (t) != decl
+ && DECL_P (TYPE_NAME (t)))
+ debug_queue_symbol (TYPE_NAME (t));
+ }
+ }
else if (TYPE_NAME (t)
&& TYPE_NAME (t) != decl
&& DECL_P (TYPE_NAME (t)))