[libcxx-commits] [libcxx] 63af858 - [libc++] Only forward-declare ABI-functions in exception_ptr.h if they are meant to be used (#84707)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 11 07:59:08 PDT 2024


Author: itrofimow
Date: 2024-03-11T10:59:05-04:00
New Revision: 63af8584fc7ea81ef6f2176e0ada0533a3495745

URL: https://github.com/llvm/llvm-project/commit/63af8584fc7ea81ef6f2176e0ada0533a3495745
DIFF: https://github.com/llvm/llvm-project/commit/63af8584fc7ea81ef6f2176e0ada0533a3495745.diff

LOG: [libc++] Only forward-declare ABI-functions in exception_ptr.h if they are meant to be used (#84707)

This patch fixes the unconditional forward-declarations of ABI-functions
in exception_ptr.h, and makes it dependent on the availability macro, as
it should've been from the beginning.

The declarations being unconditional break the build with libcxxrt
before 045c52ce8 [1], now they are opt-out.

[1]: https://github.com/libcxxrt/libcxxrt/commit/045c52ce821388f4ae4d119fe4fb75f1eb547b85

Added: 
    

Modified: 
    libcxx/include/__exception/exception_ptr.h

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__exception/exception_ptr.h b/libcxx/include/__exception/exception_ptr.h
index 53e2f718bc1b35..c9027de9238cdd 100644
--- a/libcxx/include/__exception/exception_ptr.h
+++ b/libcxx/include/__exception/exception_ptr.h
@@ -26,6 +26,8 @@
 
 #ifndef _LIBCPP_ABI_MICROSOFT
 
+#  if _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION
+
 namespace __cxxabiv1 {
 
 extern "C" {
@@ -37,14 +39,16 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS __cxa_exception* __cxa_init_primary_exception(
     void*,
     std::type_info*,
     void(
-#  if defined(_WIN32)
+#    if defined(_WIN32)
         __thiscall
-#  endif
+#    endif
             *)(void*)) throw();
 }
 
 } // namespace __cxxabiv1
 
+#  endif
+
 #endif
 
 namespace std { // purposefully not using versioning namespace


        


More information about the libcxx-commits mailing list