Compiler support for C++14 - cppreference.com

From cppreference.com

* - 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.

C++14 core language features

C++14 featurePaper(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/A3.4 N/AYes N/AN/A17.4 N/A8.6 10.3 17.1.0 1.1.0 N/AN/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++

C++14 library features

C++14 featurePaper(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>

N3302

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Transparent

operator function objects

(

FTM

)*

N3421

4.9 3.4 18.0*Yes 17.1.0 5.15 10.3

std::result_of

and

SFINAE

(

FTM

)*

N3462

5 Yes 19.0 (Update 2)*Yes 17.1.0 5.15 10.3 constexpr for

<chrono>

N3469

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 constexpr for

<array>

N3470

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 constexpr for

<initializer_list>

,

<utility>

and

<tuple>

N3471

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Improved

std::integral_constant

(

FTM

)*

N3545

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

User-defined literals

for

<chrono>

and

<string>

(

FTM

)* (

FTM

)*

N3642

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

Null forward iterators

(

FTM

)*

N3644

5 (partial)
10 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

std::quoted

(

FTM

)*

N3654

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

std::make_unique

(

FTM

)*

N3656

4.9 3.4 18.0*Yes 17.1.0 5.15 10.3 Heterogeneous associative lookup (

FTM

)*

N3657

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

std::integer_sequence

(

FTM

)*

N3658

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

std::shared_timed_mutex

N3659

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3

std::exchange

(

FTM

)*

N3668

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Fixing constexpr member functions without const

N3669

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Addressing tuples by type:

std::get<T>()

(

FTM

)*

N3670

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Dual-Range

std::equal

,

std::is_permutation

,

std::mismatch

(

FTM

)*

N3671

5 3.4 19.0 (2015)*Yes 17.1.0 5.15 10.3 Alias templates for

transformation traits

(

FTM

)*

N3655

4.9 3.4 18.0*Yes

User-defined Literals for std::complex

(

FTM

)*

N3779

4.9 3.4 19.0 (2015)*Yes DR11:

std::is_null_pointer

(

FTM

)*

LWG2247

4.9 3.4 19.0 (2015)*

std::is_final

(

FTM

)*

LWG2112

5 3.4 19.0 (2015)*

std::make_reverse_iterator

(

FTM

)*

LWG2285

5 3.4 19.0 (2015)*

std::shared_timed_mutex

(

FTM

)*

N3891

4.9 3.5 19.0 (2015)*Yes std::tuple_element_t (

FTM

)*

N3887

4.10 3.5 19.0 (2015)*Yes 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*