1*404b540aSrobert! { dg-do run } 2*404b540aSrobertPROGRAM A2 3*404b540aSrobert INCLUDE "omp_lib.h" ! or USE OMP_LIB 4*404b540aSrobert INTEGER X 5*404b540aSrobert X=2 6*404b540aSrobert!$OMP PARALLEL NUM_THREADS(2) SHARED(X) 7*404b540aSrobert IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN 8*404b540aSrobert X=5 9*404b540aSrobert ELSE 10*404b540aSrobert ! PRINT 1: The following read of x has a race 11*404b540aSrobert PRINT *,"1: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X 12*404b540aSrobert ENDIF 13*404b540aSrobert!$OMP BARRIER 14*404b540aSrobert IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN 15*404b540aSrobert ! PRINT 2 16*404b540aSrobert PRINT *,"2: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X 17*404b540aSrobert ELSE 18*404b540aSrobert ! PRINT 3 19*404b540aSrobert PRINT *,"3: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X 20*404b540aSrobert ENDIF 21*404b540aSrobert!$OMP END PARALLEL 22*404b540aSrobertEND PROGRAM A2 23