# 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 __declspec(thread) attribute to each threadprivate variable. The limitations of the attribute on a given platform also apply to the threadprivate implementation. 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:

- 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 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: OpenMP* Options and Parallel Processing Options