2 integer, pointer :: a
, c(:)
3 integer, target
:: b
, d(10)
14 integer, pointer :: a
, c(:), b
, d(:)
17 !$omp parallel firstprivate (a, c) reduction (+:r)
24 if (a
.ne
.r
.or
.c(1).ne
.r
) stop 1
29 !$omp parallel firstprivate (b, d) reduction (+:r)
36 if (b
.ne
.r
+r2
.or
.d(1).ne
.r
+r2
) stop 2
39 integer, pointer :: a
, c(:), b
, d(:)
40 integer, target
:: q
, r(5)
46 !$omp parallel do firstprivate (a, c) lastprivate (a, c)
51 c((i
+9)/10) = c((i
+9)/10) + 1
58 if (b
.ne
.100.or
.any(d
.ne
.10)) stop 3
59 if (a
.ne
.17.or
.any(c
.ne
.21)) stop 4
62 !$omp parallel do firstprivate (b, d) lastprivate (b, d)
67 d((i
+9)/10) = d((i
+9)/10) + 1
74 if (a
.ne
.200.or
.any(c
.ne
.20)) stop 5
75 if (b
.ne
.17.or
.any(d
.ne
.21)) stop 6