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. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
