This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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();
      }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]