Compiler support for C++14
From cppreference.com
< cpp | compiler support
* - hover over a cell marked with the star * to see additional pop-up notes.
DRnn - the number nn after "DR" denotes target C++ revision the Defect Report is applied to, e.g., DR20 → C++20.
[edit] C++14 core language features
| C++14 feature |
Paper(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
Embarcadero C++ Builder |
IBM Open XL C++ for AIX |
IBM Open XL C++ for z/OS |
IBM XL C++ |
Sun/Oracle C++ |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tweaked wording for contextual conversions | N3323 | 4.9 | 3.4 | 18.0* | Yes | 4.9 | 16.0 | 16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.15 | |
| Binary literals (FTM)* | N3472 | 4.3* 4.9 |
2.9 | 19.0 (2015)* | Yes | 4.10 | 11.0 | 2015 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.14 | |
| decltype(auto), Return type deduction for normal functions (FTM)* (FTM)* | N3638 | 4.8 (partial)* 4.9 |
3.3 (partial)* 3.4 |
19.0 (2015)* | Yes | 4.9 | 15.0 | 16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.15 | |
| Initialized/Generalized lambda captures (init-capture) (FTM)* | N3648 | 4.5 (partial) 4.9 |
3.4 | 19.0 (2015)* | Yes | 4.10 | 15.0 | 16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 16.1.1* | 5.15 | |
| Generic lambda expressions (FTM)* | N3649 | 4.9 | 3.4 | 19.0 (2015)* | Yes | 4.10 | 16.0 | 16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.15 | |
| Variable templates (FTM)* | N3651 | 5 | 3.4 | 19.0 (Update 2)* | Yes | 4.11 | 17.0 | 17.4 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.15 | |
| Extended constexpr (FTM)* | N3652 | 5 | 3.4 | 19.10* | Yes | 4.11 | 17.0 | 17.4 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.15 | |
| Aggregates with default member initializers (FTM)* | N3653 | 5 | 3.3 | 19.10* | Yes | 4.9 | 16.0 | 16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 16.1.1* | 5.14 | |
| Omitting/extending memory allocations | N3664 | N/A | 3.4 | N/A | Yes | N/A | N/A | 17.4 | N/A | 8.6 | 10.3 | 17.1.0 | 1.1.0 | N/A | N/A | |
[[deprecated]] attribute
|
N3760 | 4.9 | 3.4 | 19.0 (2015)* | Yes | 4.9 | 15.0* 16.0 |
16.1 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.14 | |
| Sized deallocation (FTM)* | N3778 | 5 | 3.4 | 19.0 (2015)* | Yes | 4.10.1 | 17.0 | 16.1 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 16.1.1* | 5.14 | ||
| Single quote as digit separator | N3781 | 4.9 | 3.4 | 19.0 (2015)* | Yes | 4.10 | 16.0 | 2015 | 9.0 | 8.6 | 10.3 | 17.1.0 | 1.1.0 | 13.1.2* | 5.14 | |
| C++14 feature |
Paper(s) |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
Embarcadero C++ Builder |
IBM Open XL C++ for AIX |
IBM Open XL C++ for z/OS |
IBM XL C++ |
Sun/Oracle C++ |
[edit] C++14 library features
| C++14 feature |
Paper(s) |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
IBM Open XL C/C++ for AIX* |
Sun/Oracle C++* |
Embarcadero C++ Builder* |
|
|---|---|---|---|---|---|---|---|---|---|
| constexpr for <complex> |