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