http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60612
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- When I step through std::rethrow_exception() in gdb it goes from line 215 to line 223, so skips over the call to get_terminate(), so dep->terminateHandler is null and so is dep->unwindHeader.exception_cleanup (gdb) bt #0 std::rethrow_exception (ep=...) at /home/jwakely/src/gcc/gcc/libstdc++-v3/libsupc++/eh_ptr.cc:223 #1 0x0000000000400d39 in A::~A (this=0x7fffffffd9df, __in_chrg=<optimized out>) at ep.cc:19 #2 0x0000000000400c4c in main () at ep.cc:28 (gdb) p *dep $17 = {primaryException = 0x603090, unexpectedHandler = 0x7ffff7d3a7c0 <std::terminate()>, terminateHandler = 0x0, nextException = 0x0, handlerCount = 0, handlerSwitchValue = 0, actionRecord = 0x0, languageSpecificData = 0x0, catchTemp = 0, adjustedPtr = 0x0, unwindHeader = {exception_class = 0, exception_cleanup = 0x0, private_1 = 0, private_2 = 0}}