c++: Simplify uses of LAMBDA_EXPR_EXTRA_SCOPE
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / nestedfn4.f90
blob6e4126888c121f94a4f731731edd63dd2542a6b4
1 ! { dg-do run }
2 program foo
3 integer :: i, j, k
4 integer :: a(10), c(10)
5 k = 2
6 a(:) = 0
7 call test1
8 call test2
9 do i = 1, 10
10 if (a(i) .ne. 10 * i) stop 1
11 end do
12 !$omp parallel do reduction (+:c)
13 do i = 1, 10
14 c = c + a
15 end do
16 do i = 1, 10
17 if (c(i) .ne. 10 * a(i)) stop 2
18 end do
19 !$omp parallel do lastprivate (j)
20 do j = 1, 10, k
21 end do
22 if (j .ne. 11) stop 3
23 contains
24 subroutine test1
25 integer :: i
26 integer :: b(10)
27 do i = 1, 10
28 b(i) = i
29 end do
30 c(:) = 0
31 !$omp parallel do reduction (+:a)
32 do i = 1, 10
33 a = a + b
34 end do
35 end subroutine test1
36 subroutine test2
37 !$omp parallel do lastprivate (j)
38 do j = 1, 10, k
39 end do
40 if (j .ne. 11) stop 4
41 end subroutine test2
42 end program foo