This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Re: dwarf2out change breaks ada and libstdc++ on solaris too
On Feb 3, 2004, at 7:14 PM, Jason Merrill wrote:
In any case, it's wrong to ignore the TYPE_DECL. The decl is what
we're
interested in. We should be importing the appropriate typedef die.
Yes and this was my mistake. I understood what I was doing after I
forced i686 to use standard va_list and looked at the dwarf output.
In all example I tried earlier by hand, I always, by chance, used actual
base type instead of pointer to base type in typedefs.
Anyway, how about this patch?
Bootstrap and regular dejagnu test run is in progress
(i686-pc-linux-gnu)
OK for mainline if it succeeds?
Thank you,
--
Devang
2004-02-03 Devang Patel <dpatel@apple.com>
* dwarf2out.c (force_type_die): Look up input type itself
instead of root_type() of type.
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.483
diff -c -3 -p -r1.483 dwarf2out.c
*** dwarf2out.c 29 Jan 2004 18:42:56 -0000 1.483
--- dwarf2out.c 4 Feb 2004 05:24:16 -0000
*************** force_type_die (tree type)
*** 11959,11965 ****
{
dw_die_ref type_die;
! type_die = lookup_type_die (root_type (type));
if (!type_die)
{
dw_die_ref context_die;
--- 11967,11973 ----
{
dw_die_ref type_die;
! type_die = lookup_type_die (type);
if (!type_die)
{
dw_die_ref context_die;
*************** force_type_die (tree type)
*** 11972,11978 ****
context_die = comp_unit_die;
gen_type_die (type, context_die);
! type_die = lookup_type_die (root_type (type));
if (!type_die)
abort();
}
--- 11980,11986 ----
context_die = comp_unit_die;
gen_type_die (type, context_die);
! type_die = lookup_type_die (type);
if (!type_die)
abort();
}