[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