The LLVM Codebase Is Moving Past C++11 This Year, Likely To C++14

Written by Michael Larabel in LLVM on 23 January 2019 at 06:00 AM EST. 1 Comment
LLVM
As was discussed in 2018 and has largely reached consensus, the LLVM code-base and its sub-projects like Clang will move past being bound by C++11 and will moving to a newer C++ standard so they can begin making use of newer language features in the development of this compiler stack.

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.
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