http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55917
Yuri Aksenov <yuri.aksenov at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yuri.aksenov at gmail dot com --- Comment #7 from Yuri Aksenov <yuri.aksenov at gmail dot com> --- > If it's guaranteed that an uncaught exception leaving that function will > still > call terminate, then the catch(...) block could be removed. Maybe I could do > that conditionally for targets where it's known to work as required. I vote for this enhancement to remove catch(...) block from execute_native_thread_routine function. According to standard (15.3) Handling an exception > If no matching handler is found, the function std::terminate() is called; > whether or not the stack is unwound before this call to std::terminate() is > implementation-deļ¬ned (15.5.1). So if we remove catch(...), std::terminate should be called anyway (it's a bug otherwise). But GCC implementaion will leave stack unwound making it easier to debug.