Additional Predefined Macros

The Intel® C++ Compiler includes a number of predefined macros. The compiler also includes predefined macros specified by the ISO/ANSI standard.

Predefined Macros on Systems based on IA-32 or Intel® 64 Architectures

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;
long on Intel® 64 architecture

__REGISTER_PREFIX__

 

__SIGNED_CHARS__

1

__SIZE_TYPE__

unsigned on IA-32 architecture
; unsigned long on Intel® 64 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
; int on Intel® 64 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

See Also


Submit feedback on this help topic

Copyright © 1996-2011, Intel Corporation. All rights reserved.