LLVM Clang Now Exposes -std=c++23 Rather Than -std=c++2b
Merged today to LLVM 17 Git is now recognizing -std=c++23 rather than just -std=c++2b for the Clang compiler now that C++23 has been deemed technically complete.
With the ISO C++ Committee having voted that the C++23 standard has reached its technical complete state, LLVM developers have gone ahead and renamed their C++2b standard target to C++23. This is similar to in the past where C++20 was known as C++2a until the language update was ready and with prior ISO C++ standards.
Using -std=c++23 rather than -std=c++2b was made via this commit.
The C++23 standard introduces new features such as a stacktrace library based on Boost's stacktrace, conditionally borrowed ranges, the stdatomic.h header for interoperability with C atomics, std::byteswap, std::expected, support for UTF-8 source files is now deemed mandatory, if consteval, attributes on lambdas, and numerous other changes. A convenient look and the current compiler support can be found via cppreference.com.
Moving forward, also issued today was a request for comments that LLVM just go ahead and call its C++26 support "C++26" straight-away without first calling it C++2c. The hope is that it leads to fewer mistakes during the transition periods if -std=c++26 is added right away.
With the ISO C++ Committee having voted that the C++23 standard has reached its technical complete state, LLVM developers have gone ahead and renamed their C++2b standard target to C++23. This is similar to in the past where C++20 was known as C++2a until the language update was ready and with prior ISO C++ standards.
Using -std=c++23 rather than -std=c++2b was made via this commit.
The C++23 standard introduces new features such as a stacktrace library based on Boost's stacktrace, conditionally borrowed ranges, the stdatomic.h header for interoperability with C atomics, std::byteswap, std::expected, support for UTF-8 source files is now deemed mandatory, if consteval, attributes on lambdas, and numerous other changes. A convenient look and the current compiler support can be found via cppreference.com.
Moving forward, also issued today was a request for comments that LLVM just go ahead and call its C++26 support "C++26" straight-away without first calling it C++2c. The hope is that it leads to fewer mistakes during the transition periods if -std=c++26 is added right away.
2 Comments