Channels

Services

LLVM 3.3 introduces full C++11 support

The developers of the LLVM compiler infrastructure have announced the release of LLVM 3.3, bringing full support for the features of the C++11 language standard to its C/C++ compiler frontend Clang, and adding new target infrastructures with AArch64 and the AMD R600 GPU. As part of IBM System Z support, S390 systems can now also be targeted. The developers point out that this release makes Clang "the only compiler to support the full C++'11 standard, including important C++'11 library features like std::regex", something the developers completed earlier this year.

GCC has implemented all major language features in its recent GCC 4.8.1 release and its developers declared their compiler C++11 feature complete at the beginning of the month. LLVM's Clang, however, also supports all library features included in the standard. With this release, Clang supports Unicode characters in identifiers and its static analyser has added new checkers and can run interprocedural analyses across C++ constructor/destructor boundaries. Clang also introduces a C++11 migration tool that helps developers to upgrade their code to the new language standard.

Code generated with LLVM 3.3, according to the developers, is substantially faster than that of earlier versions. The auto-vectorizer feature is turned on by default at the -O3 optimisation level and the developers added a new SLP vectoriser. More information about the new features in the latest version of the compiler infrastructure is available in the LLVM 3.3 Release Notes.