LLVM's Clang 3.1 Compiler Betters C11, C++11

Written by Michael Larabel in LLVM on 6 May 2012 at 02:30 PM EDT. 1 Comment
LLVM
There's only about one week left until LLVM 3.1 will be released and with that will come the 3.1 release of the Clang C/C++ compiler. While we have previously looked at some of the LLVM 3.1 changes, here's a quick look at some of the Clang-specific compiler C11/C++11 improvements.

C11: For C11 language coverage, Clang 3.1 now supports anonymous structs and anonymous unions from this latest ISO C standard. Support for the C11 language standard with Clang is available via the -std=c11 compiler switch.

C++11: When it comes to the C++11 language support within Clang, the 3.1 version provides production-quality support for generalized constant expressions, lambda expressions, generalized initializers, unrestricted unions, user-defined literals, forward-declared enumerations, and atomics.

Objective-C: The Clang 3.1 release for Objective-C now has format string checking for NSString literals.

Aside from the language support improvements, there's also new and better diagnostics support, tooling support, and more, as will be talked about in future Phoronix articles. For those curious about the LLVM/Clang 3.1 compiler performance compared to GCC, there is Intel Sandy Bridge benchmarks and AMD Bulldozer compiler benchmarks. More compiler benchmarks of LLVM/Clang 3.1 will be coming up later this month.
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