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 | 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 | 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 | 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
- Clang++
- 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++


