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