LLVM Developers Bring Up Using C++11, Again
LLVM developers are once again bringing up the topic of whether their compiler infrastructure and Clang C/C++ front-end can utilize C++11 code.
LLVM/Clang is already C+11 feature complete (and support lots of the yet-to-be-finalized C++14), but this proposal is about using C++11 features within the compiler code-base itself. The hesitation in adopting C++11 usage is that it would limit older compiler tool-chains in building LLVM if they don't have full C+11 support.
Modern GCC has C++11 support too, but the main concern is Microsoft's Visual C++ compiler support in not having full C++11 compliance. The matter of using C++11 features within LLVM and Clang itself has been brought up several times before to mixed reactions and ultimately they haven't taken full advantage of C++11 yet. Some LLVM sub-projects, however, are using C++11 functionality within their code-bases.
The most recent LLVM C++11 discussion is happening within this LLVMdev mailing list thread. The discussion is ongoing but it looks like we may finally see LLVM developers taking some advantage of C++11 within their code.
If all goes through, LLVM would become aggressive in the compilers they support for building; under one proposal it would mean GCC 4.7, Clang 3.1, and Visual Studio 2012 as supported build compilers. Chris Lattner the founder of the LLVM project agrees that C++11 and other modern C++ features need to be taken advantage of, but the issue comes down to "how and when" for taking advantage of the language features.
Among the C++11 features the developers are seeking to use include r-value references, auto, range-based for-loops, lamdas, static_assert, nullptr, and new STD library features.