diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-06 22:13:14 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-06 22:13:14 +0000 |
commit | 4f51d5ada5d1c3467d124ea2cbf4dd7b9bd22083 (patch) | |
tree | 5d49f17a7bd894d6f92a2e19619e6e868e319718 /gcc/dbxout.c | |
parent | c37e7a9d014bc482424c4068fdd5944d023c57e9 (diff) | |
download | gcc-4f51d5ada5d1c3467d124ea2cbf4dd7b9bd22083.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88629 138bc75d-0d04-0410-961f-82ee72b054a4
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 8dd153e151a..bab43cb5f34 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))) |