blob: 43ec8007df737983f261877b42b2a016fef467ba [file] [log] [blame]
module m
implicit none (external, type)
integer :: r, r2, r3
contains
subroutine foo
integer :: i, j, k
i = 0; j = 0; k = 0
!$omp scope private (i) reduction (+:r)
i = 1
r = r + 1
!$omp end scope nowait
!$omp scope private (i) reduction (task, +:r)
!$omp scope private (j) reduction (task, +:r2)
!$omp scope private (k) reduction (task, +:r3)
i = 1
j = 2
k = 3
r = r + 1
r2 = r2 + 1
r3 = r3 + 1
!$omp end scope
!$omp end scope
!$omp end scope
!$omp parallel
!$omp scope reduction (+:r) private (i)
!$omp scope reduction (+:r2) private (j)
!$omp single
i = 1
j = 2
r = r + 1
r2 = r2 + 1
!$omp end single
!$omp end scope nowait
!$omp end scope nowait
!$omp end parallel
end
end module