[patch][pr22293] Don't crash during codegen of a recursive destructor

Richard Smith richard at metafoo.co.uk
Thu Jan 22 19:06:46 PST 2015


On Thu, Jan 22, 2015 at 6:45 PM, Rafael EspĂ­ndola
<rafael.espindola at gmail.com> wrote:
> In ItaniumCXXABI::EmitCXXDestructors we first emit the base destructor
> and then try to emit the complete one as an alias.
>
> If in the base ends up calling the complete destructor, the GD for the
> complete will be in the list of deferred decl by the time we replace
> it with an alias and delete the original GV.

Yuck. How expensive is a TrackingVH? Since we're moving towards having
lots of DeferredGlobals, do we need to worry about this?

If you think the cost is fine, then this LGTM; otherwise, I suppose
we'll need to find another approach.




More information about the cfe-commits mailing list