2 ! Don't cycle by default through all options, just test -O0 and -O2,
3 ! as this is quite large test.
4 ! { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } }
9 integer, allocatable
:: c(:,:)
11 integer, allocatable
:: f
15 type (dl
), allocatable
:: h(:)
18 type (dl
), allocatable
:: k
21 subroutine ver_dl (obj
, val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
22 type (dl
), intent (in
) :: obj
23 integer, intent (in
) :: val
, cl1
, cu1
, cl2
, cu2
24 logical, intent (in
) :: c
, f
25 if ((c
.neqv
. allocated (obj
%c
)) .or
. (f
.neqv
. allocated (obj
%f
))) stop 1
27 if (lbound (obj
%c
, 1) /= cl1
.or
. ubound (obj
%c
, 1) /= cu1
) stop 2
28 if (lbound (obj
%c
, 2) /= cl2
.or
. ubound (obj
%c
, 2) /= cu2
) stop 3
31 if (obj
%a
/= val
.or
. obj
%b
/= val
) stop 4
32 if (obj
%d
/= val
.or
. obj
%e
/= val
) stop 5
34 if (any (obj
%c
/= val
)) stop 6
37 if (obj
%f
/= val
) stop 7
41 subroutine ver_dt (obj
, val
, h
, hl
, hu
, k
, c
, cl1
, cu1
, cl2
, cu2
, f
)
42 type (dt
), intent (in
) :: obj
43 integer, intent (in
) :: val
, hl
, hu
, cl1
, cu1
, cl2
, cu2
44 logical, intent (in
) :: h
, k
, c
, f
46 if ((h
.neqv
. allocated (obj
%h
)) .or
. (k
.neqv
. allocated (obj
%k
))) stop 8
48 if (lbound (obj
%h
, 1) /= hl
.or
. ubound (obj
%h
, 1) /= hu
) stop 9
50 call ver_dl (obj
%h(i
), val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
55 call ver_dl (obj
%j(i
, j
), val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
58 if (k
) call ver_dl (obj
%k
, val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
60 if (obj
%g
/= val
.or
. obj
%i
/= val
) stop 10
63 subroutine alloc_dl (obj
, val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
64 type (dl
), intent (inout
) :: obj
65 integer, intent (in
) :: val
, cl1
, cu1
, cl2
, cu2
66 logical, intent (in
) :: c
, f
73 if (allocated (obj
%c
)) deallocate (obj
%c
)
75 allocate (obj
%c(cl1
:cu1
, cl2
:cu2
))
76 if (val
/= 0) obj
%c
= val
79 if (.not
.allocated (obj
%f
)) allocate (obj
%f
)
80 if (val
/= 0) obj
%f
= val
82 if (allocated (obj
%f
)) deallocate (obj
%f
)
84 end subroutine alloc_dl
85 subroutine alloc_dt (obj
, val
, h
, hl
, hu
, k
, c
, cl1
, cu1
, cl2
, cu2
, f
)
86 type (dt
), intent (inout
) :: obj
87 integer, intent (in
) :: val
, hl
, hu
, cl1
, cu1
, cl2
, cu2
88 logical, intent (in
) :: h
, k
, c
, f
94 if (allocated (obj
%h
)) deallocate (obj
%h
)
96 allocate (obj
%h(hl
:hu
))
98 call alloc_dl (obj
%h(i
), val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
103 call alloc_dl (obj
%j(i
, j
), val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
107 if (.not
.allocated (obj
%k
)) allocate (obj
%k
)
108 call alloc_dl (obj
%k
, val
, c
, cl1
, cu1
, cl2
, cu2
, f
)
110 if (allocated (obj
%k
)) deallocate (obj
%k
)
112 end subroutine alloc_dt
115 type (dt
), allocatable
:: z(:,:)
119 subroutine foo (y
, z
, n
)
122 type (dt
) :: x(2:n
), y(3:)
123 type (dt
), allocatable
:: z(:,:)
124 logical, parameter :: F
= .false
.
125 logical, parameter :: T
= .true
.
127 if (lbound (x
, 1) /= 2 .or
. ubound (x
, 1) /= 4) stop 11
128 if (lbound (y
, 1) /= 3 .or
. ubound (y
, 1) /= 4) stop 12
129 call ver_dt (x(2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
130 call ver_dt (x(n
), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
131 call ver_dt (y(3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
132 call ver_dt (y(4), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
133 !$omp parallel private (z)
134 if (allocated (z
)) stop 13
136 !$omp parallel firstprivate (z)
137 if (allocated (z
)) stop 14
140 !$omp parallel sections lastprivate (z) firstprivate (l)
143 if (allocated (z
)) stop 15
147 if (allocated (z
)) stop 16
149 allocate (z(-3:-3,2:3))
150 call alloc_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
151 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
152 call alloc_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
153 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
155 !$omp end parallel sections
156 if (.not
.allocated (z
)) stop 17
157 if (lbound (z
, 1) /= -3 .or
. ubound (z
, 1) /= -3) stop 18
158 if (lbound (z
, 2) /= 2 .or
. ubound (z
, 2) /= 3) stop 19
159 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
160 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
161 call ver_dt (x(n
- 1), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
162 call ver_dt (y(4), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
163 call alloc_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
164 call ver_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
165 call alloc_dt (z(-3,3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
166 call ver_dt (z(-3,3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
167 !$omp parallel private (x, y, z)
168 call ver_dt (x(n
- 1), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
169 call alloc_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
170 call ver_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
171 call ver_dt (y(4), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
172 call alloc_dt (y(4), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
173 call ver_dt (y(4), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
174 call ver_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
175 call alloc_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
176 call ver_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
177 call ver_dt (z(-3,3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
178 call alloc_dt (z(-3,3), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
179 call ver_dt (z(-3,3), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
181 call ver_dt (x(n
- 1), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
182 call alloc_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
183 call ver_dt (y(4), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
184 call alloc_dt (y(4), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
185 call ver_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
186 call alloc_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
187 call ver_dt (z(-3,3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
188 call alloc_dt (z(-3,3), 14, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
189 !$omp parallel private (x, y, z)
190 call ver_dt (x(n
- 1), 0, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
191 call ver_dt (y(4), 0, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
192 deallocate (x(n
- 1)%h
, x(n
- 1)%k
)
195 call ver_dt (z(-3,2), 0, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
196 call ver_dt (z(-3,3), 0, T
, 3, 4, F
, T
, 1, 1, 2, 4, T
)
197 deallocate (z(-3,2)%h
, z(-3,2)%k
)
198 deallocate (z(-3,3)%h
)
201 call alloc_dt (x(n
- 1), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
202 call alloc_dt (y(4), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
203 call alloc_dt (z(-3,2), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
204 call alloc_dt (z(-3,3), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
205 !$omp parallel firstprivate (x, y, z)
206 if (lbound (x
, 1) /= 2 .or
. ubound (x
, 1) /= 4) stop 20
207 if (lbound (y
, 1) /= 3 .or
. ubound (y
, 1) /= 4) stop 21
208 call ver_dt (x(n
- 1), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
209 call alloc_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
210 call ver_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
211 call ver_dt (y(4), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
212 call alloc_dt (y(4), 4, T
, 3, 4, T
, T
, 1, 1, 2, 4, T
)
213 call ver_dt (y(4), 4, T
, 3, 4, T
, T
, 1, 1, 2, 4, T
)
214 call ver_dt (z(-3,2), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
215 call alloc_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
216 call ver_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
217 call ver_dt (z(-3,3), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
218 call alloc_dt (z(-3,3), 4, T
, 3, 4, T
, T
, 1, 1, 2, 4, T
)
219 call ver_dt (z(-3,3), 4, T
, 3, 4, T
, T
, 1, 1, 2, 4, T
)
221 call ver_dt (x(n
- 1), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
222 call alloc_dt (x(n
- 1), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
223 call ver_dt (y(4), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
224 call alloc_dt (y(4), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
225 call ver_dt (z(-3,2), 5, T
, 1, 2, F
, T
, 2, 3, -2, -2, F
)
226 call alloc_dt (z(-3,2), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
227 call ver_dt (z(-3,3), 15, F
, 0, 0, T
, T
, 2, 2, 2, 2, T
)
228 call alloc_dt (z(-3,3), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
229 !$omp parallel firstprivate (x, y, z)
230 call ver_dt (x(n
- 1), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
231 call alloc_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
232 call ver_dt (x(n
- 1), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
233 call ver_dt (y(4), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
234 call alloc_dt (y(4), 17, T
, 1, 2, F
, T
, 2, 2, 3, 3, F
)
235 call ver_dt (y(4), 17, T
, 1, 2, F
, T
, 2, 2, 3, 3, F
)
236 call ver_dt (z(-3,2), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
237 call alloc_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
238 call ver_dt (z(-3,2), 4, T
, -3, -1, T
, T
, -1, -1, 2, 3, T
)
239 call ver_dt (z(-3,3), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
240 call alloc_dt (z(-3,3), 17, T
, 1, 2, F
, T
, 2, 2, 3, 3, F
)
241 call ver_dt (z(-3,3), 17, T
, 1, 2, F
, T
, 2, 2, 3, 3, F
)
243 call ver_dt (x(n
- 1), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
244 call ver_dt (y(4), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
245 call alloc_dt (y(4), 18, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
246 call ver_dt (z(-3,2), 4, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
247 call ver_dt (z(-3,3), 16, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
248 call alloc_dt (z(-3,3), 18, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
250 !$omp parallel sections lastprivate (x, y, z) firstprivate (l)
253 call ver_dt (x(n
- 1), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
254 call ver_dt (y(4), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
255 call ver_dt (z(-3,2), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
256 call ver_dt (z(-3,3), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
258 call ver_dt (x(n
- 1), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
259 call ver_dt (y(4), 0, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
260 call ver_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
261 call ver_dt (z(-3,3), 0, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
264 call alloc_dt (x(n
- 1), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
265 call ver_dt (x(n
- 1), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
266 call alloc_dt (y(4), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
267 call ver_dt (y(4), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
268 call alloc_dt (z(-3,2), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
269 call ver_dt (z(-3,2), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
270 call alloc_dt (z(-3,3), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
271 call ver_dt (z(-3,3), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
274 call ver_dt (x(n
- 1), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
275 call ver_dt (y(4), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
276 call ver_dt (z(-3,2), 7, T
, 1, 1, T
, T
, 1, 2, 3, 3, T
)
277 call ver_dt (z(-3,3), 20, T
, 0, 0, F
, T
, 2, 2, 3, 4, F
)
279 call ver_dt (x(n
- 1), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
280 call ver_dt (y(4), 0, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
281 call ver_dt (z(-3,2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
282 call ver_dt (z(-3,3), 0, T
, 0, 1, T
, T
, 0, 1, 0, 1, T
)
285 call alloc_dt (x(n
- 1), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
286 call ver_dt (x(n
- 1), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
287 call alloc_dt (y(4), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
288 call ver_dt (y(4), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
289 call alloc_dt (z(-3,2), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
290 call ver_dt (z(-3,2), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
291 call alloc_dt (z(-3,3), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
292 call ver_dt (z(-3,3), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
294 !$omp end parallel sections
295 call ver_dt (x(n
- 1), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
296 call ver_dt (y(4), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
297 call ver_dt (z(-3,2), 9, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
298 call ver_dt (z(-3,3), 21, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
299 !$omp parallel sections lastprivate (x, y, z) firstprivate (l)
302 call ver_dt (x(n
- 1), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
303 call ver_dt (y(4), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
304 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
305 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
307 call ver_dt (x(n
- 1), 0, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
308 call ver_dt (y(4), 0, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
309 call ver_dt (z(-3,2), 0, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
310 call ver_dt (z(-3,3), 0, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
313 call alloc_dt (x(n
- 1), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
314 call ver_dt (x(n
- 1), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
315 call alloc_dt (y(4), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
316 call ver_dt (y(4), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
317 call alloc_dt (z(-3,2), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
318 call ver_dt (z(-3,2), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
319 call alloc_dt (z(-3,3), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
320 call ver_dt (z(-3,3), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
323 call ver_dt (x(n
- 1), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
324 call ver_dt (y(4), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
325 call ver_dt (z(-3,2), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
326 call ver_dt (z(-3,3), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
328 call ver_dt (x(n
- 1), 0, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
329 call ver_dt (y(4), 0, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
330 call ver_dt (z(-3,2), 0, T
, 1, 1, F
, F
, 0, 0, 0, 0, T
)
331 call ver_dt (z(-3,3), 0, F
, 0, 0, T
, T
, 1, 2, 3, 4, T
)
334 call alloc_dt (x(n
- 1), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
335 call ver_dt (x(n
- 1), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
336 call alloc_dt (y(4), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
337 call ver_dt (y(4), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
338 call alloc_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
339 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
340 call alloc_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
341 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
343 !$omp end parallel sections
344 call ver_dt (x(n
- 1), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
345 call ver_dt (y(4), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
346 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
347 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
348 !$omp parallel private (x, y, z)
349 call ver_dt (x(n
- 1), 0, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
350 call ver_dt (y(4), 0, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
351 call ver_dt (z(-3,2), 0, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
352 call ver_dt (z(-3,3), 0, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
354 call alloc_dt (x(n
- 1), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
355 call alloc_dt (y(4), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
356 call alloc_dt (z(-3,2), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
357 call alloc_dt (z(-3,3), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
358 !$omp end single copyprivate (x, y, z)
359 call ver_dt (x(n
- 1), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
360 call ver_dt (y(4), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
361 call ver_dt (z(-3,2), 3, F
, 0, 0, T
, T
, 0, 1, 0, 1, F
)
362 call ver_dt (z(-3,3), 22, T
, 5, 5, F
, T
, 2, 3, 2, 2, T
)
364 call ver_dt (x(n
- 1), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
365 call ver_dt (y(4), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
366 call ver_dt (z(-3,2), 5, F
, 0, 0, T
, T
, -1, -1, -1, -1, T
)
367 call ver_dt (z(-3,3), 23, T
, 0, 1, T
, T
, 2, 2, 2, 2, F
)
368 call ver_dt (x(2), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
369 call ver_dt (x(n
), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)
370 call ver_dt (y(3), 0, F
, 0, 0, F
, F
, 0, 0, 0, 0, F
)