blob: 1d247ca238e217314e87df600316ee1d03627397 [file] [log] [blame]
! Ensure that each parallel reduction variable as a copy or pcopy
! data clause.
! { dg-additional-options "-fdump-tree-gimple" }
program test
implicit none
integer :: v1, v2
!$acc parallel reduction(+:v1,v2)
!$acc end parallel
!$acc parallel reduction(+:v1,v2) copy(v1,v2)
!$acc end parallel
!$acc parallel reduction(+:v1,v2) pcopy(v1,v2)
!$acc end parallel
!$acc parallel reduction(+:v1,v2) present(v1,v2)
!$acc end parallel
!$acc parallel reduction(+:v1,v2) copyin(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
!$acc parallel reduction(+:v1,v2) pcopyin(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
!$acc parallel reduction(+:v1,v2) copyout(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
!$acc parallel reduction(+:v1,v2) pcopyout(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
!$acc parallel reduction(+:v1,v2) create(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
!$acc parallel reduction(+:v1,v2) pcreate(v1,v2) ! { dg-warning "incompatible data clause" }
!$acc end parallel
end program test
! { dg-final { scan-tree-dump-times "map.tofrom:v1" 9 "gimple" } }
! { dg-final { scan-tree-dump-times "map.tofrom:v2" 9 "gimple" } }
! { dg-final { scan-tree-dump-times "map.force_present:v1" 1 "gimple" } }
! { dg-final { scan-tree-dump-times "map.force_present:v2" 1 "gimple" } }