1! { dg-do compile }
2! { dg-additional-options "-fdump-tree-original" }
3
4module m
5  integer a, b
6end module m
7
8subroutine f1 (c, d)
9  use m
10  implicit none
11  integer c(*), d(*), i
12  !$omp do simd reduction (inscan, +: a)
13  do i = 1, 64
14    d(i) = a
15    !$omp scan exclusive (a)
16    a = a + c(i)
17  end do
18end
19
20! { dg-final { scan-tree-dump-times "#pragma omp for reduction\\(inscan,\\\+:a\\)" 1 "original" } }
21! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) reduction\\(inscan,\\\+:a\\)" 1 "original" } }
22! { dg-final { scan-tree-dump-times "#pragma omp scan exclusive\\(a\\)" 1 "original" } }
23