| ! { dg-do compile } |
| ! { dg-additional-options "-fdump-tree-original" } |
| |
| module m |
| integer a, b |
| end module m |
| |
| subroutine f1 (c, d) |
| use m |
| implicit none |
| integer c(*), d(*), i |
| !$omp do simd reduction (inscan, +: a) |
| do i = 1, 64 |
| d(i) = a |
| !$omp scan exclusive (a) |
| a = a + c(i) |
| end do |
| end |
| |
| ! { dg-final { scan-tree-dump-times "#pragma omp for reduction\\(inscan,\\\+:a\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) reduction\\(inscan,\\\+:a\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp scan exclusive\\(a\\)" 1 "original" } } |