diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-10-06 22:13:14 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-10-06 15:13:14 -0700 |
commit | 75917fc03241362a4e81490273c6d4c445183817 (patch) | |
tree | 5d49f17a7bd894d6f92a2e19619e6e868e319718 /gcc | |
parent | e3f78d9b1161f68289db5b09304598bb0ee7d441 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dbxout.c | 26 |
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))) |