1! Test reductions on dummy arguments inside modules. 2 3! { dg-do run } 4 5module prm 6 implicit none 7 8contains 9 10subroutine param_reduction(var) 11 implicit none 12 integer(kind=8) :: var 13 integer :: j,k 14 15!$acc parallel copy(var) 16!$acc loop reduction(+ : var) gang 17 do k=1,10 18!$acc loop vector reduction(+ : var) 19 do j=1,100 20 var = var + 1.0 21 enddo 22 enddo 23!$acc end parallel 24end subroutine param_reduction 25 26end module prm 27 28program test 29 use prm 30 implicit none 31 32 integer(8) :: r 33 34 r=10.0 35 call param_reduction (r) 36 37 if (r .ne. 1010) stop 1 38end program test 39