[debug-early] C++ clones and limbo DIEs

Aldy Hernandez aldyh@redhat.com
Wed Jan 28 19:44:00 GMT 2015


On 01/16/2015 02:55 AM, Richard Biener wrote:
> On Fri, Jan 16, 2015 at 4:11 AM, Jason Merrill <jason@redhat.com> wrote:
>> On 01/15/2015 09:58 PM, Aldy Hernandez wrote:

> I hoped we wouldn't need the limbo list at all ... that is, parent DIEs
> are always present when we create children.  I think that should
> work in principle if the frontends would create DIEs while parsing.

By the way, don't think I ignored this suggestion.  I played around with 
this approach for the C++ front-end, and gave up after having to keep 
track of a few too many things to get the parenthood right.  It's 
totally doable; it was just easier to flush out the limbo DIE list as 
with my current patch.  Ok, call me lazy :).

> Note that dwarf2out forces parent DIE creation in some cases
> but not in some others - it would be interesting to sort out which
> parent DIEs it thinks it cannot create when we create the DIE
> for a sibling.  Maybe it's just poor ordering of early_global_decl
> calls?

In my current patch, I added an ICE to make sure we're not creating 
limbo destined DIEs past early dwarf dumping.  The only exception to 
this (temporarily) is that the ltrans stage is adding things late, but 
that's only because we're not streaming dwarf as the ultimate plan is. 
I've documented all this.

Aldy



More information about the Gcc-patches mailing list