1! { dg-do compile }
2! { dg-options "-fopenmp" }
3
4  integer :: r
5  r = 0
6  call foo (r)
7  if (r /= 11) call abort
8contains
9  subroutine foo (r)
10    integer :: i, r
11    !$omp parallel
12    !$omp single
13    !$omp target teams distribute parallel do reduction (+: r)
14      do i = 1, 10
15        r = r + 1
16      end do
17      r = r + 1
18    !$omp end single
19    !$omp end parallel
20  end subroutine
21end
22