##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# C++ compiler support

From cppreference.com
< cpp

| This page is work-in-progress and not yet up to date

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 |  | 11.0* |  |  |  |  | 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 | 12.0 |  |  |  |  | 3.0
Delegating constructors | N1986 |  |  | 4.7 |  | 12.0 | 11.1 |  |  |  | 3.0
Explicit conversion operators | N2437 |  |  | 4.5 | 13.0 | 12.0 | 12.1 |  | Yes |  | 3.0
Extended friend declarations | N1791 |  | 4.1 | 4.7 | 11.0 | 10.0* | 11.1 |  |  |  | 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 | 12.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 Association | N2535 |  |  | 4.4 |  |  | 11.1 |  |  |  | 2.9
New character types | N2249 |  |  | 4.4 |  |  |  |  |  |  | 2.9
Trailing function return types | N2541 |  | 4.1 | 4.4 | 12.1 | 10.0 | 12.1 |  |  |  | 2.9
nullptr | N2431 |  |  | 4.6 | 12.1* | 10.0 |  |  |  |  | 2.9
Unicode string literals | N2442 |  |  | 4.4 | 11.0* |  |  | 5.7 | Yes |  | 3.0
Raw string literals | N2442 |  |  | 4.5 |  | 12.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 | 12.0 |  |  |  |  | 3.0
Thread-local storage | N2659 |  |  | 4.4* 4.8 | 11.1* | 10.0* |  | 5.9* |  |  | 3.3* 3.3
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) | 12.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 |  | 12.0 |  |  |  |  | 3.0
Dynamic initialization and destruction with concurrency | N2660 |  |  | 4.3 |  |  |  |  |  |  | 2.9

* - hover over the version number to see notes

### [edit] References

Individual vendor compatibility checklists (these are more up-to-date than the table above)

- GCC

  - C++11 core language support status
  - C++14 core language support status
  - C++11 library support status
  - C++14 library support status
  - Technical Specifications support status

- Clang++

  - C++11 core language support status
  - C++14 core language support status
  - C++14 library support status
  - Technical Specifications support status
  - C++17 core language support status

- Intel C++

  - C++11 core language support status
  - C++14 core language support status
  - (note: Intel does not ship an implementation of the C++ standard library)

- Oracle C++

  - C++11 support status

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/compiler_support&oldid=72405"