1! PR middle-end/27416
2! { dg-do run }
3
4  integer :: j
5  j = 6
6!$omp parallel num_threads (4)
7  call foo (j)
8!$omp end parallel
9  if (j.ne.6+16) STOP 1
10end
11
12subroutine foo (j)
13  integer :: i, j
14
15!$omp do firstprivate (j) lastprivate (j)
16  do i = 1, 16
17    if (i.eq.16) j = j + i
18  end do
19end subroutine foo
20