[libcxx-commits] [libcxx] 6255157 - [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Sep 7 08:58:02 PDT 2023
Author: Dimitry Andric
Date: 2023-09-07T11:57:56-04:00
New Revision: 6255157d24e27c604bda8fe8ce26e896f54785c0
URL: https://github.com/llvm/llvm-project/commit/6255157d24e27c604bda8fe8ce26e896f54785c0
DIFF: https://github.com/llvm/llvm-project/commit/6255157d24e27c604bda8fe8ce26e896f54785c0.diff
LOG: [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14
After many years of using the really old std::pair ABI which did not yet
have a trivial copy constructor, FreeBSD 14 and later will finally get
rid of it. Only use the old ABI for FreeBSD 13 and earlier.
Note: on the FreeBSD side, we will bump our libc++.so version for this,
and keep an old compatibility library in a separate package.
Differential Revision: https://reviews.llvm.org/D126462
Added:
Modified:
libcxx/include/__config
Removed:
################################################################################
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 45727e8a14b5b7d..0109350d265c101 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -164,7 +164,7 @@
# endif
// Feature macros for disabling pre ABI v1 features. All of these options
// are deprecated.
-# if defined(__FreeBSD__)
+# if defined(__FreeBSD__) && __FreeBSD__ < 14
# define _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR
# endif
// For XCOFF linkers, we have problems if we see a weak hidden version of a symbol
More information about the libcxx-commits
mailing list