C++ status at the end of 2013
Table of Contents
- GCC 4.81 - 100%
- Clang 3.3 - 100%
- Intel 14.0 - 84%
- Visual C++ 2013 - 66%
Another year is almost over so it is a good time to check what is going on with C++. This time more stats and real data compared to my post from the previous year.
This chart provides a general view on C++11 conformance. Percentage comes from counting implemented features in a given compiler according to the list of 45 C++11 language features. Please note that the view may be a bit imperfect or unfair. One language feature can have more “value”/importance than some other. For instance “extern template” vs “constxpr”. Or “long long” vs “delegating constructors”. This would require to put partial factors for each feature. Additionally some features have several versions (like move or lambda) - only the latest version should be counted.
I used wiki.apache.org/stdcxx as a base for my work. I’ve upgraded it and cleaned up a bit. Additionally compilers: HP, EDGE, IBM, Sun/Oracle, C++ Builder (front-end is based on Clang 3.1 now) and Digital Mars were removed.
- Version 12.1 of MSVC means - November CTP, but this is not “official” of course.
- long long support for VS: probably from the version 7.1, but before that it existed as a __int64
05 Jan 2014
- Added “noexcept” and “extended sizeof” feature,
- Included more features implemented in VS Nov CTP.
- Removed “auto v0.9”, r-value 1.0 and 2.0,
- minor changes, layout, colors
31 Dec 2013 - initial version
- C++11 compiler support - apache
- Visual Studio 2013 C++ November CTP and more precise feature list
- GCC C++11 Status
- CLang Cxx Status
BTW: C++14 draft specification is already implemented by Clang 3.4. I did not included any of C++14 features here. I will come back to this topic later.