blob: 5c95d8f77d837620c7bb407d8903d0becd06fafc [file] [log] [blame]
! { dg-additional-options "-fdump-tree-original" }
subroutine foo (p)
logical :: p(:)
integer i
integer a, b, c, d, e, f, g, h
a = -1; b = -1; c = -1; d = -1; e = -1; f = -1; g = -1; h = -1
!$omp parallel
!$omp do lastprivate (conditional: a)
do i = 1, 32
if (p(i)) &
a = i
end do
!$omp end parallel
!$omp simd lastprivate (conditional: b)
do i = 1, 32
if (p(i)) &
b = i
end do
!$omp parallel
!$omp do simd lastprivate (conditional: c)
do i = 1, 32
if (p(i)) &
c = i
end do
!$omp end parallel
!$omp parallel do lastprivate (conditional: d)
do i = 1, 32
if (p(i)) &
d = i
end do
!$omp end parallel do
!$omp parallel do simd lastprivate (conditional: e)
do i = 1, 32
if (p(i)) &
e = i
end do
!$omp end parallel do simd
end subroutine
! { dg-final { scan-tree-dump-times "#pragma omp for lastprivate\\(conditional:a\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) lastprivate\\(conditional:b\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp for lastprivate\\(conditional:c\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) lastprivate\\(conditional:c\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp parallel lastprivate\\(conditional:d\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp parallel lastprivate\\(conditional:e\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) lastprivate\\(conditional:e\\)" 1 "original" } }