The Intel® C++ Compiler includes a number of predefined macros. The compiler also includes predefined macros specified by the ISO/ANSI standard.
The following table lists the predefined macros on systems based on either the IA-32 or Intel® 64 architecture.
Unless otherwise stated, the macros are supported on systems based on IA-32 architecture and also on systems based on Intel® 64 architecture.
Macro (IA-32 and Intel® 64 architecture) |
Value |
---|---|
__ARRAY_OPERATORS |
1 |
__BASE_FILE__ |
Name of source file |
_BOOL |
1 |
__cilk |
200; however, if -cilk-serialize or -no-intel-extensions is specified, the value is undefined. |
__cplusplus |
1 (with C++ compiler) |
__DEPRECATED |
1 |
__EDG__ |
1 |
__EDG_VERSION__ |
EDG version |
__ELF__ |
1 |
__extension__ |
|
__EXCEPTIONS |
Defined as 1 when -fno-exceptions is not used. |
__GNUC__ |
The major version number of gcc installed on the system. |
__GNUG__ |
The major version number of g++ installed on the system. |
__gnu_linux__ |
1 |
__GNUC_MINOR__ |
The minor version number of gcc or g++ installed on the system. |
__GNUC_PATCHLEVEL__ |
The patch level version number of gcc or g++ installed on the system. |
__GXX_ABI_VERSION |
102 |
__HONOR_STD |
1 |
__i386 Available only on systems based on IA-32 architecture. |
1 |
__i386__ Available only on systems based on IA-32 architecture. |
1 |
i386 Available only on systems based on IA-32 architecture. |
1 |
__ICC |
Intel compiler version |
__INTEL_COMPILER |
Intel compiler version |
__INTEL_COMPILER_BUILD_DATE |
YYYYMMDD |
__INTEL_RTTI__ |
Defined as 1 when -fno-rtti is not specified. |
__INTEL_STRICT_ANSI__ |
Defined as 1 when -strict-ansi is specified. |
__linux |
1 |
__linux__ |
1 |
linux |
1 |
__LONG_DOUBLE_SIZE__ |
80 |
__LONG_MAX__ Available only on systems based on Intel® 64 architecture. |
9223372036854775807L |
__LP64__ Available only on systems based on Intel® 64 architecture. |
1 |
_LP64 Available only on systems based on Intel® 64 architecture. |
1 |
_MT Available only on systems based on Intel® 64 architecture. |
1 |
__MMX__ Available only on systems based on Intel® 64 architecture. |
1 |
__NO_INLINE__ |
1 |
__NO_MATH_INLINES |
1 |
__NO_STRING_INLINES |
1 |
_OPENMP |
Defined as 200805 when -openmp is specified. |
__OPTIMIZE__ |
1 |
__pentium4 |
1 |
__pentium4__ |
1 |
__PIC__ |
Defined as 1 when -fPIC is specified. |
__pic__ |
Defined as 1 when -fPIC is specified. |
_PGO_INSTRUMENT |
Defined as 1 when -prof-gen[x] is specified. |
_PLACEMENT_DELETE |
1 |
__PTRDIFF_TYPE__ |
int on IA-32 architecture; |
__REGISTER_PREFIX__ |
|
__SIGNED_CHARS__ |
1 |
__SIZE_TYPE__ |
unsigned on IA-32 architecture |
__SSE__ |
Defined as 1 for processors that support SSE instructions. |
__SSE2__ |
Defined as 1 for processors that support SSE2 instructions. |
__SSE3__ |
Defined as 1 for processors that support SSE3 instructions. |
__SSSE3__ |
Defined as 1 for processors that support SSSE3 instructions. |
__unix |
1 |
__unix__ |
1 |
unix |
1 |
__USER_LABEL_PREFIX__ |
|
__VERSION__ |
Intel version string |
__WCHAR_T |
1 |
__WCHAR_TYPE__ |
long int on IA-32 architecture |
__WINT_TYPE__ |
unsigned int |
__x86_64 Available only on systems based on Intel® 64 architecture. |
1 |
__x86_64__ Available only on systems based on Intel® 64 architecture. |
1 |
Copyright © 1996-2011, Intel Corporation. All rights reserved.