Fix gcc.c-torture/execute/ieee/cdivchkf.c on hpux
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / depend-iterator-2.f90
blob05090d36c807593c51728943dbd93997ab8eaac4
1 module m
2 implicit none (type, external)
3 integer, volatile :: v
4 contains
5 subroutine foo (p, i)
6 integer :: p(0:*)
7 integer :: i
8 !$omp task depend (out: p(0))
9 v = v + 1
10 !$omp end task
11 !$omp task depend (in: p(0))
12 v = v + 1
13 !$omp end task
14 !$omp task depend (inout: p(0))
15 v = v + 1
16 !$omp end task
17 !$omp task depend (mutexinoutset: p(0))
18 v = v + 1
19 !$omp end task
20 !$omp task depend (out: p(0)) depend (in: p(1))
21 v = v + 1
22 !$omp end task
23 !$omp task depend (in: p(0)) depend (inout: p(1))
24 v = v + 1
25 !$omp end task
26 !$omp task depend (inout: p(0)) depend (mutexinoutset: p(1))
27 v = v + 1
28 !$omp end task
29 !$omp task depend (mutexinoutset: p(0)) depend (out: p(1))
30 v = v + 1
31 !$omp end task
32 !$omp task depend (iterator (j=0:2) , out : p(j))
33 v = v + 1
34 !$omp end task
35 !$omp task depend (iterator (j=0:2) , in : p(j))
36 v = v + 1
37 !$omp end task
38 !$omp task depend (iterator (j=0:2) , inout : p(j))
39 v = v + 1
40 !$omp end task
41 !$omp task depend (iterator (j=0:2) , mutexinoutset : p(j))
42 v = v + 1
43 !$omp end task
44 !$omp task depend (iterator (j=0:2) , out : p(j)) depend (iterator (j=0:2) , in : p(j + 2))
45 v = v + 1
46 !$omp end task
47 !$omp task depend (iterator (j=0:2) , in : p(j)) depend (iterator (j=0:2) , inout : p(j + 2))
48 v = v + 1
49 !$omp end task
50 !$omp task depend (iterator (j=0:2) , inout : p(j)) depend (iterator (j=0:2) , mutexinoutset : p(j + 2))
51 v = v + 1
52 !$omp end task
53 !$omp task depend (iterator (j=0:2) , mutexinoutset : p(j)) depend (iterator (j=0:2) , out : p(j + 2))
54 v = v + 1
55 !$omp end task
56 !$omp task depend (iterator (j=0:i) , out : p(j))
57 v = v + 1
58 !$omp end task
59 !$omp task depend (iterator (j=0:i) , in : p(j))
60 v = v + 1
61 !$omp end task
62 !$omp task depend (iterator (j=0:i) , inout : p(j))
63 v = v + 1
64 !$omp end task
65 !$omp task depend (iterator (j=0:i) , mutexinoutset : p(j))
66 v = v + 1
67 !$omp end task
68 !$omp task depend (iterator (j=0:i) , out : p(j)) depend (iterator (j=0:i) , in : p(j + 2))
69 v = v + 1
70 !$omp end task
71 !$omp task depend (iterator (j=0:i) , in : p(j)) depend (iterator (j=0:i) , inout : p(j + 2))
72 v = v + 1
73 !$omp end task
74 !$omp task depend (iterator (j=0:i) , inout : p(j)) depend (iterator (j=0:i) , mutexinoutset : p(j + 2))
75 v = v + 1
76 !$omp end task
77 !$omp task depend (iterator (j=0:i) , mutexinoutset : p(j)) depend (iterator (j=0:i) , out : p(j + 2))
78 v = v + 1
79 !$omp end task
80 end
81 end module
83 program main
84 use m
85 implicit none (external, type)
86 integer p(4)
87 call foo (p, 2)
88 call foo (p, -1)
89 end