LASTPRIVATE (TU*X のみ)

並列指示文節PRIVATEの機能のスーパーセットを提供します。オブジェクトは PRIVATE として宣言され,並列領域の終了時に特定の値が与えられます。

形式

LASTPRIVATE (list)

list
有効域から参照できる 1 つまたは複数の変数または共通ブロックの名前。部分オブジェクトを指定することはできません。個々の名前はコンマで区切られなくてはならず,名前付き共通ブロックは斜線の間に置かれなくてはなりません (/ /)。

LASTPRIVATE 並びに現れる変数は,PRIVATE 節の文脈に従います。さらに,並列領域が終了した時点で,各変数には,最後のセクションまたはループの繰り返しによって得られた値が与えられます。

DO 指示文中に LASTPRIVATE 節が置かれている場合,最後の繰り返しを実行したスレッドが,その構文に入る前に持っていたオブジェクトの版を更新します。SECTIONS (または PSECTIONS) 指示文中に LASTPRIVATE 節が置かれている場合,字句的に最後の SECTION を実行したスレッドが,その構文に入る前に持っていたオブジェクトの版を更新します。

DO の最後の繰り返し,または SECTIONS (または PSECTIONS) 指示文の字句的に最後の SECTION によって値を代入されなかった部分オブジェクトは,構文を終了した後は不定の状態になります。