diff libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f90 @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f90	Fri Jul 17 14:47:48 2009 +0900
@@ -0,0 +1,22 @@
+! { 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