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.

Reply via email to