http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55917



--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-01-09 
13:59:58 UTC ---

One option would be to make the start function have a

dynamic-exception-specification of throw(__cxxabiv1::__forced_unwind), which

would allow the cancellation exception to propagate (as required) but prevent

any other exceptions, but that would result in a call to std::unexpected()

rather than std::terminate(), and a user could have replaced the

unexpected_handler, so we would not be able to meet the requirement that

std::terminate() is called. On top of that, I think the stack would still get

unwound before the call to std:unexpected, and dynamic-exception-specifications

and unexpected handlers are deprecated in C++11.  So I don't think we want to

do that.



My inclination is to close this as WONTFIX.

Reply via email to