mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-12 11:29:30 +00:00
23 lines
571 B
Fortran
23 lines
571 B
Fortran
|
! { dg-do run }
|
||
|
PROGRAM A2
|
||
|
INCLUDE "omp_lib.h" ! or USE OMP_LIB
|
||
|
INTEGER X
|
||
|
X=2
|
||
|
!$OMP PARALLEL NUM_THREADS(2) SHARED(X)
|
||
|
IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN
|
||
|
X=5
|
||
|
ELSE
|
||
|
! PRINT 1: The following read of x has a race
|
||
|
PRINT *,"1: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
|
||
|
ENDIF
|
||
|
!$OMP BARRIER
|
||
|
IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN
|
||
|
! PRINT 2
|
||
|
PRINT *,"2: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
|
||
|
ELSE
|
||
|
! PRINT 3
|
||
|
PRINT *,"3: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
|
||
|
ENDIF
|
||
|
!$OMP END PARALLEL
|
||
|
END PROGRAM A2
|