mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			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
 |