On 01/28/2015 01:29 PM, Aldy Hernandez wrote:
+ /* It is rather unfortunate that Cilk creates trees this late + (during gimplification). However, until this gets fixed, + specially handle emitting DWARF for this new function and + immediately clean up the limbo_die_list where the new function's + DIE will inevitably end up. */
Why does it go on limbo_die_list at all?
I noticed dwarf2out's gen_member_die() disallows generation of clones earlier, by design: /* Don't include clones in the member list. */ if (DECL_ABSTRACT_ORIGIN (member)) continue; I played around trying to disable this "feature", but my approach ran into various walls, and I decided instead to attack it from the front-end side. The attached patch generates early DIEs for the C++ clones in the C++ parser. I'd be (un)happy to revisit the dwarf2out approach if it's deemed more appropriate.
I'd still like to understand why disabling this doesn't work; I don't like the special handling of clones in the front end.
Jason