[libcxx-commits] [PATCH] D119173: [libc++] Remove _LIBCPP_ABI_UNSTABLE

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 7 12:16:52 PST 2022


Quuxplusone accepted this revision as: Quuxplusone.
Quuxplusone added a comment.

LGTM mod nits.



================
Comment at: libcxx/CMakeLists.txt:188
+endif()
+set(LIBCXX_ABI_VERSION "${abi_version}" CACHE STRING "ABI version of libc++. Can be either 1 or 2, where 2 is currently not stable. Defaults to 1 unless LIBCXX_ABI_UNSTABLE is specified.")
+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.")
----------------
Here we fail to actually say what the ABI version is set to when LIBCXX_ABI_UNSTABLE is specified. (The answer, after last week's D118989, is "2".)


================
Comment at: libcxx/docs/BuildingLibcxx.rst:446
   .. warning::
     When providing a custom namespace, it's the users responsibility to ensure the name won't cause
     conflicts with other names defined by libc++, both now and in the future. In particular, inline
----------------



================
Comment at: libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp:20
+// FreeBSD still provides the old ABI for std::pair.
+// UNSUPPORTED: freebsd
 
----------------
Here and below, I suggest `XFAIL: freebsd`.


================
Comment at: libcxx/utils/gdb/libcxx/printers.py:10
 
-These should work for objects compiled when _LIBCPP_ABI_UNSTABLE is defined
-and when it is undefined.
+These should work for objects compiled with the stable and unstable ABI.
 """
----------------
`These should work for objects compiled with either the stable ABI or the unstable ABI.` (Or both? Is "both" a physical possibility?)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119173/new/

https://reviews.llvm.org/D119173



More information about the libcxx-commits mailing list