1! { dg-additional-options "-fdump-tree-original" } 2! 3! PR fortran/97061 4 5integer function f3 (a1, b1, u) 6 implicit none 7 integer :: a1, b1, d1 8 integer u(0:1023) 9 !$omp teams distribute parallel do simd default(none) firstprivate (a1, b1) shared(u) lastprivate(d1) 10 do d1 = a1, b1-1 11 u(d1) = 5 12 end do 13end 14 15subroutine foo(n, m, u) 16 implicit none 17 integer :: hh, ii, jj, n, m 18 integer u(0:1023) 19 !$omp simd private(ii) 20 do ii = n, m 21 u(ii) = 5 22 end do 23 !$omp simd linear(jj:1) 24 do jj = 2, m+n 25 u(jj) = 6 26 end do 27 !$omp simd 28 do hh = 2, m+n 29 u(hh) = 6 30 end do 31end 32 33subroutine bar(n, m, u) 34 implicit none 35 integer :: kkk, lll, ooo, ppp, n, m 36 integer u(:,:) 37 !$omp simd lastprivate(kkk) lastprivate(lll) collapse(2) 38 do kkk = n, m 39 do lll = n, m 40 u(kkk, lll) = 5 41 end do 42 end do 43 !$omp simd private(kkk) private(lll) collapse(2) 44 do ooo = n, m 45 do ppp = n, m 46 u(ooo, ppp) = 5 47 end do 48 end do 49end 50 51 52! { dg-final { scan-tree-dump-times "#pragma omp teams firstprivate\\(a1\\) firstprivate\\(b1\\) shared\\(u\\) shared\\(d1\\) default\\(none\\)" 1 "original" } } 53! { dg-final { scan-tree-dump-times "#pragma omp distribute lastprivate\\(d1\\)" 1 "original" } } 54! { dg-final { scan-tree-dump-times "#pragma omp parallel firstprivate\\(a1\\) firstprivate\\(b1\\) lastprivate\\(d1\\) shared\\(u\\) default\\(none\\)" 1 "original" } } 55! { dg-final { scan-tree-dump-times "#pragma omp for nowait" 1 "original" } } 56! { dg-final { scan-tree-dump-times "#pragma omp simd lastprivate\\(d1\\)" 1 "original" } } 57 58! { dg-final { scan-tree-dump-times "#pragma omp simd private\\(ii\\)" 1 "original" } } 59! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(jj:1\\)" 1 "original" } } 60! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(hh:1\\)" 1 "original" } } 61! { dg-final { scan-tree-dump-times "#pragma omp simd lastprivate\\(kkk\\) lastprivate\\(lll\\) collapse\\(2\\)" 1 "original" } } 62! { dg-final { scan-tree-dump-times "#pragma omp simd private\\(kkk\\) private\\(lll\\) collapse\\(2\\)" 1 "original" } } 63