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 200505 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 long on Intel 64 architecture long on IA-64 architecture |
X | X | X |
| __REGISTER_PREFIX__ | X | X | X | |
| __SIGNED_CHARS__ | 1 | X | X | X |
| __SIZE_TYPE__ | unsigned on IA-32 architecture unsigned long on Intel 64 architecture unsigned long on IA-64 architecture |
X | X | X |
| __SSE__ | 1 | X | X | |
| __SSE2__ | 1 | 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 int on Intel 64 architecture int on IA-64 architecture |
X | X | X |
| __WINT_TYPE__ | unsigned int | X | X | X |
| __x86_64 | 1 | X | ||
| __x86_64__ | 1 | X |