Additional Predefined Macros

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 Supported on IntelŪ IA-32 compilers
i32em Supported on IntelŪ EM64T compilers
i64 Supported on ItaniumŪ compilers
Macro Name Value i32 i32em i64
__ARRAY_OPERATORS 1 X X X
__BASE_FILE__ Name of source file X X X
_BOOL 1 X X X
__cplusplus 1 X X X
__DEPRECATED 1 X X X
__EDG__ 1 X X X
__EDG_VERSION__ 304 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__ 2 - if gcc version is less than 3.2
3 - if gcc version is 3.2, 3.3, or 3.4
4 - if gcc version is 4.x
X X X
__gnu_linux__ 1 X X X
__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
X X X
__GNUC_PATCHLEVEL__ 3 - if gcc version is 3.x 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
ia64 (deprecated) 1     X
__ICC 910 X X  
_INTEGRAL_MAX_BITS 64     X
__INTEL_COMPILER 910 X X X
__INTEL_COMPILER_BUILD_DATE YYYYMMDD X X X
__INTEL_CXXLIB_ICC Defined as 1 when -cxxlib-icc option is specified during compilation. 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  
__pentium4__ 1   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
long
on EM64T
long
on Itanium architecture
X X X
__REGISTER_PREFIX__   X X X
__SIGNED_CHARS__ 1 X X X
__SIZE_TYPE__ unsigned on IA-32
unsigned long
on EM64T
unsigned long
on Itanium architecture
X X X
__SSE__ 1   X  
__SSE2__ 1   X  
__unix 1 X X X
__unix__ 1 X X X
unix 1 X X X
__USER_LABEL_PREFIX__   X X X
__VERSION__ Intel(R) C++ gcc 3.0 mode X X X
__WCHAR_T 1 X X X
__WCHAR_TYPE__ long int on IA-32
int
on EM64T
int
on Itanium architecture
X X X
__WINT_TYPE__ unsigned int X X X
__x86_64 1   X  
__x86_64__ 1   X  

See Also