1*37234499Sagozillon! Offloading test checking interaction of allocatables with enter, exit and 2*37234499Sagozillon! target 388234488SEthan Luis McDonough! REQUIRES: flang, amdgpu 4330d8983SJohannes Doerfert 5330d8983SJohannes Doerfert! RUN: %libomptarget-compile-fortran-run-and-check-generic 6330d8983SJohannes Doerfertprogram main 7330d8983SJohannes Doerfert integer, allocatable :: A(:) 8330d8983SJohannes Doerfert allocate(A(10)) 9330d8983SJohannes Doerfert 10330d8983SJohannes Doerfert !$omp target enter data map(alloc: A) 11330d8983SJohannes Doerfert 12330d8983SJohannes Doerfert !$omp target 13330d8983SJohannes Doerfert do I = 1, 10 14330d8983SJohannes Doerfert A(I) = I 15330d8983SJohannes Doerfert end do 16330d8983SJohannes Doerfert !$omp end target 17330d8983SJohannes Doerfert 18330d8983SJohannes Doerfert !$omp target exit data map(from: A) 19330d8983SJohannes Doerfert 20330d8983SJohannes Doerfert !$omp target exit data map(delete: A) 21330d8983SJohannes Doerfert 22330d8983SJohannes Doerfert do i = 1, 10 23330d8983SJohannes Doerfert print *, A(i) 24330d8983SJohannes Doerfert end do 25330d8983SJohannes Doerfert 26330d8983SJohannes Doerfert deallocate(A) 27330d8983SJohannes Doerfertend program 28330d8983SJohannes Doerfert 29330d8983SJohannes Doerfert! CHECK: 1 30330d8983SJohannes Doerfert! CHECK: 2 31330d8983SJohannes Doerfert! CHECK: 3 32330d8983SJohannes Doerfert! CHECK: 4 33330d8983SJohannes Doerfert! CHECK: 5 34330d8983SJohannes Doerfert! CHECK: 6 35330d8983SJohannes Doerfert! CHECK: 7 36330d8983SJohannes Doerfert! CHECK: 8 37330d8983SJohannes Doerfert! CHECK: 9 38330d8983SJohannes Doerfert! CHECK: 10 39