[libcxx-commits] [PATCH] D134209: [libc++] Use XXYYZZ instead of XXYZZ for _LIBCPP_VERSION
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 26 08:22:38 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb6ff5b470d5e: [libc++] Use XXYYZZ instead of XXYZZ for _LIBCPP_VERSION (authored by ldionne).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134209/new/
https://reviews.llvm.org/D134209
Files:
libcxx/docs/ReleaseNotes.rst
libcxx/include/__config
Index: libcxx/include/__config
===================================================================
--- libcxx/include/__config
+++ libcxx/include/__config
@@ -25,9 +25,9 @@
#ifdef __cplusplus
// _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM.
-// Given a LLVM release LLVM XX.Y.ZZ (e.g. LLVM 16.0.1 == 16.0.01), _LIBCPP_VERSION is
-// defined to XXYZZ.
-# define _LIBCPP_VERSION 16000
+// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is
+// defined to XXYYZZ.
+# define _LIBCPP_VERSION 160000
# define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
Index: libcxx/docs/ReleaseNotes.rst
===================================================================
--- libcxx/docs/ReleaseNotes.rst
+++ libcxx/docs/ReleaseNotes.rst
@@ -86,6 +86,12 @@
Any standards-required ``[[nodiscard]]`` applications in C++20 are now always enabled. Any extended applications
are now enabled by default and can be disabled by defining ``_LIBCPP_DISABLE_NODISCARD_EXT``.
+- ``_LIBCPP_VERSION`` was previously defined to e.g. ``15001`` to represent LLVM 15.0.01, but this value had been
+ left undocumented. Starting with LLVM 16, ``_LIBCPP_VERSION`` will contain the version of LLVM represented as
+ ``XXYYZZ``. In other words, ``_LIBCPP_VERSION`` is gaining a digit. This should not be an issue for existing
+ code, since using e.g. ``_LIBCPP_VERSION > 15000`` will still give the right answer now that ``_LIBCPP_VERSION``
+ is defined as e.g. ``160000`` (with one more digit).
+
ABI Affecting Changes
---------------------
- In freestanding mode, ``atomic<small enum class>`` does not contain a lock byte anymore if the platform
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134209.462914.patch
Type: text/x-patch
Size: 1755 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220926/825e23a3/attachment.bin>
More information about the libcxx-commits
mailing list