Namespaces
Variants
Views
Actions

cpp/compiler support

From cppreference.com
< cpp
Revision as of 17:17, 20 March 2014 by P12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The following table presents compiler support for new C++ features. These include C++11, C++14 and various technical specifications.

C++ feature Paper(s)
HP aCC
EDG eccp
GCC
Intel C++
MSVC
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Digital Mars C++
Clang
alignas N2341 4.8 3.0
alignof N2341 4.5 Yes 2.9
Atomic operations N2427 4.4 13.0 11.0 3.1
auto N1984(v1.0) 4.1(v0.9) 4.4(v1.0) 11.0(v0.9) 10.0(v0.9) 11.1(v1.0) Yes
C99 preprocessor N1653 4.3 11.1 10.1 5.9 Yes Yes
Concepts (removed) N2617
constexpr N2235 4.6 13.0 12.1 3.1
decltype v1.0: N2343

v1.1: N3276

4.1(v1.0) 4.3(v1.0)
4.8.1(v1.1)
11.0(v1.0) 10.0(v1.0)
11.0(v1.1)
11.1(v1.0) Yes 2.9
Defaulted and deleted functions N2346 4.1 4.4 12.0 3.0
Delegating constructors N1986 4.7 11.0 11.1 3.0
Explicit conversion operators N2437 4.5 13.0 11.0 12.1 Yes 3.0
Extended friend declarations N1791 4.1 4.7 11.0 Yes 111 2.9
extern template N1987 3 3.3 9.0 6.0 11.1 Yes Yes
Forward enum declarations N2764 4.6 11.0 12.1 3.1
Inheriting constructors N2540 4.8 3.3
Initializer lists N2672 4.4 13.0 11.0 3.1
Lambda expressions v0.9: N2550

v1.0: N2658
v1.1: N2927

4.1(v0.9) 4.5(v1.1) 11.0(v0.9)
12.0(v1.0)
10.0(v1.0)
11.0(v1.1)
3.1
Local and unnamed types as template parameters N2657 4.5 12.0 10.0 2.9
long long N1811 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Namespace aliases N2535 4.4 11.1 2.9
New character types N2249] 4.4 2.9
Deduced function return types (-> auto) N2541 4.1 4.4 12.1 10.0 12.1 2.9
nullptr N2431 4.6 Yes 10.0 2.9
Unicode string literals N2442 4.4 Yes 5.7 Yes 3.0
Raw string literals N2442 4.5 11.0 Yes
User-defined literals N2765 4.7 3.1
Right angle brackets N1757 4.1 4.3 11.0 8.0 12.1 Yes
R-value references v1.0: N2118

v2.0: N2844
v2.1: N2844+
v3.0: N3053

4.1(v1.0) 4.3(v1.0)
4.5(v2.1)
4.6(v3.0)
11.1(v1.0)
12.0(v2.0)
10.0(v2.0)
11.0(v2.1)
12.1(v2.1) Yes Yes
static_assert N1720 4.1 4.3 11.0 10.0 11.1 Yes 2.9
Strongly-typed enum N2347 4.4 12.0 11.0 12.1 Yes 2.9
Template aliases N2258 4.7 12.1 3.0
Thread-local storage N2659 Yes Yes Yes Yes Yes
Unrestricted unions N2544 4.6 3.0
Type traits N1836 6.16 4.0 4.3 10.0 8.0 Yes 3.0
Variadic templates v0.9: N2242

v1.0: N2555

4.1(v0.9) 4.3(v0.9)
4.4(v1.0)
12.1(v0.9) 11.0 11.1(v0.9) 2.9(v1.0)
Range-for loop N2930] 4.6 13.0 11.0 3.0
override and final v0.8: N2928

v0.9: N3206
v1.0: N3272

4.7 12.0(v0.8) 8.0(v0.8)
11.0(v1.0)
2.9
Attributes N2761 4.8 12.1 3.3
ref-qualifiers N2439 4.8.1 2.9
Non-static data member initializers N2756 4.7 3.0
Dynamic initialization and destruction with concurrency N2660 4.3 2.9