C++ compiler support
From cppreference.com
< cpp
|
|
This page is maintained as best-effort and may lag behind most recent compiler releases. If you see something is out-of-date, please help us by updating it! |
The following table presents compiler support for new C++ features. These include C++11, C++14, C++17, and later accepted revisions to the standard, as well as various technical specifications.
C++2a features
Note that this list may change, as the draft C++2a standard evolves.
C++17 features
C++14 features
C++11 features
* - hover over the version number to see notes
References
Individual vendor compatibility checklists (these are more up-to-date than the table above)
- GCC (Updated 2017-09)
- C++11 core language support status (complete as of 4.8.1)
- C++14 core language support status (complete as of 5.1)
- C++17 core language support status (complete as of 7.1)
- C++11 library support status (complete as of 5.1)
- C++14 library support status (complete as of 5.1)
- C++17 library support status
- Technical Specifications support status
- Clang++ (Updated 2017-09)
- C++11 core language support status (complete as of 3.3)
- C++11 library support status (complete as of 2012-07-29)
- C++14 core language support status (complete as of 3.4)
- C++14 library support status (complete as of 3.5)
- Technical Specifications support status
- C++17 core language support status (complete as of 5.0)
- C++17 library support status
- C++20 core language support status
- C++20 library support status
- Core language defect report status
- Microsoft Visual Studio (updated 2017-12)
- C++17 Features And STL Fixes In VS 2017 15.5
- C++17 Features And STL Fixes In VS 2017 15.3
- C++11/C++14/C++17 core language and library status in VS2017.3
- C++11/C++14/C++17 core language support status
- C++11/14/17 core language support status in VS2010, VS2012, VS2013, and VS2015
- VS2013 vs. VS2015 CTP0
- VS2013 vs. VS2015 CTP1
- VS2013 vs. VS2015 CTP3 (includes the roadmap table)
- VS2015 ("VS14") preview
- VS2015 ("VS14") release candidate (C++11 remains incomplete, but C++17 support appears)
- VS2017
- C++11 and C++14 library support status
- C++11/14/17 Features In VS 2015 RTM including core language and standard library (including technical specifications)
- C++14/17 features in VS 2015 Update 2 standard library library is feature complete up to current C++17 with few minor issues (some defect reports, some constexprs, etc)
- C++14/17 Features and STL Fixes in VS “15” Preview 5 including a detailed C++17 status table
- Intel C++ (Updated 2017-11)
- C++11 core language support status (complete as of 15.0)
- C++14 core language support status (functionally complete as of 17.0 - N3664 is an optimization)
- C++17 core language support status (incomplete)
- C++17 features of Intel 19.0 beta
- Intel does not ship an implementation of the C++ standard library, except for
- Parallel STL (an implementation of the C++17 standard library algorithms with support for execution policies)
- EDG (Updated 2017-09)
- C++11 core language support status
- C++14 core language support status
- C++17 core language support status
- EDG does not ship an implementation of the C++ standard library
- Oracle C++ (updated 2017-07)
- Version number is compiler version, not Oracle Studio version
- C++11 core language support status in 5.13
- Full C++14 support added in 5.15.
- Oracle ships 4 implementations of the C++ standard library:
- libCstd (RogueWave Standard Library version 2), predates C++98
- stlport4 (STLport Standard Library version 4.5.3), predates C++03
- stdcxx4 (Apache Standard Library version 4), predates C++11
- libstdc++ (GCC runtime library, support for C++11 and C++14 depending on release)
- IBM XL C++ (updated 2015-12)
- C++11 core language support status (v 13.1 for AIX)
- IBM ships a version of Dinkumware library for AIX with full support for C++ TR1, including <regex>, but no C++11
- C++11 core language support status (v 13.1.1 for Linux)
- IBM does not ship an implementation of C++ standard library for Linux (uses GNU libstdc++)
- C++11/C++14 core language support status (v 13.1.2 for Little Endian Linux / zLinux Big Endian)
- HP aCC
- HP aC++ A.06.28 release notes (including C++11 core language features)
- HP ships a version of RogueWave STL 2.0 implementation of the C++98 standard library
- Digital Mars C++
- Embarcadero C++
- C++11 core language support status (C++ Builder 10.1 Berlin for Windows 32/64, iOS and Android clang-enhanced compilers) [146]
- Cray (updated 2018-01)
- [147] For version 8.4, claims all of C++14 is supported except alignas
- Cray C and C++ Reference Manual (8.6) For version 8.6, claims all of C++14 is supported
- Portland Group (PGI) (updated 2016-07)
- Release notes for 2016 claim C++14 support, except "generalized constexpr and constexpr member functions and implicit const, variable templates, clarifying memory allocation (merged allocation)"