Add support for ARMv8-R architecture
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / depend-3.f90
blob11be6410692968abddb0d9613777f8ceb21393e5
1 ! { dg-do run }
3 integer :: x(2, 3)
4 integer, allocatable :: z(:, :)
5 allocate (z(-2:3, 2:4))
6 call foo (x, z)
7 contains
8 subroutine foo (x, z)
9 integer :: x(:, :), y
10 integer, allocatable :: z(:, :)
11 y = 1
12 !$omp parallel shared (x, y, z)
13 !$omp single
14 !$omp taskgroup
15 !$omp task depend(in: x)
16 if (y.ne.1) call abort
17 !$omp end task
18 !$omp task depend(out: x(1:2, 1:3))
19 y = 2
20 !$omp end task
21 !$omp end taskgroup
22 !$omp taskgroup
23 !$omp task depend(in: z)
24 if (y.ne.2) call abort
25 !$omp end task
26 !$omp task depend(out: z(-2:3, 2:4))
27 y = 3
28 !$omp end task
29 !$omp end taskgroup
30 !$omp taskgroup
31 !$omp task depend(in: x)
32 if (y.ne.3) call abort
33 !$omp end task
34 !$omp task depend(out: x(1:, 1:))
35 y = 4
36 !$omp end task
37 !$omp end taskgroup
38 !$omp end single
39 !$omp end parallel
40 if (y.ne.4) call abort
41 end subroutine
42 end