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/dbxout.c | |
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/dbxout.c')
-rw-r--r-- | gcc/dbxout.c | 26 |
1 files changed, 14 insertions, 12 deletions
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))) |