blob: c4169bc55d1fa889204090df4a70e3d237632645 [file] [log] [blame]
module m
integer :: v
interface
subroutine foo(i)
integer :: i
end
end interface
end
subroutine bar
use m
implicit none
integer :: i
!$omp do reduction (task, +: v) ! { dg-error "'task' reduction modifier on a construct with a 'nowait' clause" }
do i = 0, 63
call foo (i)
end do
!$omp end do nowait
!$omp sections reduction (task, +: v) ! { dg-error "'task' reduction modifier on a construct with a 'nowait' clause" }
call foo (-2)
!$omp section
call foo (-3)
!$omp end sections nowait
!$omp scope reduction (task, +: v) ! { dg-error "'task' reduction modifier on a construct with a 'nowait' clause" }
call foo (-4)
!$omp end scope nowait
!$omp simd reduction (task, +: v) ! { dg-error "invalid 'task' reduction modifier on construct other than 'parallel', 'do', 'sections' or 'scope'" }
do i = 0, 63
v = v + 1
end do
!$omp do simd reduction (task, +: v) ! { dg-error "invalid 'task' reduction modifier on construct other than 'parallel', 'do', 'sections' or 'scope'" }
do i = 0, 63
v = v + 1
end do
!$omp parallel do simd reduction (task, +: v) ! { dg-error "invalid 'task' reduction modifier on construct other than 'parallel', 'do', 'sections' or 'scope'" }
do i = 0, 63
v = v + 1
end do
!$omp end parallel do simd
!$omp teams distribute parallel do simd reduction (task, +: v) ! { dg-error "invalid 'task' reduction modifier on construct other than 'parallel', 'do', 'sections' or 'scope'" }
do i = 0, 63
v = v + 1
end do
!$omp end teams distribute parallel do simd
end