This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/78015] pthread_cancel while some exception is pending results in std::terminate ()
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 18 Oct 2016 18:50:31 +0000
- Subject: [Bug libstdc++/78015] pthread_cancel while some exception is pending results in std::terminate ()
- Auto-submitted: auto-generated
- References: <bug-78015-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78015
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-10-18
Ever confirmed|0 |1
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
The problem is that non-C++ exceptions like forced unwind have no exception
header, so we can't chain them onto caughtExceptions. But it seems to me that
we ought to be able to wrap such an exception in a C++ exception to make it
more palatable to the C++ runtime: in __cxa_catch, we can allocate a C++
exception using the foreign exception as the object. Anyone see a problem with
this strategy?