1program p
2   implicit none
3   integer :: x(8) = 0
4   call sub(x)
5end
6subroutine sub(x)
7   implicit none
8   integer i
9   integer :: x(8)
10   integer :: c(8) = [(11*i, i=1,8)]
11   call s
12   if (any (x /= c)) stop 1
13contains
14   subroutine s
15      integer :: i
16      !$omp parallel do reduction(+:x)
17      do i = 1, 8
18         x(i) = c(i)
19      end do
20   end
21end
22