Projet_SETI_RISC-V/riscv-gnu-toolchain/gcc/libgomp/testsuite/libgomp.oacc-fortran/reference-reductions.f90

45 lines
963 B
Fortran
Raw Normal View History

2023-03-06 14:48:14 +01:00
! 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