https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64717
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2015-01-29 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 34619 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34619&action=edit gcc5-pr64717.patch Untested fix. The SAVE_EXPR in there was needed in earlier versions of =vptr support, where it emitted the __ubsan_* calls early, but right now it is used just once, and the SAVE_EXPR causes problems when the same dtor call is used shared in multiple locations (finally and cleanup). There is still a possible SAVE_EXPR if the address of the object has side-effects, but I hope dtors are never called that way if they'd could appear in cleanups.