http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60685
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-03-27 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Reduced to a single file: struct B { B() { throw 1; } }; B f() { return B(); } struct S { B b = f(); }; int main() { try { S s; } catch(int) { } } In __cxa_throw we return from _Unwind_RaiseException and run: 82 // Some sort of unwinding error. Note that terminate is a handler. 83 __cxa_begin_catch (&header->exc.unwindHeader); 84 std::terminate (); 85 }