1! { dg-do compile }
2! { dg-options "-fopenmp" }
3
4subroutine foo (v, n, r)
5  integer :: n
6  integer, intent(in) :: v(:)
7  integer, intent(out) :: r
8  integer :: i
9
10  r = 0
11
12!$omp parallel
13!$omp single
14
15  do i = 1, n
16!$omp task shared (v)
17    r = r + v(i)
18!$omp end task
19  enddo
20
21!$omp end single
22!$omp end parallel
23
24end
25