| program p | |
| implicit none | |
| integer :: x(8) = 0 | |
| call sub(x) | |
| end | |
| subroutine sub(x) | |
| implicit none | |
| integer i | |
| integer :: x(8) | |
| integer :: c(8) = [(11*i, i=1,8)] | |
| call s | |
| if (any (x /= c)) stop 1 | |
| contains | |
| subroutine s | |
| integer :: i | |
| !$omp parallel do reduction(+:x) | |
| do i = 1, 8 | |
| x(i) = c(i) | |
| end do | |
| end | |
| end |