[cfe-commits] [libcxxabi] r137118 - /libcxxabi/trunk/src/cxa_exception.cpp

John McCall rjmccall at apple.com
Tue Aug 9 18:14:38 PDT 2011


On Aug 9, 2011, at 5:34 PM, Howard Hinnant wrote:
> On Aug 9, 2011, at 8:24 PM, John McCall wrote:
>> Apple's current ABI does not implement std::exception_ptr, nor does it try to support any of the "dependent" exception stuff.
> 
> This test, taken from libc++/test/language.support/support.exception/propagation/rethrow_exception.cpp:
> passes for me on Lion using clang++ -std=c++0x -stdlib=libc++.  I implemented the "dependent" exception stuff quite awhile ago (you're welcome ;-)).

Oh, I think I was looking at the wrong code.  I stand corrected.

>> As far as I understand it, Sebastian introduced dependent (i.e. wrapped) exceptions in order to support capturing and rethrowing an arbitrary, potentially foreign exception via std::exception_ptr.
> 
> In gcc, yes.  And it is that design, described at a high level in cxx-abi-dev, that I followed (the high level description in cxx-abi-dev, not the code in gcc).

I went and read through the cxx-abi-dev discussion, and I see the necessity of dependent exceptions now even for non-foreign exceptions.  I would appreciate it if we changed the name in our implementation to "envelope exception" or something like that;  overloading "dependent" is quite unfortunate.

John.



More information about the cfe-commits mailing list