[libcxx-commits] [PATCH] D126462: [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14

Dimitry Andric via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 26 06:47:18 PDT 2022


dim created this revision.
dim added reviewers: ldionne, emaste, EricWF.
Herald added subscribers: krytarowski, arichardson.
Herald added a project: All.
dim requested review of this revision.
Herald added a project: libc++.
Herald added a reviewer: libc++.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D126462

Files:
  libcxx/include/__config


Index: libcxx/include/__config
===================================================================
--- libcxx/include/__config
+++ libcxx/include/__config
@@ -127,7 +127,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
 #endif


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126462.432268.patch
Type: text/x-patch
Size: 441 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220526/50c4e0ef/attachment.bin>


More information about the libcxx-commits mailing list