41 lines
894 B
FortranFixed
41 lines
894 B
FortranFixed
|
C PR fortran/25162
|
||
|
C { dg-do run }
|
||
|
C { dg-require-effective-target tls_runtime }
|
||
|
PROGRAM PR25162
|
||
|
CALL TEST1
|
||
|
CALL TEST2
|
||
|
END
|
||
|
SUBROUTINE TEST1
|
||
|
DOUBLE PRECISION BPRIM
|
||
|
COMMON /TESTCOM/ BPRIM(100)
|
||
|
C$OMP THREADPRIVATE(/TESTCOM/)
|
||
|
INTEGER I
|
||
|
DO I = 1, 100
|
||
|
BPRIM( I ) = DBLE( I )
|
||
|
END DO
|
||
|
RETURN
|
||
|
END
|
||
|
SUBROUTINE TEST2
|
||
|
DOUBLE PRECISION BPRIM
|
||
|
COMMON /TESTCOM/ BPRIM(100)
|
||
|
C$OMP THREADPRIVATE(/TESTCOM/)
|
||
|
INTEGER I, IDUM(50)
|
||
|
DO I = 1, 50
|
||
|
IDUM(I) = I
|
||
|
END DO
|
||
|
C$OMP PARALLEL COPYIN(/TESTCOM/) NUM_THREADS(4)
|
||
|
CALL TEST3
|
||
|
C$OMP END PARALLEL
|
||
|
RETURN
|
||
|
END
|
||
|
SUBROUTINE TEST3
|
||
|
DOUBLE PRECISION BPRIM
|
||
|
COMMON /TESTCOM/ BPRIM(100)
|
||
|
C$OMP THREADPRIVATE(/TESTCOM/)
|
||
|
INTEGER K
|
||
|
DO K = 1, 10
|
||
|
IF (K.NE.BPRIM(K)) STOP 1
|
||
|
END DO
|
||
|
RETURN
|
||
|
END
|