Skip to content

Commit

Permalink
[libc++] Use XXYYZZ instead of XXYZZ for _LIBCPP_VERSION
Browse files Browse the repository at this point in the history
As discussed on Discord.

Differential Revision: https://reviews.llvm.org/D134209
  • Loading branch information
ldionne committed Sep 26, 2022
1 parent e6c29c0 commit b6ff5b4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
6 changes: 6 additions & 0 deletions libcxx/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ API Changes
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
Expand Down
6 changes: 3 additions & 3 deletions libcxx/include/__config
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit b6ff5b4

Please sign in to comment.