[cfe-commits] [libcxxabi] r137118 - /libcxxabi/trunk/src/cxa_exception.cpp
John McCall
rjmccall at apple.com
Tue Aug 9 17:24:26 PDT 2011
On Aug 9, 2011, at 5:11 PM, Howard Hinnant wrote:
> On Aug 9, 2011, at 1:52 PM, John McCall wrote:
>> On Aug 9, 2011, at 8:09 AM, Marshall Clow wrote:
>>> +static const uint64_t kOurDependentExceptionClass = 0x434C4E47432B2B01; // CLNGC++\1
>>
>> Ugh. I would prefer to avoid Sebastian's dependent exception stuff.
>
> It is coming. I'll get it in.
>
>> Is it
>> really unreasonable to say that std::rethrow_exception can only rethrow
>> a non-foreign exception?
>
> I don't know the answer to this one. I think we should try to keep the functionality of Apple's current abi, but deciphering exactly what that is is a non-trivial task.
Apple's current ABI does not implement std::exception_ptr, nor does it try to support any of the "dependent" exception stuff.
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. That's the only thing I can see that warrants the added complexity. If we throw out that requirement, then we always have a reliable reference count we can use on exception_ptrs.
John.
More information about the cfe-commits
mailing list