Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
The LLVM Codebase Is Moving Past C++11 This Year, Likely To C++14
With Clang having supported all necessary C++17 features since Clang 5.0 and already experimental C++2A support, this change isn't about what is exposed to developers relying upon this code compiler. This policy change is about allowing LLVM developers themselves to begin making use of a newer C++ standard in the code-base.
A few years back the LLVM developers switched to C++11 and now it's time for them to move on. Of course, the downside of that is it raises the compiler requirements for building LLVM and its sub-projects. There had been some discussions about making use of C++17 features in LLVM but this latest proposal is about adopting a C++14 policy.
The proposal on Tuesday calls for migrating to C++14 beginning in March, which would raise the compiler requirement for LLVM 9 due out in late 2019. Raising the build requirement to C++14 would mean needing at least Clang 3.5, GCC 5.1, or Visual Studio 2017. On the plus side, this would allow removing a number of workarounds currently needed by Clang due to buggy C++11 support in some of the older compilers that would now be dropped.
A large project the size of LLVM switching to C++14 isn't unprecedented at all but Chromium and Firefox are among the other big name projects moving to a C++14 code-base.
More details on the proposal can be found via the LLVM list. LLVM Clang 8.0 is due for release in February and will be unaffected by any policy change, aside from potential warnings.