Intel-supported Pragmas

The Intel® C++ Compiler supports the following pragmas to ensure compatibility with other compilers.

Pragmas compatible with the Microsoft* compiler

The following pragmas are compatible with the Microsoft* compiler. For more information about these pragmas, go to the Microsoft* Developer Network (http://msdn.microsoft.com).

Pragma

Description

alloc_text

Names the code section where the specified function definitions are to reside.

auto_inline

Excludes any function defined within the range where off is specified from being considered as candidates for automatic inline expansion.

bss_seg

Indicates to the compiler the segment where uninitialized variables are stored in the .obj file.

check_stack

The on argument indicates that stack checking should be enabled for functions that follow and the off argument indicates that stack checking should be disabled for functions that follow.

code_seg

Specifies a code section where functions are to be allocated.

comment

Places a comment record into an object file or executable file.

component

Controls collecting of browse information or dependency information from within source files.

conform

Specifies the run-time behavior of the /Zc:forScope compiler option.

const_seg

Specifies the segment where functions are stored in the .obj file.

data_seg

Specifies the default section for initialized data.

deprecated

Indicates that a function, type, or any other identifier may not be supported in a future release or indicates that a function, type, or any other identifier should not be used any more.

fenv_access

Informs an implementation that a program may test status flags or run under a non-default control mode.

float_control

Specifies floating-point behavior for a function.

fp_contract

Allows or disallows the implementation to contract expressions.

loop

Controls how the loop code will be considered or excluded from consideration by the auto-vectorizer.

init_seg

Specifies the section to contain C++ initialization code for the translation unit.

message

Displays the specified string literal to the standard output device (stdout).

optimize

Specifies optimizations to be performed on functions below the pragma or until the next optimize pragma; implemented to partly support the Microsoft* implementation of same pragma; for the Intel® C++ Compiler implementation, see the optimize reference page.

pointers_to_members

Specifies whether a pointer to a class member can be declared before its associated class definition and is used to control the pointer size and the code required to interpret the pointer.

pop_macro

Sets the value of the specified macro to the value on the top of the stack.

push_macro

Saves the value of the specified macro on the top of the stack.

region/endregion

Specifies a code segment in the Microsoft* Visual Studio* Code Editor that expands and contracts by using the outlining feature.

section

Creates a section in an .obj file. Once a section is defined, it remains valid for the remainder of the compilation.

vtordisp

The on argument enables the generation of hidden vtordisp members and the off disables them.

push argument pushes the current vtordisp setting to the internal compiler stack. pop argument removes the top record from the compiler stack and restores the removed value of vtordisp.

warning

Allows selective modification of the behavior of compiler warning messages.

weak

Declares symbol you enter to be weak.

Pragmas compatible with other compilers

The following pragmas are compatible with other compilers. For more information about these pragmas, see the documentation for the specified compiler.

Pragma

Description

include_directory

HP-compatible pragma. It appends the string argument to the list of places to search for #include files.

poison

GCC-compatible pragma. It labels the identifiers you want removed from your program; an error results when compiling a "poisoned" identifier; #pragma POISON is also supported.

options

GCC-compatible pragma; It sets the alignment of fields in structures.

weak

GCC-compatible pragma, it declares the symbol you enter to be weak.

For more complete information about compiler optimizations, see our Optimization Notice.