LLVM Post-3.4 To Most Likely Depend Upon C++11
Written by Michael Larabel in Compiler on 10 November 2013 at 04:10 AM EST. Add A Comment
It looks like the result of the latest LLVM developer discussion will mean releases past LLVM 3.4 will depend upon a C++11 toolchain for building the compiler infrastructure instead of a C++98 compliant compiler as needed right now to compile LLVM.

In late October I wrote about the LLVM developers considering the use of some C++11 within the compiler itself. LLVM/Clang itself already has C++11 support but this discussion is about using C++11 language features in the code itself. The blocker against using C++11 code in writing LLVM or the Clang C/C++ front-end is that it raises the requirements for what's capable of compiling LLVM/Clang.

The LLVM C++11 usage discussion has happened multiple times before, but it looks like this time is the charm and that LLVM developers are ready to agree on supporting a subset of C++11 and raising the compiler requirements for building this toolchain.

Committed this week to the LLVM Git repository was a warning about the impending raising of the compiler requirements.
This is expected to be the last release of LLVM which compiles using a C++98 toolchain. We expect to start using some C++11 features in LLVM and other sub-projects starting after this release. That said, we are committed to supporting a reasonable set of modern C++ toolchains as the host compiler on all of the platforms. This will at least include Visual Studio 2012 on Windows, and Clang 3.1 or GCC 4.7.x on Mac and Linux. The final set of compilers (and the C++11 features they support) is not set in stone, but we wanted users of LLVM to have a heads up that the next release will involve a substantial change in the host toolchain requirements.

This won't mean much to end-users if you're not building LLVM yourself, but it's nice to see another high-profile project readying to adopt the latest C++ ISO standard.

Both the recent releases of GCC and LLVM/Clang support nearly all C++11 functionality. LLVM is just one of now many open-source projects eyeing the use of C++11. C++11 brings better multi-threading support, generic programming support, uniform initialization, r-value references, lambdas, range-based for-loops, and other new and improved functionality.
About The Author
Author picture

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 10,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 or contacted via MichaelLarabel.com.

Related Compiler News
Popular News
Trending Reviews & Featured Articles