https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66139
Antony Polukhin <antoshkka at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |antoshkka at gmail dot com --- Comment #16 from Antony Polukhin <antoshkka at gmail dot com> --- Can we increase the priority of this issue to P1 or P2? It affects the very basics of the C++. BTW, I've minimized example. It aborts on every version of GCC with -std=c++11, passes on Clang: int constructed = 0; class lock_guard_ext{ public: lock_guard_ext() { ++constructed; } ~lock_guard_ext() { --constructed; } }; struct Access { lock_guard_ext lock; int value; }; int t() { throw 0; } Access foo1() { return { {}, t() }; } int main () { try { foo1(); } catch (int) {} if (constructed != 0) __builtin_abort(); }