http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53808
--- Comment #1 from Rafael Avila de Espindola <rafael.espindola at gmail dot com> 2012-11-06 13:53:00 UTC --- I can see two options for fixing this 1) producing a copy of the destructor when we devirtualize and not devirtualizing if we cannot emit one. 2) making the destructor that is emitted with the vtable strong. On the clang side John McCall likes the first option better (http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-June/022606.html). Jason, what do you think?