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