| December 6, 2010 11:00 PM PST | |
Starting in 11.0 the Intel(R) C++ Compiler has supported some of the C++0x features. With the latest release of Intel C++ Composer XE for Windows, Linux* and Mac OS* X, and the Intel Parallel Composer 2011, more C++0x features are supported.
| C++0x Core Language Features | Version 11.1 | Version 12.0 | Version 12.0 Update 6 |
| Rvalue references v2 | No | Yes | Yes |
| Rvalue references for *this | No | No | No |
| Initialization of class objects by rvalues | Yes | Yes | Yes |
| static_assert | Yes | Yes | Yes |
| auto | No | Yes | Yes |
| Multi-declarator auto | No | Yes | Yes |
| Removing old auto | No | Yes | Yes |
| Trailing return types | No | Yes | Yes |
| Lambdas V1.0 | No | Yes | Yes |
| decltype | No | Yes | Yes |
| Right angle brackets | Yes | Yes | Yes |
| Extern templates | Yes | Yes | Yes |
| nullptr | No | No | yes |
| Strongly typed enums | Partial | Partial | Partial |
| Forward declared enums | Partial | Partial | Partial |
| Extended friend declarations | Partial | Yes | Yes |
| Local and unnamed types as template arguments | No | Yes | Yes |
| deleted and defaulted functions | No | Yes | Yes |
| Allow typename outside of templates | No | Yes | Yes |
| variadic templates | No | No | Yes |
| New-style SFINAE (N2634) | No | No | Yes |
| alias templates | No | No | Yes |
| Late-specified return types | No | No | Yes |
| Default template arguments for function templates | No | No | Yes |
| Standard attributes (N2761) | No | No | Yes |
| char16_t/char32_t types | No | No | Partial on Windows; Yes on Linux & Mac OS X |
| C++0x Core Language Features: Concurrency | |||
| exception_ptr | No | Yes | Yes |
| Thread-local storage | Partial | Partial | Partial |
| C++0x Core Language Features: C99 | |||
| __func__ | Yes | Yes | Yes |
| C99 preprocessor | Yes | Yes | Yes |
| long long | Yes | Yes | Yes |
On Windows environment when using Intel C++ compiler with Visual Studio 2010*, the C++0x features supported by Visual C++ 2010 are enabled by default. Use "/Qstd=c++0x" to turn on the support for all other cases.
On Linux or Mac OS X environment use "-std=c++0x".
Please read the documentation for detail information under /Qstd (-std on Linux* or Mac OS* X) option.
See C99 Support in Intel(R) C++ Compiler article for supported C99 features.
Do you need more help?
This article applies to: Intel® C++ Compiler for Linux* Knowledge Base, Intel® C++ Compiler for Mac OS X* Knowledge Base, Intel® C++ Compiler for Windows* Knowledge Base, Intel® Parallel Composer Knowledge Base
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (3) 
| March 5, 2011 6:30 AM PST
er2020 |
#include <boost/config.hpp> { std::string cpp0x = "RVALUE_REFERENCES : "; #ifdef BOOST_NO_RVALUE_REFERENCES cpp0x += "NO"; #else cpp0x += "YES"; #endif cpp0x += ", VARIADIC_TEMPLATES : "; #ifdef BOOST_NO_VARIADIC_TEMPLATES cpp0x += "NO"; #else cpp0x += "YES"; #endif std::cout << cpp0x << std::endl; } outputs NO for each whether -std=c++0x is specified or not, for Intel® C++ Composer XE 12.0 for Linux. Am doing this right? Note : GCC-4.4 outputs YES if -std=c++0x, NO otherwise on my platform, as is expected. |
| March 8, 2011 7:00 AM PST
Jennifer Jiang (Intel)
|
Could you please post this issue to the Intel C++ Forum - http://software.intel.com/en-us/forums/intel-c-compiler/? Which version of boost is used here? Try this: create .i from g++; then build the .i with icpc. I'm wondering if the boost lib has "#ifdef __INTEL_C". |
Trackbacks (2)
- Where's Walden? » Introducing MOZ_DELETE, a macro improving upon the deliberately-unimplemented method idiom
November 9, 2011 1:08 PM PST - kfsone's pittance
February 21, 2012 7:19 PM PST
Leave a comment 
To obtain technical support, please go to Software Support.
Author
Jennifer Jiang (Intel)
|


Mike Marshall