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
This commit is contained in:
Andrew Pinski 2004-10-06 22:13:14 +00:00 committed by Andrew Pinski
parent e3f78d9b11
commit 75917fc032
2 changed files with 20 additions and 12 deletions

View File

@ -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

View File

@ -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)))