Intel® Fortran Compiler 17.0 Developer Guide and Reference

reentrancy

Tells the compiler to generate reentrant code to support a multithreaded application.

Syntax

Linux and macOS:

-reentrancy keyword

-noreentrancy

Windows:

/reentrancy:keyword

/noreentrancy

Arguments

keyword

Specifies details about the program. Possible values are:

none

Tells the run-time library (RTL) that the program does not rely on threaded or asynchronous reentrancy. The RTL will not guard against such interrupts inside its own critical regions. This is the same as specifying noreentrancy.

async

Tells the run-time library (RTL) that the program may contain asynchronous (AST) handlers that could call the RTL. This causes the RTL to guard against AST interrupts inside its own critical regions.

threaded

Tells the run-time library (RTL) that the program is multithreaded, such as programs using the POSIX threads library. This causes the RTL to use thread locking to guard its own critical regions.

Default

threaded

The compiler tells the run-time library (RTL) that the program is multithreaded.

Description

This option tells the compiler to generate reentrant code to support a multithreaded application.

If you do not specify a keyword for reentrancy, it is the same as specifying reentrancy threaded.

To ensure that a threadsafe and/or reentrant run-time library is linked and correctly initialized, option reentrancy threaded should also be used for the link step and for the compilation of the main routine.

Note that if option threads is specified, it sets option reentrancy threaded, since multithreaded code must be reentrant.

IDE Equivalent

Visual Studio: Code Generation > Generate Reentrant Code

Eclipse: None

Xcode: Code Generation > Generate Reentrant Code

Alternate Options

None

See Also