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

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
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__

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
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

 

See Also