Ubuntu 22.04 comes out on the 21st of April. It includes GCC 11 with almost full C++20 support.
This means one major obstacle to moving to C++20 by default is gone.
The other one is clang. However, emscripten already uses an LLVM/Clang backend and it seems to work with the current C++20 lexer (although with a LOT of compiler warnings). LLVM 14 is just about to be released with better C++20 support.
Xcode 13 also has partial, but official C++20 support. Android C++ is based on clang as well.
I think we can assume that if emscripten works, then Xcode and Android will also work with C++20. That's why I believe we can now make the transition to C++20 by default. :)
Ubuntu 22.04 comes out on the 21st of April. It includes GCC 11 with almost full C++20 support.
This means one major obstacle to moving to C++20 by default is gone.
The other one is clang. However,
emscripten
already uses an LLVM/Clang backend and it seems to work with the current C++20 lexer (although with a LOT of compiler warnings). LLVM 14 is just about to be released with better C++20 support.Xcode 13 also has partial, but official C++20 support. Android C++ is based on clang as well.
I think we can assume that if
emscripten
works, then Xcode and Android will also work with C++20. That's why I believe we can now make the transition to C++20 by default. :)