インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

qopenmp-threadprivate、Qopenmp-threadprivate

OpenMP* threadprivate の実装を選択できます。

構文

Linux*:

-qopenmp-threadprivate=type

macOS*:

なし

Windows*:

/Qopenmp-threadprivate:type

引数

type

threadprivate の実装タイプを指定します。設定可能な値は以下のとおりです。

legacy

以前のインテル® コンパイラーで使用されていた、従来の OpenMP* threadprivate 実装を使用します。この設定では、他のコンパイラーとの互換性は提供されません。

compat

スレッドローカル属性を各 threadprivate 変数に適用して、互換 OpenMP* threadprivate 実装を使用します。この設定では、Microsoft* コンパイラーおよび GNU* コンパイラーとの互換性が提供されます。

デフォルト

-qopenmp-threadprivate=legacy
または /Qopenmp-threadprivate:legacy

コンパイラーは、以前のインテル® コンパイラーで使用されていた、従来の OpenMP* threadprivate 実装を使用します。

説明

このオプションは、OpenMP* threadprivate の実装を選択できます。

以前の OpenMP* ランタイム・ライブラリーの threadprivate の実装は、ほかのコンパイラーでサポートされている OpenMP* ランタイム・ライブラリーを使用して作成されたオブジェクト・ファイルと互換性がありません。

このオプションを使用するには、以下のいずれかのコンパイラー・オプションも指定する必要があります。

このオプションで指定された値は、[q または Q]openmp-lib オプションで使用される値とは関係ありません。

Windows* では、/Qopenmp-threadprivate:compat を指定すると、!$OMP THREADPRIVATE ディレクティブが指定された共通ブロックに対して、その共通ブロックの少なくとも 1 つの要素が明示的に初期化されていない限り、コンパイラーはスレッドセーフなコードを生成しません。詳細は、「初期化されていない THREADPRIVATE 共通ブロックで /Qopenmp-threadprivate:compat は動作しない」 (http://intel.ly/1aHhsjc (英語)) を参照してください。

macOS* システムでは legacy タイプのみサポートされています。コンパイラーでは -qopenmp-threadprivate オプションは、認識されません。

IDE オプション

なし

代替オプション

なし