Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 6/24/2024
Public
Document Table of Contents

Pragmas Compatible with Other Compilers

The Intel® oneAPI DPC++/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.

bss_seg

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

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.

const_seg

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

data_seg

Specifies the default section for initialized data.

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.

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.

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 argument disables them.

The push argument pushes the current vtordisp setting to the internal compiler stack. The 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.

Pragmas Supported for GCC-Compatible Compilers

The following pragmas are compatible with GCC-compatible compilers. For more information about these pragmas, see the documentation for that compiler.

Pragma

Description

poison

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

This is a GCC-compatible pragma

options

Sets the alignment of fields in structures.

This is a GCC-compatible pragma

weak

Declares the symbol you enter to be weak.

This is a GCC-compatible pragma

See Also