summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Collingbourne <pcc@google.com>2025-10-10 16:11:52 -0700
committerPeter Collingbourne <peter@pcc.me.uk>2025-10-10 16:11:52 -0700
commit7820ec4faa7ecb99217569794db9328211a61553 (patch)
treef9c60e0fe112a95df49b9f0ac22032f449104a06
parenta7305bc2458f41178762e8117ecc67ceb9625844 (diff)
Created using spr 1.3.6-beta.1
-rw-r--r--libcxx/CMakeLists.txt6
-rw-r--r--libcxx/include/__config15
2 files changed, 6 insertions, 15 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index a119850cd808..3a87029b5298 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -201,7 +201,11 @@ set(LIBCXX_LIBRARY_VERSION "${LIBCXX_ABI_VERSION}.0" CACHE STRING
For example, -DLIBCXX_LIBRARY_VERSION=x.y will result in the library being named
libc++.x.y.dylib, along with the usual symlinks pointing to that. On Apple platforms,
this also controls the linker's 'current_version' property.")
-set(LIBCXX_ABI_NAMESPACE "__${LIBCXX_ABI_VERSION}" CACHE STRING "The inline ABI namespace used by libc++. It defaults to __n where `n` is the current ABI version.")
+set(default_abi_namespace "__${LIBCXX_ABI_VERSION}")
+if(NOT LIBCXX_PFP STREQUAL "none")
+ set(default_abi_namespace "${default_abi_namespace}_pfp_${LIBCXX_PFP}")
+endif()
+set(LIBCXX_ABI_NAMESPACE "${default_abi_namespace}" CACHE STRING "The inline ABI namespace used by libc++. It defaults to __n where `n` is the current ABI version.")
if (NOT LIBCXX_ABI_NAMESPACE MATCHES "__.*")
message(FATAL_ERROR "LIBCXX_ABI_NAMESPACE must be a reserved identifier, got '${LIBCXX_ABI_NAMESPACE}'.")
endif()
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 63e6eceabd5e..7e996bbf92ba 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -484,21 +484,8 @@ typedef __char32_t char32_t;
# define _LIBCPP_EXCEPTIONS_SIG e
# endif
-# if !_LIBCPP_HAS_EXCEPTIONS
-# define _LIBCPP_EXCEPTIONS_SIG n
-# else
-# define _LIBCPP_EXCEPTIONS_SIG e
-# endif
-
-# if defined(__POINTER_FIELD_PROTECTION__)
-# define _LIBCPP_PFP_SIG p
-# else
-# define _LIBCPP_PFP_SIG
-# endif
-
# define _LIBCPP_ODR_SIGNATURE \
- _LIBCPP_CONCAT(_LIBCPP_CONCAT(_LIBCPP_CONCAT(_LIBCPP_HARDENING_SIG, _LIBCPP_EXCEPTIONS_SIG), _LIBCPP_PFP_SIG), \
- _LIBCPP_VERSION)
+ _LIBCPP_CONCAT(_LIBCPP_CONCAT(_LIBCPP_HARDENING_SIG, _LIBCPP_EXCEPTIONS_SIG), _LIBCPP_VERSION)
// This macro marks a symbol as being hidden from libc++'s ABI. This is achieved
// on two levels: