LLVM 3.6 & Clang 3.6 Deliver More Features, Complete C++14 Support
LLVM 3.6 and Clang 3.6 are due to be released any day now and with this new version of the increasingly-used BSD-licensed compiler infrastructure stack are many improvements and new features to benefit the vast majority of users.
LLVM 3.6 was supposed to be released a few days ago, but it didn't happen yet, though all indications are that the release is imminent. Some of the biggest highlights for LLVM/Clang 3.6 include:
- Many improvements to LLVM's MIPS target. There's now MIPS-II and MIPS-III CPU support, ABI compliance with GCC for big/little endian O32/N32/N64, and various other MIPS-specific improvements.
- More AMD GPU LLVM back-end improvements.
- The necessary work out of the LLVMLinux project for being able to compile the Linux kernel, albeit there's still out-of-tree kernel patches needed.
- Go bindings were added to the LLVM code-base.
- Clang 3.6 has many support improvements for Windows and can now self-host using the Microsoft Visual C environment on x86 and x64.
- The default language mode for Clang's C support switched from C99 to C11, matching GCC 5 switching to C11/GNU11.
- In working on early C++17 support, Clang 3.6 supports C++17's fold expressions, u8 character literals, nested namespace definitions, attributes for namespaces and enumerators, etc.
- LLVM Clang 3.6 supports a number of the OpenMP pragmas, but combinations won't be implemented. Though the rest of the LLVM OpenMP support should be worked out for the LLVM Clang 3.7 release later in the year.
- C++14 support is now marked as complete within Clang.
LLVM 3.6 was supposed to be released a few days ago, but it didn't happen yet, though all indications are that the release is imminent. Some of the biggest highlights for LLVM/Clang 3.6 include:
- Many improvements to LLVM's MIPS target. There's now MIPS-II and MIPS-III CPU support, ABI compliance with GCC for big/little endian O32/N32/N64, and various other MIPS-specific improvements.
- More AMD GPU LLVM back-end improvements.
- The necessary work out of the LLVMLinux project for being able to compile the Linux kernel, albeit there's still out-of-tree kernel patches needed.
- Go bindings were added to the LLVM code-base.
- Clang 3.6 has many support improvements for Windows and can now self-host using the Microsoft Visual C environment on x86 and x64.
- The default language mode for Clang's C support switched from C99 to C11, matching GCC 5 switching to C11/GNU11.
- In working on early C++17 support, Clang 3.6 supports C++17's fold expressions, u8 character literals, nested namespace definitions, attributes for namespaces and enumerators, etc.
- LLVM Clang 3.6 supports a number of the OpenMP pragmas, but combinations won't be implemented. Though the rest of the LLVM OpenMP support should be worked out for the LLVM Clang 3.7 release later in the year.
- C++14 support is now marked as complete within Clang.
13 Comments