# qopenmp-threadprivate, Qopenmp-threadprivate

Lets you specify an OpenMP* threadprivate implementation.

## 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

ifort: -qopenmp-threadprivate=legacy or /Qopenmp-threadprivate:legacy | The compiler uses the legacy OpenMP* threadprivate implementation used in the previous releases of the Intel compiler.
ifx: -qopenmp-threadprivate=compat or /Qopenmp-threadprivate:compat | The compiler uses the compatibility OpenMP* threadprivate implementation.

## 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:

- Linux* systems: -qopenmp or -qopenmp-stubs

- Windows* systems: /Qopenmp or /Qopenmp-stubs

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.

### Note

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

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Offload Compilation, OpenMP*, and Parallel Processing Options

## See Also

qopenmp, Qopenmp compiler option
qopenmp-stubs, Qopenmp-stubs compiler option