! Test reductions on dummy arguments inside modules. ! { dg-do run } ! { dg-additional-options -Wuninitialized } module prm implicit none contains subroutine param_reduction(var) implicit none integer(kind=8) :: var integer :: j,k !$acc parallel copy(var) !$acc loop reduction(+ : var) gang ! { dg-bogus {'var\.[0-9]+' is used uninitialized} TODO { xfail *-*-* } .-1 } ! { dg-note {'var\.[0-9]+' was declared here} {} { target *-*-* } .-2 } do k=1,10 !$acc loop vector reduction(+ : var) ! { dg-bogus {'var\.[0-9]+' may be used uninitialized} TODO { xfail { ! __OPTIMIZE__ } } .-1 } ! { dg-note {'var\.[0-9]+' was declared here} {} { target { ! __OPTIMIZE__ } } .-2 } do j=1,100 var = var + 1.0 enddo enddo !$acc end parallel end subroutine param_reduction end module prm program test use prm implicit none integer(8) :: r r=10.0 call param_reduction (r) if (r .ne. 1010) stop 1 end program test