2 use omp_lib
, only
: omp_depend_kind
3 implicit none (type, external)
5 integer(omp_depend_kind
) :: dd1
, dd2
9 integer(omp_depend_kind
) :: d1
, d2
12 !$omp depobj (d1) depend(in: x)
13 !$omp depobj (d2) depend(in: x)
14 !$omp depobj (d2) update(out)
17 !$omp task shared (x) depend(depobj: d2)
20 !$omp task shared (x) depend(depobj: d1)
26 !$omp depobj (d2) destroy
27 !$omp depobj (d1) destroy
31 integer(omp_depend_kind
) :: d1
, d2
37 subroutine dep2i(d1
, d2
)
38 integer(omp_depend_kind
) :: d1
39 integer(omp_depend_kind
), optional
:: d2
46 !$omp depobj (d1) depend(out: x)
47 !$omp depobj (d2) depend (in:x)
48 !$omp depobj(d2)update(in)
49 !$omp task shared (x) depend(depobj:d1)
52 !$omp task shared (x) depend(depobj : d2)
57 !$omp depobj(d1)destroy
58 !$omp depobj(d2) destroy
66 integer(omp_depend_kind
) :: d(2)
72 !$omp depobj(d(1)) depend(out:x)
73 !$omp depobj(d(2)) depend(in: x)
74 !$omp task shared (x) depend(depobj: d(1))
77 !$omp task shared (x) depend(depobj: d(2))
84 !$omp depobj(d(1)) destroy
85 !$omp depobj(d(2)) destroy
92 !$omp task shared(xx) depend(depobj:dd2)
96 !$omp task shared(xx) depend(depobj:dd1)
106 implicit none (type, external)
110 !$omp depobj (dd1) depend (inout: xx)
111 !$omp depobj (dd2) depend (in : xx)
113 !$omp depobj (dd2) destroy
114 !$omp depobj (dd1) destroy