[libcxx-commits] [libcxxabi] [libcxx] [libc++] [libc++abi] Initialize exception directly in make_exception_ptr if __cxa_init_primary_exception is available in ABI-library (PR #65534)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Dec 15 06:22:03 PST 2023


================
@@ -34,6 +35,29 @@ exception_ptr& exception_ptr::operator=(const exception_ptr& other) noexcept
     return *this;
 }
 
+#  if _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION
+void *exception_ptr::__init_native_exception(size_t size, type_info* tinfo, void (_LIBCXX_DTOR_FUNC* dest)(void*)) noexcept
----------------
itrofimow wrote:

I thought one of the purposes of `exception_pointer_*.ipp` being in dylib is to not call `__cxa_*` from headers, but if it's not the case then we definitely can call them directly from headers.

Done just that.

https://github.com/llvm/llvm-project/pull/65534


More information about the libcxx-commits mailing list