LLVM Begins Process For Allowing C++17 In Codebase
After LLVM moved from C++11 to allowing C++14 code within the LLVM code-base itself in 2019, LLVM developers are now preparing the transition to C++17.
C++17 support by the prominent compilers has been around long enough and in a mature state that LLVM developers have started the process to moving from C++14 to C++17 for use by the LLVM code-base itself. Moving to C++17 for the LLVM code-base itself raises the compiler requirements for build LLVM to Clang 5.0, Apple Clang 9.3, GCC 7.1, and Microsoft Visual Studio 2019 16.7.
The current plan is to introduce a soft error around the new compiler requirements soon into the main code-base for LLVM 15, make the compiler versions a hard requirement or error after LLVM 15 is branched, and then with LLVM 16.x begin allowing C++17 code to be used in the development of LLVM.
Generally LLVM aims to ensure that LLVM/Clang and GCC compilers from at least the past three years can continue to build upstream LLVM, which is where the delay comes about in adopting new C++ standards for LLVM developers to enjoy. The phase about first introducing new compiler requirements as a soft error for one release comes from their standard procedures for moving to new C++ requirements.
See more details on the LLVM Discourse for these fresh plans on moving to C++17.
C++17 support by the prominent compilers has been around long enough and in a mature state that LLVM developers have started the process to moving from C++14 to C++17 for use by the LLVM code-base itself. Moving to C++17 for the LLVM code-base itself raises the compiler requirements for build LLVM to Clang 5.0, Apple Clang 9.3, GCC 7.1, and Microsoft Visual Studio 2019 16.7.
The current plan is to introduce a soft error around the new compiler requirements soon into the main code-base for LLVM 15, make the compiler versions a hard requirement or error after LLVM 15 is branched, and then with LLVM 16.x begin allowing C++17 code to be used in the development of LLVM.
Generally LLVM aims to ensure that LLVM/Clang and GCC compilers from at least the past three years can continue to build upstream LLVM, which is where the delay comes about in adopting new C++ standards for LLVM developers to enjoy. The phase about first introducing new compiler requirements as a soft error for one release comes from their standard procedures for moving to new C++ requirements.
See more details on the LLVM Discourse for these fresh plans on moving to C++17.
18 Comments