The Intel® C++ Compiler supports the predefined macros listed in the following table. The compiler also includes predefined macros specified by the ISO/ANSI standard.
Macro Name | Value | Architecture |
---|---|---|
__BASE_FILE__ | Name of source file | All |
__cplusplus | 1 | All |
__EDG__ | 1 | All |
__EDG_VERSION__ | 303 | All |
__ELF__ | 1 | All |
__EXCEPTIONS | Defined when -fno-exceptions is not used. | IA-32 only |
__GNUC__ | 2 - if gcc version is less than 3.2 3 - if gcc version is 3.2, 3.3, or 3.4 |
All |
__gnu_linux__ | 1 | All |
__GNUC_MINOR__ | 95 - if gcc version is less than 3.2 2 - if gcc version is 3.2 3 - if gcc version is 3.3 4 - if gcc version is 3.4 |
All |
__GNUC_PATCHLEVEL__ | 0 | All |
__GXX_ABI_VERSION | 102 | All |
__i386 | 1 | IA-32 only |
__i386__ | 1 | IA-32 only |
i386 | 1 | IA-32 only |
__ia64 | 1 | Itanium® architecture only |
__ia64__ | 1 | Itanium architecture only |
ia64 | 1 | Itanium architecture only |
__INTEL_COMPILER | 900 | All |
__INTEL_COMPILER_BUILD_DATE | YYYYMMDD | All |
__INTEL_CXXLIB_ICC | 1 when -cxxlib-icc option is specified during compilation. | All |
__INTEL_RTTI__ | 1 when -fno-rtti is not specified. | All |
__INTEL_STRICT_ANSI__ | 1 when -strict-ansi is specified. | All |
_INTEGRAL_MAX_BITS | 64 | Itanium architecture only |
__itanium__ | 1 | Itanium architecture only |
__linux | 1 | All |
__linux__ | 1 | All |
linux | 1 | All |
__LONG_DOUBLE_SIZE__ | 80 | IA-32 only |
__LONG_MAX__ | 9223372036854775807L | Itanium architecture only |
__lp64 | 1 | Itanium architecture only |
__LP64__ | 1 | Itanium architecture only |
_LP64 | 1 | Itanium architecture only |
__NO_INLINE__ | 1 | All |
__NO_MATH_INLINES | 1 | All |
__NO_STRING_INLINES | 1 | All |
__OPTIMIZE__ | 1 | All |
__PIC__ | 1 when -fPIC is used. | All |
__pic__ | 1 when -fPIC is used. | All |
_PGO_INSTRUMENT | 1 when -prof-gen[x] is used. | All |
__PTRDIFF_TYPE__ | int on IA-32 long on Itanium architecture |
All |
__REGISTER_PREFIX__ | (no value) | All |
__SIGNED_CHARS__ | 1 | All |
__SIZE_TYPE__ | unsigned on IA-32 unsigned long on Itanium architecture |
All |
__unix | 1 | All |
__unix__ | 1 | All |
unix | 1 | All |
__USER_LABEL_PREFIX__ | (no value) | All |
__VERSION__ | "Intel(R) C++ gcc 3.0 mode" | All |
__WCHAR_T | 1 | All |
__WCHAR_TYPE__ | long int on IA-32 int on Itanium architecture |
All |
__WINT_TYPE__ | unsigned int | All |