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