OpenMP-Examples/sources/Example_fort_race.1f.f
2015-01-13 11:38:24 -08:00

30 lines
516 B
Fortran

! @@name: fort_race.1f
! @@type: F-free
! @@compilable: yes
! @@linkable: no
! @@expect: rt-error
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