COMMON ブロックの一部が OpenMP* THREADPRIVATE

FORTRAN COMMON ブロックで TREADPRIVATE データと THREADPRIVATE でないデータが混在しています。

1 つのプログラム単位に COMMON ブロック名を指定する THREADPRIVATE 宣言子がある場合、そのような宣言子は同じ名前を指定する COMMON 文を含むその他すべてのプログラム単位になければなりません。宣言子は、プログラム単位の最後の COMMON の後に記述する必要があります。この診断は、COMMON ブロックが、あるルーチンでは THREADPRIVATE が宣言され、別のルーチンでは宣言されていないことを示します。

ID

問題箇所

説明

1

定義

COMMON ブロックが THREADPRIVATE と宣言されていない場所

2

定義

COMMON ブロックが THREADPRIVATE と宣言されている場所


! Example adapted from A.25.4f from OpenMP* 3.0 Specification
! Copyright (C) 1997-2008 OpenMP Architecture Review Board
    SUBROUTINE A25_4_GOOD()
        COMMON /T/ A
!$OMP THREADPRIVATE(/T/)
        CONTAINS
            SUBROUTINE A25_4S_GOOD()
                COMMON /T/ A
!$OMP THREADPRIVATE(/T/)
!$OMP PARALLEL COPYIN(/T/)
!$OMP END PARALLEL
            END SUBROUTINE A25_4S_GOOD
    END SUBROUTINE A25_4_GOOD

    SUBROUTINE A25_4_BAD()
        COMMON /T/ A
        CONTAINS
            SUBROUTINE A25_4S_BAD()
                COMMON /T/ A
!$OMP PARALLEL COPYIN(/T/)
!$OMP END PARALLEL
            END SUBROUTINE A25_4S_BAD
    END SUBROUTINE A25_4_BAD
        

Note icon

この例は、OpenMP* 3.0 仕様からのもので、次のように著作権が保護されています。

© 1997-2008 OpenMP Architecture Review Board.

この資料は、OpenMP Architecture Review Board の著作権と本ドキュメントのタイトルが記載され、OpenMP Architecture Review Board の許諾に基づく転載である旨が明記されている場合に限り、無料で一部または全体を転載できます また、転載は OpenMP Architecture Review Board の許諾に基づいて行われたことを明記する必要があります。

© 2010 Intel Corporation. 無断での引用、転載を禁じます。