LLVM's Clang Compiler Nearly C++11 Feature Complete
LLVM's Clang C/C++ compiler front-end is nearing feature completion for supporting C++11, the latest C++ ISO standard.
C++0x/C++11 was approved in August of 2011 and since then LLVM/Clang developers have been vigorously working on support for the latest language features.
Earlier LLVM/Clang releases have already added a bulk of the C++11 support while the few remaining bits are still in play. LLVM/Clang 3.3 will also finish up a few more features. Per a recent LLVM commit updating the C++ status page, Clang is becoming in quite good shape.
Items thar are now complete within the SVN code-base (and to be formally found within Clang 3.3) is support for generalized attributes and alignment support. When it comes to C++11 concurrency functionality, the latest SVN code also handles sequence points.
Items left to be completed for Clang handling C++11 are inheriting constructors, inter-thread data-dependency ordering, thread-local storage, and extended integral types.
The other major C++11 features have already been implemented within LLVM/Clang in version 3.2 and earlier releases.
When it comes to the C++ standard library requirements, Clang can use either LLVM's libc++ as the preferred library otherwise it can also function with patched versions of GCC's GPL-licensed libstdc++ library.
The GNU Compiler Collection has also been working to improve its C++11 support with the forthcoming GCC 4.8 release.
C++0x/C++11 was approved in August of 2011 and since then LLVM/Clang developers have been vigorously working on support for the latest language features.
Earlier LLVM/Clang releases have already added a bulk of the C++11 support while the few remaining bits are still in play. LLVM/Clang 3.3 will also finish up a few more features. Per a recent LLVM commit updating the C++ status page, Clang is becoming in quite good shape.
Items thar are now complete within the SVN code-base (and to be formally found within Clang 3.3) is support for generalized attributes and alignment support. When it comes to C++11 concurrency functionality, the latest SVN code also handles sequence points.
Items left to be completed for Clang handling C++11 are inheriting constructors, inter-thread data-dependency ordering, thread-local storage, and extended integral types.
The other major C++11 features have already been implemented within LLVM/Clang in version 3.2 and earlier releases.
When it comes to the C++ standard library requirements, Clang can use either LLVM's libc++ as the preferred library otherwise it can also function with patched versions of GCC's GPL-licensed libstdc++ library.
The GNU Compiler Collection has also been working to improve its C++11 support with the forthcoming GCC 4.8 release.
13 Comments