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