! { dg-do run } ! Test no_create clause with data construct when data is present/not present. program no_create use openacc implicit none logical :: shared_memory integer, parameter :: n = 512 integer :: myvar, myarr(n) integer i shared_memory = .false. !$acc kernels copyin (shared_memory) shared_memory = .true. !$acc end kernels myvar = 77 do i = 1, n myarr(i) = 0 end do !$acc data no_create (myvar, myarr) if (acc_is_present (myvar) .neqv. shared_memory) stop 10 if (acc_is_present (myarr) .neqv. shared_memory) stop 11 !$acc end data !$acc enter data copyin (myvar, myarr) !$acc data no_create (myvar, myarr) if (acc_is_present (myvar) .eqv. .false.) stop 20 if (acc_is_present (myarr) .eqv. .false.) stop 21 !$acc end data !$acc exit data copyout (myvar, myarr) if (myvar .ne. 77) stop 30 do i = 1, n if (myarr(i) .ne. 0) stop 31 end do end program no_create