1! { dg-do run } 2 3 integer :: x(3:6, 7:12), y 4 y = 1 5 !$omp parallel shared (x, y) 6 !$omp single 7 !$omp taskgroup 8 !$omp task depend(in: x(:, :)) 9 if (y.ne.1) STOP 1 10 !$omp end task 11 !$omp task depend(out: x(:, :)) 12 y = 2 13 !$omp end task 14 !$omp end taskgroup 15 !$omp taskgroup 16 !$omp task depend(in: x(4, 7)) 17 if (y.ne.2) STOP 2 18 !$omp end task 19 !$omp task depend(out: x(4:4, 7:7)) 20 y = 3 21 !$omp end task 22 !$omp end taskgroup 23 !$omp taskgroup 24 !$omp task depend(in: x(4:, 8:)) 25 if (y.ne.3) STOP 3 26 !$omp end task 27 !$omp task depend(out: x(4:6, 8:12)) 28 y = 4 29 !$omp end task 30 !$omp end taskgroup 31 !$omp end single 32 !$omp end parallel 33 if (y.ne.4) STOP 4 34end 35