summaryrefslogtreecommitdiff
path: root/clang/docs
diff options
context:
space:
mode:
authorMark de Wever <koraq@xs4all.nl>2023-04-30 15:27:00 +0200
committerMark de Wever <koraq@xs4all.nl>2023-05-04 19:19:52 +0200
commitba15d186e5cef2620d562c6c9d9a6d570382cd0a (patch)
tree86597639d900a05d6b2c25236f4640f9a1697ca3 /clang/docs
parent6d6880554c2cd8d4d83db56c74eda24c22e6323a (diff)
downloadllvm-ba15d186e5cef2620d562c6c9d9a6d570382cd0a.tar.gz
[clang] Use -std=c++23 instead of -std=c++2b
During the ISO C++ Committee meeting plenary session the C++23 Standard has been voted as technical complete. This updates the reference to c++2b to c++23 and updates the __cplusplus macro. Drive-by fixes c++1z -> c++17 and c++2a -> c++20 when seen. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D149553
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/CommandGuide/clang.rst8
-rw-r--r--clang/docs/ReleaseNotes.rst6
-rw-r--r--clang/docs/StandardCPlusPlusModules.rst4
3 files changed, 10 insertions, 8 deletions
diff --git a/clang/docs/CommandGuide/clang.rst b/clang/docs/CommandGuide/clang.rst
index 0722979885af..6c59ffd2ab12 100644
--- a/clang/docs/CommandGuide/clang.rst
+++ b/clang/docs/CommandGuide/clang.rst
@@ -193,13 +193,13 @@ Language Selection and Mode Options
ISO C++ 2020 with amendments and GNU extensions
- | ``c++2b``
+ | ``c++23``
- Working draft for ISO C++ 2023
+ ISO C++ 2023 with amendments
- | ``gnu++2b``
+ | ``gnu++23``
- Working draft for ISO C++ 2023 with GNU extensions
+ ISO C++ 2023 with amendments and GNU extensions
The default C++ language standard is ``gnu++17``.
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index ff391c6cb3b9..8fda486228db 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -93,7 +93,7 @@ C++20 Feature Support
error again in the future once there is a less fragile way to mark a module
as being part of the implementation rather than a user module.
-C++2b Feature Support
+C++23 Feature Support
^^^^^^^^^^^^^^^^^^^^^
- Implemented `P2036R3: Change scope of lambda trailing-return-type <https://wg21.link/P2036R3>`_
@@ -181,6 +181,8 @@ Non-comprehensive list of changes in this release
New Compiler Flags
------------------
+- The flag ``-std=c++23`` has been added. This behaves the same as the existing
+ flag ``-std=c++2b``.
Deprecated Compiler Flags
-------------------------
@@ -386,7 +388,7 @@ Bug Fixes to C++ Support
(`#58674 <https://github.com/llvm/llvm-project/issues/58674>`_)
- Fix incorrect deletion of the default constructor of unions in some
cases. (`#48416 <https://github.com/llvm/llvm-project/issues/48416>`_)
-- No longer issue a pre-C++2b compatibility warning in ``-pedantic`` mode
+- No longer issue a pre-C++23 compatibility warning in ``-pedantic`` mode
regading overloaded `operator[]` with more than one parmeter or for static
lambdas. (`#61582 <https://github.com/llvm/llvm-project/issues/61582>`_)
- Stop stripping CV qualifiers from the type of ``this`` when capturing it by value in
diff --git a/clang/docs/StandardCPlusPlusModules.rst b/clang/docs/StandardCPlusPlusModules.rst
index 0b44265374a8..a59a3edbbbac 100644
--- a/clang/docs/StandardCPlusPlusModules.rst
+++ b/clang/docs/StandardCPlusPlusModules.rst
@@ -434,7 +434,7 @@ The following example is not allowed:
.. code-block:: console
$ clang++ -std=c++20 M.cppm --precompile -o M.pcm
- $ clang++ -std=c++2b Use.cpp -fprebuilt-module-path=.
+ $ clang++ -std=c++23 Use.cpp -fprebuilt-module-path=.
The compiler would reject the example due to the inconsistent language options.
Not all options are language options.
@@ -611,7 +611,7 @@ The following describes issues in the current implementation of modules.
Please see https://github.com/llvm/llvm-project/labels/clang%3Amodules for more issues
or file a new issue if you don't find an existing one.
If you're going to create a new issue for standard C++ modules,
-please start the title with ``[C++20] [Modules]`` (or ``[C++2b] [Modules]``, etc)
+please start the title with ``[C++20] [Modules]`` (or ``[C++23] [Modules]``, etc)
and add the label ``clang:modules`` (if you have permissions for that).
For higher level support for proposals, you could visit https://clang.llvm.org/cxx_status.html.