Intel® Fortran Compiler 17.0 Developer Guide and Reference

qopenmp-threadprivate, Qopenmp-threadprivate

Lets you specify an OpenMP* threadprivate implementation. Option -qopenmp-threadprivate is the replacement option for -openmp-threadprivate, which is deprecated.

Syntax

Linux:

-qopenmp-threadprivate=type

macOS:

None

Windows:

/Qopenmp-threadprivate:type

Arguments

type

Specifies the type of threadprivate implementation. Possible values are:

legacy

Tells the compiler to use the legacy OpenMP* threadprivate implementation used in the previous releases of the Intel® compiler. This setting does not provide compatibility with the implementation used by other compilers.

compat

Tells the compiler to use the compatibility OpenMP* threadprivate implementation based on applying the thread-local attribute to each threadprivate variable. This setting provides compatibility with the implementation provided by the Microsoft* and GNU* compilers.

Default

-qopenmp-threadprivate=legacy
or/Qopenmp-threadprivate:legacy

The compiler uses the legacy OpenMP* threadprivate implementation used in the previous releases of the Intel compiler.

Description

This option lets you specify an OpenMP* threadprivate implementation.

The threadprivate implementation of the legacy OpenMP run-time library may not be compatible with object files created using OpenMP run-time libraries supported in other compilers.

To use this option, you must also specify one of the following compiler options:

The value specified for this option is independent of the value used for the [q or Q]openmp-lib option.

Note

On Windows* systems, if you specify option /Qopenmp-threadprivate:compat, the compiler does not generate threadsafe code for common blocks in an !$OMP THREADPRIVATE directive unless at least one element in the common block is explicitly initialized. For more information, see the article titled: /Qopenmp-threadprivate:compat doesn't work with uninitialized threadprivate common blocks, which is located in http://intel.ly/1aHhsjc

Note

On OS X* systems, legacy is the only type of threadprivate supported. Option -qopenmp-threadprivate is not recognized by the compiler.

IDE Equivalent

None

Alternate Options

None