! { dg-options "-fno-openmp -fopenmp-simd -fdump-tree-original" } subroutine foo (a, b) integer, contiguous :: a(:), b(:) integer :: i !$omp simd reduction (inscan, +:r) do i = 1, 1024 r = r + a(i) !$omp scan inclusive(r) b(i) = r end do !$omp end simd !$omp loop do i = 1, 1024 a(i) = a(i) + i end do !$omp end loop end ! { dg-final { scan-tree-dump "#pragma omp simd linear\\(i:1\\) reduction\\(inscan,\\+:r\\)" "original" } } ! { dg-final { scan-tree-dump "#pragma omp scan inclusive\\(r\\)" "original" } } ! { dg-final { scan-tree-dump "#pragma omp loop" "original" } }