[all-commits] [llvm/llvm-project] 817d89: [libc++] Remove _LIBCPP_ABI_UNSTABLE
Louis Dionne via All-commits
all-commits at lists.llvm.org
Tue Feb 8 12:20:37 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 817d897b57c7f37d04c2a28153316efe3ae59ada
https://github.com/llvm/llvm-project/commit/817d897b57c7f37d04c2a28153316efe3ae59ada
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2022-02-08 (Tue, 08 Feb 2022)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes.rst
M libcxx/include/__config
M libcxx/include/__config_site.in
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Remove _LIBCPP_ABI_UNSTABLE
Previously, _LIBCPP_ABI_UNSTABLE would be used interchangeably with
_LIBCPP_ABI_VERSION >= 2. This was confusing and creating unnecessary
complexity.
This patch removes _LIBCPP_ABI_UNSTABLE -- instead, the LIBCXX_ABI_UNSTABLE
CMake option will result in the LIBCXX_ABI_VERSION being set to '2', the
current unstable ABI. As a result, in the code, we only have _LIBCPP_ABI_VERSION
to check in order to query the current ABI version.
As a fly-by, this also defines the ABI namespace during CMake configuration
to reduce complexity in __config. I believe it was previously done this
way because we used to try to use __config_site as seldom as possible.
Now that we always ship a __config_site, it doesn't really matter and
I think being explicit about how the library is configured in the __config_site
is actually a feature.
Differential Revision: https://reviews.llvm.org/D119173
More information about the All-commits
mailing list