Professional Documents
Culture Documents
This page is maintained as bes t-eort and may lag behind mos t recent compiler releas es
The following table pres ents compiler s upport for new C++ features . Thes e include C++11, C++14, C++17 and various technical s pecications .
4.8
4.8
15.0
11.0*
14.0
13.1.2*
5.13 Yes
3.0
8.4 2015
alignof
c ++11
4.8
4.5
15.0
14.0
13.1.2*
5.13 Yes
2.9
8.4 2015
Atomic operations
c ++11
Yes
13.0
11.0
13.1.2*
5.14 Yes
3.1
8.4 2015
auto
4.4(v1.0)
11.0(v0.9)
10.0(v0.9) 11.1(v1.0) 5.13 Yes
12.0(v1.0)
Yes
8.4 2015
A.06.25
4.1
4.3
11.1
14.0*
10.1
5.9 Yes
constexpr
c ++11 A.06.28
4.6
4.6
13.0*
14.0
14.0*
12.1*
13.1
5.13 Yes
Version
4.4
Yes
Cray
IBM XLC++
c ++11
Paper(s)
Clang
MSVC
Intel C++
Sun/Oracle C++
GCC
EDG eccp
HP aCC
alignas
C++ feature
Yes
8.4 2015
3.1
8.4 2015
2.9
8.4 2015
c ++11 A.06.25
4.1
4.4
12.0
12.0
13.1
5.13 Yes
3.0
8.4 2015
Delegating
c onstruc tors
c ++11 A.06.28
4.7
4.7
14.0
12.0
11.1
5.13 Yes
3.0
8.4 2015
Explic it c onversion
operators
c ++11 A.06.27
4.4
4.5
13.0
12.0
12.1
5.13 Yes
3.0
8.4 2015
Extended friend
c ++11 A.06.25
4.1
4.7
11.1*
12.0
10.0*
12.0
11.1
5.13 Yes
2.9
8.4 2015
c ++11 A.06.25
3.9
3.3
9.0
6.0
11.1
5.13 Yes
Yes
8.4 2015
11.1*
14.0
11.0
12.1
5.13 Yes
3.1
8.4 2015
dec larations
extern template
Forward enum
dec larations
c ++11
4.5
4.6
c ++11
4.8
4.8
15.0
14.0
13.1.1*
5.13 Yes
3.3
8.4 2015
c ++11 A.06.28
4.5
4.4
13.0*
14.0
12.0
13.1.2*
5.13 Yes
3.1
8.4 2015
4.5(v1.1)
12.0(v1.1)
10.0(v1.0)
11.0(v1.1)
13.1.2*
5.13 Yes
3.1
8.4 2015
A.06.27
4.2
4.5
12.0
10.0
13.1.2*
5.13 Yes
2.9
8.4 2015
Yes
Yes
Yes
Yes
Yes
Yes
Yes Yes
Yes
8.4 2015
2.9
8.4 2015
2.9
8.4 2015
2.9
8.4 2015
c ++11
Inline namespac es
c ++11 A.06.28
4.5
4.4
14.0
14.0
11.1
5.13 Yes
c ++11 A.06.27
4.4
4.4
12.1*
14.0
14.0
13.1.1*
5.13 Yes
12.0
10.0
12.1
5.13 Yes
long long
Yes
8.52
c ++11 A.06.27
4.1
4.4
c ++11 A.06.27
4.2
4.6
12.1
10.0
13.1
5.13 Yes
8.52
2.9
8.4 2015
c ++11 A.06.28
4.7
4.4
11.0*
14.0
10.1*
13.1.1*
5.7 Yes
8.52
3.0
8.4 2015
c ++11 A.06.28
4.7
4.5
14.0
12.0
13.1.1*
5.13 Yes
8.52
Yes
8.4 2015
User-dened literals
c ++11
4.8
4.7
15.0
14.0
13.1.2*
5.14 Yes
3.1
8.4 2015
c ++11
4.1
4.3
11.0
8.0
12.1
5.13 Yes
Yes
8.4 2015
11.1(v1.0) 10.0(v2.0)
12.0(v2.0) 11.0(v2.1) 12.1(v2.1) 5.13 Yes
14.0(v3.0) 14.0(v3.0)
Yes
8.4 2015
2.9
8.4 2015
2.9
8.4 2015
nullptr
4.3(v1.0)
4.5(v2.1)
4.6(v3.0)
c ++11 A.06.25
4.1
4.3
11.0
10.0
11.1
5.13 Yes
S trongly-typed enum
c ++11 A.06.25
4.0
4.4
13.0
11.0
12.1
5.13 Yes
Template aliases
c ++11 A.06.27
4.2
4.7
12.1
12.0
13.1.1*
5.13 Yes
Thread-loc al storage
c ++11
4.8
4.4*
4.8
11.1*
15.0*
10.0*
14.0
10.1*
13.1.2*
5.9* Yes
c ++11 A.06.28
4.6
4.6
14.0*
14.0
13.1.2*
Type traits
c ++11
4.0
4.3
10.0
8.0
13.1.3
4.3(v0.9)
4.4(v1.0)
12.1(v1.0)
12.0
4.5
4.6
13.0
11.0
4.8(v1.0)
4.7
static_assert
6.16
Range-for loop
c ++11 A.06.28
8.52
3.0
8.4 2015
3.3*
3.3
8.4 2015
5.13 Yes
3.0
8.4 2015
5.13 Yes
3.0
8.4 2015
8.52*
13.1.2*
5.13 Yes
3.0
8.4 2015
13.1.1*
5.13 Yes
2.9
8.4 2015
c ++11
12.0(v0.8) 8.0(v0.8)
c ++11
4.8(v1.0)
4.7
12.0(v0.8) 8.0(v0.8)
14.0(v1.0) 11.0(v1.0)
13.1.1*
5.13 Yes
2.9
8.4 2015
Attributes
c ++11 A.06.27
4.2
4.8
12.1
14.0
13.1.1*
5.13 Yes
3.3
8.4 2015
ref-qualiers
c ++11 A.06.28
4.7
4.8.1
14.0
14.0
13.1.2*
5.13 Yes
2.9
8.4 2015
Non-static data
member initializ ers
c ++11 A.06.28
4.6
4.7
14.0
12.0
13.1.2*
5.13 Yes
3.0
8.4 2015
c ++11 A.06.25
Yes
4.3
11.1*
14.0
13.1.2*
5.13 Yes
2.9
8.4 2015
5.13 Yes
3.0
8.4 2015
c ++11 A.06.28
4.5
4.6
14.0
14.0
13.1.1*
c ++14lang
4.9
4.9
16.0
12.0
13.1.2*
Binary literals
noexcept
c ++14lang
4.10
4.3/4.9
11.0
14.0
13.1.2*
c ++14lang
4.9
4.8/4.9
15.0
14.0
13.1.2*
Initializ ed/Generaliz ed
N3648 (http://www.openlambda c aptures (initstd.org/jtc 1/sc 22/wg21/doc s/papers/2013/n3648.html)
c apture)
c ++14lang
4.10
4.5/4.9
15.0
14.0
c ++14lang
4.10
4.9
16.0
14.0
14.2
3.4
5.14
2.9
3.3/3.4
3.4
13.1.2*
3.4
13.1.2*
3.4
13.1.2*
3.4
Variable templates
c ++14lang
5.0
Extended c onstexpr
c ++14lang
c ++14lang
4.9
Clarifying memory
alloc ation
(avoiding/fusing
alloc ations)
c ++14lang
N/A
N/A
c ++14lang
4.9
4.9
S iz ed dealloc ation
c ++14lang
4.10.1
c ++14lang
4.10
4.9
16.0
14.0
std::result_ofand
S FINAE
c ++14
N/A
5.0
N/A
14.2
constexprfor <complex>
c ++14
N/A
5.0
N/A
14.0
3.4
constexprfor <chrono>
c ++14
N/A
5.0
N/A
14.0
3.4
constexprfor <array>
c ++14
N/A
5.0
N/A
14.0
3.4
constexprfor
N3471 (http://www.open<initializer_list>,
std.org/jtc 1/sc 22/wg21/doc s/papers/2012/n3471.html)
<utility>and <tuple>
c ++14
N/A
5.0
N/A
14.0
3.4
Improved
N3545 (http://www.openstd::integral_constant std.org/jtc 1/sc 22/wg21/doc s/papers/2013/n3545.pdf)
c ++14
N/A
5.0
N/A
14.0
3.4
User-dened literals
for <chrono>and
<string>
c ++14
N/A
5.0
N/A
14.0
3.4
c ++14
N/A
5.0*
N/A
14.0
3.4
std::quoted
c ++14
N/A
5.0
N/A
14.0
3.4
Heterogeneous
assoc iative lookup
c ++14
N/A
5.0
N/A
14.0
3.4
N3658 (http://www.openstd::integer_sequence
std.org/jtc 1/sc 22/wg21/doc s/papers/2013/n3658.html)
c ++14
N/A
5.0
N/A
14.0
3.4
std::shared_mutex
(timed)
c ++14
N/A
5.0
N/A
14.0
3.4
std::exchange
c ++14
N/A
5.0
N/A
14.0
3.4
xing constexpr
member func tions
without const
c ++14
N/A
5.0
N/A
14.0
3.4
std::get<T>()
c ++14
N/A
5.0
N/A
14.0
3.4
Dual-Range std::equal,
N3671 (http://www.openstd::is_permutation,
std.org/jtc 1/sc 22/wg21/doc s/papers/2013/n3671.html)
std::mismatch
c ++14
N/A
5.0
N/A
14.0
3.4
Improving std::pair
and std::tuple
c ++17
N/A
Yes
N/A
14.2
std::shared_mutex
(untimed)
c ++17
N/A
5.0
N/A
Yes
__has_includein
preproc essor
c onditionals
16.0
5.14
3.3
3.4
N/A
15.0*
14.0
13.1.2*
14.0
13.1.2*
5.14
3.4
5.14
3.4
5.14
3.4
Yes
5.0
References
Individual vendor compatibility checklis ts (thes e are more up-to-date than the table above)
GCC (Updated 2015-12)
C++11 core language s upport s tatus (https ://gcc.gnu.org/gcc-4.8/cxx0x_s tatus .html) (complete as of 4.8.1)
C++14 core language s upport s tatus (https ://gcc.gnu.org/projects /cxx1y.html) (complete as of 5.0)
C++17 core language s upport s tatus (https ://gcc.gnu.org/projects /cxx1z.html)
C++11 library s upport s tatus (https ://gcc.gnu.org/onlinedocs /libs tdc++/manual/s tatus .html#s tatus .is o.200x) (complete as of 5.0)
C++14 library s upport s tatus (https ://gcc.gnu.org/onlinedocs /libs tdc++/manual/s tatus .html#s tatus .is o.2014) (complete as of 5.0)
Technical Specications s upport s tatus (https ://gcc.gnu.org/onlinedocs /libs tdc++/manual/s tatus .html#table.ts _s tatus )
C++17 library s upport s tatus (https ://gcc.gnu.org/onlinedocs /libs tdc++/manual/s tatus .html#s tatus .is o.201z)
Clang++ (Updated 2015-12)
2015
Yes
3.7
Yes
2015
C++11 core language s upport s tatus (http://clang.llvm.org/cxx_s tatus .html#cxx11) (complete as of 3.3)
C++11 library s upport s tatus (complete as of 2012-07-29 (http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?revis ion=160940& view=markup) )
C++14 core language s upport s tatus (http://clang.llvm.org/cxx_s tatus .html#cxx14) (complete as of 3.4)
C++14 library s upport s tatus (http://libcxx.llvm.org/cxx1y_s tatus .html) (complete as of 3.5)
Technical Specications s upport s tatus (http://clang.llvm.org/cxx_s tatus .html#ts )
C++17 core language s upport s tatus (http://clang.llvm.org/cxx_s tatus .html#cxx17)
C++17 library s upport s tatus (http://libcxx.llvm.org/cxx1z_s tatus .html)
Micros oft Vis ual Studio (updated 2016-01)
C++11/C++14/C++17 core language s upport s tatus
C++11 core language s upport s tatus in VS2013 ("VS12") (http://ms dn.micros oft.com/en-us /library/hh567368.as px#featurelis t)
VS2013 vs . VS2015 CTP0 (http://blogs .ms dn.com/b/vcblog/archive/2013/12/02/c-11-14-core-language-features -in-vs -2013-and-the-nov-2013-ctp.as px)
VS2013 vs . VS2015 CTP1 (http://blogs .ms dn.com/b/vcblog/archive/2014/06/11/c-11-14-feature-tables -for-vis ual-s tudio-14-ctp1.as px)
VS2013 vs . VS2015 CTP3 (http://blogs .ms dn.com/b/vcblog/archive/2014/08/21/c-11-14-features -in-vis ual-s tudio-14-ctp3.as px) (includes the roadmap table)
VS2015 ("VS14") preview (http://blogs .ms dn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features -in-vs -2015-preview.as px)
VS2015 ("VS14") releas e candidate (http://blogs .ms dn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features -in-vs -2015-rc.as px) (C++11 remains
incomplete, but C++17 s upport appears )
C++11 and C++14 library s upport s tatus (http://ms dn.micros oft.com/en-us /library/hh567368.as px#s tl)
C++11/14/17 Features In VS 2015 RTM (http://blogs .ms dn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features -in-vs -2015-rtm.as px) including core language and
s tandard library (including technical s pecications )
C++14/17 features in VS 2015 Update 2 s tandard library (http://blogs .ms dn.com/b/vcblog/archive/2016/01/22/vs -2015-update-2-s -s tl-is -c-17-s o-far-featurecomplete.as px) library is feature complete up to current C++17 with few minor is s ues (s ome defect reports , s ome cons texprs , etc)
Intel C++ (Updated 2016-01)
C++11 core language s upport s tatus (https ://s oftware.intel.com/en-us /articles /c0x-features -s upported-by-intel-c-compiler) (complete as of 15.0)
C++14 core language s upport s tatus (https ://s oftware.intel.com/en-us /articles /c14-features -s upported-by-intel-c-compiler) (incomplete)
Intel does not s hip an implementation of the C++ s tandard library
EDG (Updated 2016-01)
C++11 core language s upport s tatus (https ://www.edg.com/features .html)
C++14 core language s upport s tatus (https ://www.edg.com/cpp14_features .html)
EDG does not s hip an implementation of the C++ s tandard library
Oracle C++ (updated 2016-01)
C++11 core language s upport s tatus (http://docs .oracle.com/cd/E37069_01/html/E37071/gncix.html)
Mis s ing C++11 s upport added in 5.14 (page has a typo, and s till s ays 5.13) (https ://docs .oracle.com/cd/E60778_01/html/E60742/gkeza.html#s crolltoc)
C++14 features added in 5.14 (https ://docs .oracle.com/cd/E60778_01/html/E60742/gncix.html#s crolltoc)
Oracle s hips three implementations of the C++ s tandard library:
libCs td (RogueWave Standard Library vers ion 2), predates C++98
s tlport4 (STLport Standard Library vers ion 4.5.3), predates C++03
s tdcxx4 (Apache Standard Library vers ion 4), predates C++11
IBM XL C++ (updated 2015-12)
C++11 core language s upport s tatus (http://www-01.ibm.com/s upport/knowledgecenter/SSGH3R_13.1.0/com.ibm.xlcpp131.aix.doc/language_ref/cpp0x_exts .html?
lang=en) (v 13.1 for AIX)
IBM s hips a vers ion of Dinkumware library (http://www01.ibm.com/s upport/knowledgecenter/SSGH3R_13.1.0/com.ibm.xlcpp131.aix.doc/s tandlib/header_les .html?lang=en) for AIX with full s upport for C++ TR1,
including <regex>, but no C++11
C++11 core language s upport s tatus (http://www01.ibm.com/s upport/knowledgecenter/SSXVZ Z _13.1.1/com.ibm.xlcpp1311.lelinux.doc/language_ref/s tandard_features .html?lang=en) (v 13.1.1 for Linux)
IBM does not s hip an implementation of C++ s tandard library for Linux (us es GNU libs tdc++)
C++11/C++14 core language s upport s tatus (https ://www.ibm.com/developerworks /community/blogs /5894415f-be62-4bc0-81c53956e82276f3/entry/What_new_C_11_language_features _you_will_get_by_us ing_the_lates t_XL_C_C_V13_1_2_and_a_s neak_peak_at_C_14?lang=en) (v 13.1.2 for
Little Endian Linux / zLinux Big Endian)
HP aCC
C++11 core language s upport s tatus (http://h21007.www2.hp.com/portal/s ite/ds pp/menuitem.863c3e4cbcdc3f3515b49c108973a801?
ciid=887a551fac19b410VgnVCM200000a460ea10RCRD)
HP s hips a vers ion of RogueWave STL 2.0 implementation of the C++98 s tandard library
Digital Mars C++
C++11 core language s upport s tatus (http://www.digitalmars .com/ctg/CPP0x-Language-Implementation.html)
Embarcadero C++
C++11 core language s upport s tatus (http://docwiki.embarcadero.com/RADStudio/Seattle/en/C%2B%2B11_Language_Features _Compliance_Status ) (C++ Builder
10 Seattle for Windows 32/64, iOS and Android clang-enhanced compilers ) [1] (http://docwiki.embarcadero.com/RADStudio/Seattle/en/Clangenhanced_C%2B%2B_Compilers )
Cray (updated 2015-12)
[2] (http://docs .cray.com/books /S-2179-84/S-2179-84.pdf) For vers ion 8.4, claims all of C++11 is s upported except alignas
Portland Group (PGI) (updated 2015-12)
[3] (http://www.pgroup.com/doc/pgirn.pdf) Releas e notes for 2015 claim full C++11, incremental C++14. The C++14 s upport includes "lambdas " but that could
refer to either or both of 2 dierent working papers , N3648 or N3649
Retrieved from "http://en.c ppreferenc e.c om/mwiki/index.php?title=c pp/c ompiler_support& oldid=83504"