Starting in 11.0 the Intel(R) C++ Compiler has supported some of the C++11 features (previously called C++0x). With the latest release of Intel C++ Composer XE for Windows*, Linux* and Mac OS* X 2013 SP1, more C++11 features are supported.
Standard# | Core Language Features | Version 11.1 | Version 12.0 | Version 12.0 Update 6 or 12.1 | Version 13.0 | Version 14.0 |
N1610 | Initialization of class objects by rvalues | Yes | Yes | Yes | Yes | Yes |
N1720 | static_assert | Yes | Yes | Yes | Yes | Yes |
N1737 | Multi-declarator auto | - | Yes | Yes | Yes | Yes |
N1757 | Right angle brackets | Yes | Yes | Yes | Yes | Yes |
N1791 | Extended friend declarations | Partial | Yes | Yes | Yes | Yes |
N1984 | auto: Deducing the type of variable from its initializer expression | - | Yes | Yes | Yes | Yes |
N1986 | Delegating constructors | - | - | - | - | Yes |
N1987 | Extern templates | Yes | Yes | Yes | Yes | Yes |
N2118 | Rvalues references | - | Yes | Yes | Yes | Yes |
N2170 | Universal character names in literals | - | - | Yes | Yes | Yes |
N2235 | Generalized constant expressions | - | - | - | Partial | Yes |
N2242 | variadic templates v0.9 | - | - | Yes | Yes | Yes |
N2249 | char16_t/char32_t types | - | - | Partial on Windows; Yes on Linux & Mac OS X | Partial on Windows; Yes on Linux & Mac OS X | Yes |
N2253 | Extended sizeof | - | - | - | - | - |
N2258 | alias templates | - | - | Yes | Yes | Yes |
N2341 | Alignment: Adding Alignment Support to the C++ Programming Language | - | - | - | - | - |
N2342 | Standard-layout and trivial types | - | - | - | - | - |
N2343 | decltype v1.0 | - | Yes | Yes | Yes | Yes |
N2346 | deleted and defaulted functions | - | Yes | Yes | Yes | Yes |
N2347 | Explicit enum bases and scoped enums | - | - | - | Yes | Yes |
N2347 | Strongly typed enums | Partial | Partial | Partial | Partial | Yes |
N2431 | nullptr | - | - | Yes | Yes | Yes |
N2437 | Explicit conversion operators | - | - | - | Yes | Yes |
N2439 | Rvalue references for *this | - | - | - | - | Yes |
N2442 | Raw string literals | - | - | - | - | Yes |
N2535 | Inline namespaces | - | - | - | - | Yes |
N2540 | Inheriting constructors | - | - | - | - | - |
N2541 | auto: Trailing return types | - | Yes | Yes | Yes | Yes |
N2541 | Late-specified return types | - | - | Yes | Yes | Yes |
N2544 | Unrestricted unions | - | - | - | - | Yes on Linux* & OS X* No on Windows |
N2546 | auto v1.0: Removal of auto as a storage-class specifier | - | Yes | Yes | Yes | Yes |
N2550 | Lambdas v0.9: Lambda Expressions and Closures | - | Yes | Yes | Yes | Yes |
N2555 | variadic templates v1.0 | - | - | Yes | Yes | Yes |
N2634 | New-style Expression SFINAE (N2634) | - | - | Yes | Yes | Yes |
N2657 | Local and unnamed types as template arguments | - | Yes | Yes | Yes | Yes |
N2658 | Lambdas v1.0: Constness of Lambda Functions | - | Yes | Yes | Yes | Yes |
N2670 | Minimal support for garbage collection | - | - | - | - | - |
N2672 | General initializer lists | - | - | - | Partial | Yes |
N2756 | Non-static data member initializers | - | - | - | - | Yes |
N2761 | Standard attributes (N2761) | - | - | Yes | Yes | Yes |
N2764 | Forward declared enums | Partial | Partial | Partial | Partial | Yes |
N2765 | User-defined literals | - | - | - | - | - |
N2844 | Rvalue references v2 | - | Yes | Yes | Yes | Yes |
N2927 | Lambdas v1.1: New wording for C++0x Lambdas | - | Yes | Yes | Yes | Yes |
N2928 | Explicit Virtual Overrides | - | - | - | - | Yes |
N2930 | Range-based for loops | - | - | - | Yes | Yes |
N2947 | Additional type traits | - | - | - | Yes | Yes |
N3050 | noexcept or Allowing move constructors to throw | - | - | - | - | Yes |
N3052 | Conversions of lambdas to function pointers | - | - | - | Yes | Yes |
N3053 | RValues: Defining Move Special Member Functions | - | - | - | - | Yes |
N3206 | Explicit virtual overrides -> Override control: Eliminating Attributes | - | - | - | - | - |
N3272 | override and final | - | - | - | - | Yes |
N3276 | decltype v1.1: Decltype and Call Expressions | - | Yes | Yes | Yes | Yes |
Core issue 382 | Allow typename outside of templates | - | Yes | Yes | Yes | Yes |
DR226 | Default template arguments for function templates | - | - | Yes | Yes | Yes |
Core Language Features: Concurrency | ||||||
N2179 | exception_ptr | - | Yes | Yes | Yes | Yes |
N2239 | Reworded sequence points | - | - | - | - | - |
N2440 | quick_exit | - | - | - | - | - |
N2427 | atomic types and operations | - | - | - | Yes | Yes |
N2429 | Memory model | - | - | - | - | - |
N2547 | Atomics in signal handlers | - | - | - | - | - |
N2659 | Thread-local storage | - | - | - | - | - |
N2660 | Magic statics | - | - | - | - | - |
N2664 | Data-dependency ordering | - | - | - | - | - |
N2748 | Strong compare and exchange | - | - | - | - | - |
N2752 | Bidirectional fences | - | - | - | - | - |
N2782 | Data-dependency ordering: function annotation | - | - | - | - | - |
Core Language Features: C99 | ||||||
N1653 | C99 preprocessor | Yes | Yes | Yes | Yes | Yes |
N1811 | long long | Yes | Yes | Yes | Yes | Yes |
N2340 | __func__ | Yes | Yes | Yes | Yes | Yes |
N1988 | Extended integer types | - | - | - | - | - |
On Windows environment when using Intel C++ compiler with Visual Studio 2010* or 2012*, the C++11 features supported by Visual C++ 2010/2012 are enabled by default. Use "/Qstd=c++11" to turn on the support for all other cases.
On Linux or Mac OS X environment use "-std=c++11".
Note: /Qstd=c++0x (-std=c++0x on Linux or Mac OS X) is still supported. it is the same as /Qstd=c++11(-std=c++11 on Linux or Mac OS X).
Please read the documentation for detail information under /Qstd (-std on Linux* or Mac OS* X) option.
See C99 Support in Intel C++ Compilerarticle for supported C99 features.
-----