The Intel® C++ Compiler supports the predefined macros listed in the table below. The compiler also includes predefined macros specified by the ISO/ANSI standard.
The following designations apply:
Label |
Meaning |
---|---|
i32 |
Included on systems based on IA-32 architecture. |
i64em |
Included on systems based on Intel® 64 architecture. |
i64 |
Included on systems based on IA-64 architecture. |
Macro Name |
Value |
i32 |
i64em |
i64 |
---|---|---|---|---|
__ARRAY_OPERATORS |
1 |
X |
X |
X |
__BASE_FILE__ |
Name of source file |
X |
X |
X |
_BOOL |
1 |
X |
X |
X |
__cplusplus |
1 (with C++ compiler) |
X |
X |
X |
_CLUSTER_OPENMP |
Defined as 1 when the -cluster-openmp or -cluster-openmp-profile compiler option is used. |
|
X |
X |
__DEPRECATED |
1 |
X |
X |
X |
__ECC |
Intel Compiler Version |
|
|
X |
__EDG__ |
1 |
X |
X |
X |
__EDG_VERSION__ |
EDG version |
X |
X |
X |
__ELF__ |
1 |
X |
X |
X |
__extension__ |
|
X |
X |
X |
__EXCEPTIONS |
Defined as 1 when -fno-exceptions is not used. |
X |
X |
X |
__GNUC__ |
The major version number of gcc installed on the system. |
X |
X |
X |
__GNUG__ |
The major version number of g++ installed on the system. |
X |
X |
X |
__gnu_linux__ |
1 |
X |
X |
X |
__GNUC_MINOR__ |
The minor version number of gcc or g++ installed on the system. |
X |
X |
X |
__GNUC_PATCHLEVEL__ |
The patch level version number of gcc or g++ installed on the system. |
X |
X |
X |
__GXX_ABI_VERSION |
102 |
X |
X |
X |
__HONOR_STD |
1 |
X |
X |
|
__i386 |
1 |
X |
|
|
__i386__ |
1 |
X |
|
|
i386 |
1 |
X |
|
|
__ia64 |
1 |
|
|
X |
__ia64__ |
1 |
|
|
X |
__ICC |
Intel compiler version |
X |
X |
|
_INTEGRAL_MAX_BITS |
64 |
|
|
X |
__INTEL_COMPILER |
Intel compiler version |
X |
X |
X |
__INTEL_COMPILER_BUILD_DATE |
YYYYMMDD |
X |
X |
X |
__INTEL_RTTI__ |
Defined as 1 when -fno-rtti is not specified. |
X |
X |
X |
__INTEL_STRICT_ANSI__ |
Defined as 1 when -strict-ansi is specified. |
X |
X |
X |
__itanium__ |
1 |
|
|
X |
__linux |
1 |
X |
X |
X |
__linux__ |
1 |
X |
X |
X |
linux |
1 |
X |
X |
X |
__LONG_DOUBLE_SIZE__ |
80 |
X |
X |
X |
__LONG_MAX__ |
9223372036854775807L |
|
X |
X |
__lp64 |
1 |
|
|
X |
__LP64__ |
1 |
|
X |
X |
_LP64 |
1 |
|
X |
X |
_MT |
1 |
|
X |
|
__MMX__ |
1 |
|
X |
|
__NO_INLINE__ |
1 |
X |
X |
X |
__NO_MATH_INLINES |
1 |
X |
X |
X |
__NO_STRING_INLINES |
1 |
X |
X |
X |
_OPENMP |
Defined as 200805 when -openmp is specified. |
X |
X |
X |
__OPTIMIZE__ |
1 |
X |
X |
X |
__pentium4 |
1 |
X |
X |
|
__pentium4__ |
1 |
X |
X |
|
__PIC__ |
Defined as 1 when -fPIC is specified. |
X |
X |
X |
__pic__ |
Defined as 1 when -fPIC is specified. |
X |
X |
X |
_PGO_INSTRUMENT |
Defined as 1 when -prof-gen[x] is specified. |
X |
X |
X |
_PLACEMENT_DELETE |
1 |
X |
X |
X |
__PTRDIFF_TYPE__ |
int on IA-32 architecture |
X |
X |
X |
__REGISTER_PREFIX__ |
|
X |
X |
X |
__SIGNED_CHARS__ |
1 |
X |
X |
X |
__SIZE_TYPE__ |
unsigned on IA-32 architecture |
X |
X |
X |
__SSE__ |
Defined as 1 for processors that support SSE instructions. |
X |
X |
|
__SSE2__ |
Defined as 1 for processors that support SSE2 instructions. |
X |
X |
|
__SSE3__ |
Defined as 1 for processors that support SSE3 instructions. |
X |
X |
|
__SSSE3__ |
Defined as 1 for processors that support SSSE3 instructions. |
X |
X |
|
__unix |
1 |
X |
X |
X |
__unix__ |
1 |
X |
X |
X |
unix |
1 |
X |
X |
X |
__USER_LABEL_PREFIX__ |
|
X |
X |
X |
__VERSION__ |
Intel version string |
X |
X |
X |
__WCHAR_T |
1 |
X |
X |
X |
__WCHAR_TYPE__ |
long int on IA-32 architecture |
X |
X |
X |
__WINT_TYPE__ |
unsigned int |
X |
X |
X |
__x86_64 |
1 |
|
X |
|
__x86_64__ |
1 |
|
X |
|