Mercurial > hg > CbC > CbC_gcc
comparison libgomp/testsuite/libgomp.fortran/appendix-a/a.22.7.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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 ! { dg-do run } | |
2 ! { dg-require-effective-target tls_runtime } | |
3 | |
4 PROGRAM A22_7_GOOD | |
5 INTEGER, ALLOCATABLE, SAVE :: A(:) | |
6 INTEGER, POINTER, SAVE :: PTR | |
7 INTEGER, SAVE :: I | |
8 INTEGER, TARGET :: TARG | |
9 LOGICAL :: FIRSTIN = .TRUE. | |
10 !$OMP THREADPRIVATE(A, I, PTR) | |
11 ALLOCATE (A(3)) | |
12 A = (/1,2,3/) | |
13 PTR => TARG | |
14 I=5 | |
15 !$OMP PARALLEL COPYIN(I, PTR) | |
16 !$OMP CRITICAL | |
17 IF (FIRSTIN) THEN | |
18 TARG = 4 ! Update target of ptr | |
19 I = I + 10 | |
20 IF (ALLOCATED(A)) A = A + 10 | |
21 FIRSTIN = .FALSE. | |
22 END IF | |
23 IF (ALLOCATED(A)) THEN | |
24 PRINT *, "a = ", A | |
25 ELSE | |
26 PRINT *, "A is not allocated" | |
27 END IF | |
28 PRINT *, "ptr = ", PTR | |
29 PRINT *, "i = ", I | |
30 PRINT * | |
31 !$OMP END CRITICAL | |
32 !$OMP END PARALLEL | |
33 END PROGRAM A22_7_GOOD |