subroutine foo (a) implicit none (external, type) integer, contiguous :: a(0:) integer :: i, r, s r = 0; s = 0 ! In 'parallel masked taskloop', in_reduction is not permitted. !$omp taskgroup task_reduction(+:r) !$omp parallel masked taskloop in_reduction(+:r) ! { dg-error "36: Failed to match clause" } do i = 0, 63 r = r + a(i) end do !!$omp end parallel masked taskloop !$omp end taskgroup !$omp taskgroup task_reduction(+:s) !$omp parallel masked taskloop simd in_reduction(+:s) ! { dg-error "41: Failed to match clause" } do i = 0, 63 s = s + a(i) end do !!$omp end parallel masked taskloop simd !$omp end taskgroup end