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

Howard Hinnant hhinnant at apple.com
Tue Aug 9 18:50:42 PDT 2011


On Aug 9, 2011, at 9:14 PM, John McCall wrote:

> 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.

That seems reasonable.

Howard




More information about the cfe-commits mailing list