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