Date: Mon, 04 Mar 2024 15:34:45 -0800
On Monday, 4 March 2024 11:11:38 PST Tom Honermann via Std-Proposals wrote:
> Did you happen to explore what happens with current_exception() for the
> pthread cancellation case that Thiago noted? I would be curious to know
> what happens there too.
Looking at the sources for GCC's libsupc++, I think it'll return an
abi::__forced_unwind type. Likewise, if it's a foreign exception, the type
will be abi::__foreign_exception. See:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/
eh_personality.cc#L552-L576
libc++abi does not have this; it's a libsupc++ extension to the IA-64 ABI
requirements. In fact, I don't know if libc++abi handles the forced unwind
case well, or at all.
> Did you happen to explore what happens with current_exception() for the
> pthread cancellation case that Thiago noted? I would be curious to know
> what happens there too.
Looking at the sources for GCC's libsupc++, I think it'll return an
abi::__forced_unwind type. Likewise, if it's a foreign exception, the type
will be abi::__foreign_exception. See:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/
eh_personality.cc#L552-L576
libc++abi does not have this; it's a libsupc++ extension to the IA-64 ABI
requirements. In fact, I don't know if libc++abi handles the forced unwind
case well, or at all.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel DCAI Cloud Engineering
Received on 2024-03-04 23:34:47