diff options
author | Mark de Wever <koraq@xs4all.nl> | 2023-04-30 15:27:00 +0200 |
---|---|---|
committer | Mark de Wever <koraq@xs4all.nl> | 2023-05-04 19:19:52 +0200 |
commit | ba15d186e5cef2620d562c6c9d9a6d570382cd0a (patch) | |
tree | 86597639d900a05d6b2c25236f4640f9a1697ca3 /clang/docs | |
parent | 6d6880554c2cd8d4d83db56c74eda24c22e6323a (diff) | |
download | llvm-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.rst | 8 | ||||
-rw-r--r-- | clang/docs/ReleaseNotes.rst | 6 | ||||
-rw-r--r-- | clang/docs/StandardCPlusPlusModules.rst | 4 |
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. |