C++20 Is Still Settling While LLVM Clang Already Adds Option For Starting C++2b/C++23
It was just in September that the C++20 standards draft was approved as a major update to the programming language over C++17. While compilers like GCC and LLVM Clang are still completing all of the changes for C++20 support, Clang is already moving ahead and has added support for the "-std=c++2b" option as it begins the endeavor of staging changes likely for C++23.
Clang currently implements much of C++20 but some items around concepts remain along with work on modules, and other smaller features as outlined via the Clang C++ status page.
But with the next iteration of C++ already expected around 2023, Clang has gone ahead and added the "-std=c++2b" option (and "-std=gnu++2b" for the GNU variant) as it begins preparing changes moving ahead for C++23.
The commit that was pushed this morning is preparing the infrastructure for C++2b/C++23 but does not introduce any new language features at this point over C++20. This addition will be found with Clang 12 coming around March of 2021 and then over the course of the next two years expect more of the C++23 functionality to be ironed out.
C++23 is expected to include standardized networking features, executors, a modular standard library, library support for coroutines, and other additions. Some of the possible C++23 changes are laid out via this post.
When moving closer to having a working C++23 implementation and the update nearing the standards draft approval (and indeed as "C++23" should it otherwise slip into 2023 or the like) is when as usual Clang will expose "-std=c++23" rather than the current "c++2b" target.
Clang currently implements much of C++20 but some items around concepts remain along with work on modules, and other smaller features as outlined via the Clang C++ status page.
But with the next iteration of C++ already expected around 2023, Clang has gone ahead and added the "-std=c++2b" option (and "-std=gnu++2b" for the GNU variant) as it begins preparing changes moving ahead for C++23.
The commit that was pushed this morning is preparing the infrastructure for C++2b/C++23 but does not introduce any new language features at this point over C++20. This addition will be found with Clang 12 coming around March of 2021 and then over the course of the next two years expect more of the C++23 functionality to be ironed out.
C++23 is expected to include standardized networking features, executors, a modular standard library, library support for coroutines, and other additions. Some of the possible C++23 changes are laid out via this post.
When moving closer to having a working C++23 implementation and the update nearing the standards draft approval (and indeed as "C++23" should it otherwise slip into 2023 or the like) is when as usual Clang will expose "-std=c++23" rather than the current "c++2b" target.
34 Comments