On 03/08/16 10:48 +0100, Jonathan Wakely wrote:
On 28/07/16 10:20 +0300, Gleb Natapov wrote:+extern "C" __cxa_refcounted_exception* +__cxxabiv1::__cxa_init_primary_exception(void *obj, const std::type_info *tinfo, + void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) +{ + __cxa_refcounted_exception *header + = __get_refcounted_exception_header_from_obj (obj); + header->referenceCount = 0; + header->exc.exceptionType = tinfo; + header->exc.exceptionDestructor = dest; + header->exc.unexpectedHandler = std::get_unexpected (); + header->exc.terminateHandler = std::get_terminate (); + __GXX_INIT_PRIMARY_EXCEPTION_CLASS(header->exc.unwindHeader.exception_class); + header->exc.unwindHeader.exception_cleanup = __gxx_exception_cleanup; + + return header; +}I'd like to see any additions like this function discussed on the C++ ABI list, so we at least have an idea whether other vendors would consider implementing it too.
Oops, I meant to delete that comment. Please ignore it! You're only suggesting a new function in the "GNU extensions" part of our header, and it's only needed in our make_exception_ptr function, not required by any of the actual runtime files in libsupc++. So there's no need for it to be common to other implementations of the ABI.
