1subroutine foo (a) 2 implicit none (external, type) 3 integer, contiguous :: a(0:) 4 integer :: i, r, s 5 r = 0; s = 0 6 7 ! In 'parallel masked taskloop', in_reduction is not permitted. 8 9 !$omp taskgroup task_reduction(+:r) 10 !$omp parallel masked taskloop in_reduction(+:r) ! { dg-error "36: Failed to match clause" } 11 do i = 0, 63 12 r = r + a(i) 13 end do 14 !!$omp end parallel masked taskloop 15 !$omp end taskgroup 16 17 !$omp taskgroup task_reduction(+:s) 18 !$omp parallel masked taskloop simd in_reduction(+:s) ! { dg-error "41: Failed to match clause" } 19 do i = 0, 63 20 s = s + a(i) 21 end do 22 !!$omp end parallel masked taskloop simd 23 !$omp end taskgroup 24end 25