This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: No useful backtrace after uncaught exception in std::thread


2011/11/15 Tobias Ringström:
>
> That's more like it. Is the std::thread behaviour a bug, or am I missing
> something? Though the C++11 standard seems to allow the stack to be unwound
> before std::terminate is called, it exceptionally unhelpful. I've search but
> not been able to find any explanation.

No, it's not a bug, but it could be improved.

What happens in std::thread is that we catch the exception (at which
point the stack has been unwound) then call std::terminate explicitly.
 That was done to ensure we onform to the standard and terminate as
required.

Now that the compiler support noexcept we should use that instead and
not catch the exception, causing the runtime to call terminate without
unwinding the stack.

I'll make that change for 4.7.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]