35 lines
808 B
Fortran
35 lines
808 B
Fortran
! { dg-do run }
|
|
|
|
integer :: x(3:6, 7:12), y
|
|
y = 1
|
|
!$omp parallel shared (x, y)
|
|
!$omp single
|
|
!$omp taskgroup
|
|
!$omp task depend(in: x(:, :))
|
|
if (y.ne.1) call abort
|
|
!$omp end task
|
|
!$omp task depend(out: x(:, :))
|
|
y = 2
|
|
!$omp end task
|
|
!$omp end taskgroup
|
|
!$omp taskgroup
|
|
!$omp task depend(in: x(4, 7))
|
|
if (y.ne.2) call abort
|
|
!$omp end task
|
|
!$omp task depend(out: x(4:4, 7:7))
|
|
y = 3
|
|
!$omp end task
|
|
!$omp end taskgroup
|
|
!$omp taskgroup
|
|
!$omp task depend(in: x(4:, 8:))
|
|
if (y.ne.3) call abort
|
|
!$omp end task
|
|
!$omp task depend(out: x(4:6, 8:12))
|
|
y = 4
|
|
!$omp end task
|
|
!$omp end taskgroup
|
|
!$omp end single
|
|
!$omp end parallel
|
|
if (y.ne.4) call abort
|
|
end
|