! { 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