blob: e1cb9435437f45f61bf1181f51b0367ca7d86c6a [file] [log] [blame]
! { dg-do run }
! { dg-skip-if "" { *-*-* } { "-DACC_MEM_SHARED=1" } }
module globalvars
implicit none
real b
!$acc declare link (b)
end module globalvars
program test
use openacc
use globalvars
implicit none
real a
real c
!$acc declare link (c)
if (acc_is_present (b) .neqv. .false.) STOP 1
if (acc_is_present (c) .neqv. .false.) STOP 2
a = 0.0
b = 1.0
!$acc parallel copy (a) copyin (b)
b = b + 4.0
a = b
!$acc end parallel
if (a .ne. 5.0) STOP 3
if (acc_is_present (b) .neqv. .false.) STOP 4
a = 0.0
!$acc parallel copy (a) create (b)
b = 4.0
a = b
!$acc end parallel
if (a .ne. 4.0) STOP 5
if (acc_is_present (b) .neqv. .false.) STOP 6
a = 0.0
!$acc parallel copy (a) copy (b)
b = 4.0
a = b
!$acc end parallel
if (a .ne. 4.0) STOP 7
if (b .ne. 4.0) STOP 8
if (acc_is_present (b) .neqv. .false.) STOP 9
a = 0.0
!$acc parallel copy (a) copy (b) copy (c)
b = 4.0
c = b
a = c
!$acc end parallel
if (a .ne. 4.0) STOP 10
if (acc_is_present (b) .neqv. .false.) STOP 11
end program test