mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-10 08:22:11 +01:00
30 lines
529 B
Fortran
30 lines
529 B
Fortran
! @@name: fort_race.1
|
|
! @@type: F-free
|
|
! @@operation: compile
|
|
! @@expect: unspecified
|
|
! @@version: pre_omp_3.0
|
|
SUBROUTINE SHARED_RACE
|
|
|
|
INCLUDE "omp_lib.h" ! or USE OMP_LIB
|
|
|
|
REAL A(20)
|
|
INTEGER MYTHREAD
|
|
|
|
!$OMP PARALLEL SHARED(A) PRIVATE(MYTHREAD)
|
|
|
|
MYTHREAD = OMP_GET_THREAD_NUM()
|
|
IF (MYTHREAD .EQ. 0) THEN
|
|
CALL SUB(A(1:10)) ! compiler may introduce writes to A(6:10)
|
|
ELSE
|
|
A(6:10) = 12
|
|
ENDIF
|
|
|
|
!$OMP END PARALLEL
|
|
|
|
END SUBROUTINE SHARED_RACE
|
|
|
|
SUBROUTINE SUB(X)
|
|
REAL X(*)
|
|
X(1:5) = 4
|
|
END SUBROUTINE SUB
|