1*37234499Sagozillon! Offloading test checking interaction of allocatables with multi-dimensional 2*37234499Sagozillon! bounds (3-D in this case) and a target region 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 :: inArray(:,:,:) 8330d8983SJohannes Doerfert integer, allocatable :: outArray(:,:,:) 9330d8983SJohannes Doerfert 10330d8983SJohannes Doerfert allocate(inArray(3,3,3)) 11330d8983SJohannes Doerfert allocate(outArray(3,3,3)) 12330d8983SJohannes Doerfert 13330d8983SJohannes Doerfert do i = 1, 3 14330d8983SJohannes Doerfert do j = 1, 3 15330d8983SJohannes Doerfert do k = 1, 3 16330d8983SJohannes Doerfert inArray(i, j, k) = 42 17330d8983SJohannes Doerfert outArray(i, j, k) = 0 18330d8983SJohannes Doerfert end do 19330d8983SJohannes Doerfert end do 20330d8983SJohannes Doerfert end do 21330d8983SJohannes Doerfert 22330d8983SJohannes Doerfert!$omp target map(tofrom:inArray(1:3, 1:3, 2:2), outArray(1:3, 1:3, 1:3)) 23330d8983SJohannes Doerfert do j = 1, 3 24330d8983SJohannes Doerfert do k = 1, 3 25330d8983SJohannes Doerfert outArray(k, j, 2) = inArray(k, j, 2) 26330d8983SJohannes Doerfert end do 27330d8983SJohannes Doerfert end do 28330d8983SJohannes Doerfert!$omp end target 29330d8983SJohannes Doerfert 30330d8983SJohannes Doerfertprint *, outArray 31330d8983SJohannes Doerfert 32330d8983SJohannes Doerfertdeallocate(inArray) 33330d8983SJohannes Doerfertdeallocate(outArray) 34330d8983SJohannes Doerfert 35330d8983SJohannes Doerfertend program 36330d8983SJohannes Doerfert 37330d8983SJohannes Doerfert! CHECK: 0 0 0 0 0 0 0 0 0 42 42 42 42 42 42 42 42 42 0 0 0 0 0 0 0 0 0 38