C++20 Is Still Settling While LLVM Clang Already Adds Option For Starting C++2b/C++23

Written by Michael Larabel in LLVM on 3 December 2020 at 06:33 AM EST. 34 Comments
LLVM
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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week