diff --git a/offload/test/offloading/fortran/target-map-derived-type-full-1.f90 b/offload/test/offloading/fortran/target-map-derived-type-full-1.f90 deleted file mode 100644 index cb03708554fed0..00000000000000 --- a/offload/test/offloading/fortran/target-map-derived-type-full-1.f90 +++ /dev/null @@ -1,45 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type mapping when mapped -! to target and assinging one derived type -! to another -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - end type scalar - - type(scalar) :: in - type(scalar) :: out - in%ix = 10 - in%rx = 2.0 - in%zx = (2, 10) - - !$omp target map(from:out) map(to:in) - out = in - !$omp end target - - print*, in%ix - print*, in%rx - write (*,*) in%zx - - print*, out%ix - print*, out%rx - write (*,*) out%zx -end program main - -!CHECK: 10 -!CHECK: 2. -!CHECK: (2.,10.) -!CHECK: 10 -!CHECK: 2. -!CHECK: (2.,10.) diff --git a/offload/test/offloading/fortran/target-map-derived-type-full-2.f90 b/offload/test/offloading/fortran/target-map-derived-type-full-2.f90 deleted file mode 100644 index 0095b0fdf86a66..00000000000000 --- a/offload/test/offloading/fortran/target-map-derived-type-full-2.f90 +++ /dev/null @@ -1,60 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type mapping when mapped to -! target and assigning to individual members -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - integer(4) :: array(5) - end type scalar - - type(scalar) :: out - type(scalar) :: in - - in%ix = 10 - in%rx = 2.0 - in%zx = (2, 10) - - do i = 1, 5 - in%array(i) = i - end do - - !$omp target map(from:out) map(to:in) - out%ix = in%ix - out%rx = in%rx - out%zx = in%zx - - do i = 1, 5 - out%array(i) = in%array(i) - end do - !$omp end target - - print*, in%ix - print*, in%rx - print*, in%array - write (*,*) in%zx - - print*, out%ix - print*, out%rx - print*, out%array - write (*,*) out%zx -end program main - -!CHECK: 10 -!CHECK: 2. -!CHECK: 1 2 3 4 5 -!CHECK: (2.,10.) -!CHECK: 10 -!CHECK: 2. -!CHECK: 1 2 3 4 5 -!CHECK: (2.,10.) diff --git a/offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90 b/offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90 deleted file mode 100644 index f57e2c70d155e9..00000000000000 --- a/offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90 +++ /dev/null @@ -1,46 +0,0 @@ -! Offloading test checking interaction of an -! implicit derived type mapping when mapped -! to target and assinging one derived type -! to another -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - end type scalar - - type(scalar) :: in - type(scalar) :: out - in%ix = 10 - in%rx = 2.0 - in%zx = (2, 10) - - !$omp target map(from:out) - out = in - !$omp end target - - print*, in%ix - print*, in%rx - write (*,*) in%zx - - print*, out%ix - print*, out%rx - write (*,*) out%zx - end program main - -!CHECK: 10 -!CHECK: 2. -!CHECK: (2.,10.) -!CHECK: 10 -!CHECK: 2. -!CHECK: (2.,10.) - \ No newline at end of file diff --git a/offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90 b/offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90 deleted file mode 100644 index 92d3454d462a7d..00000000000000 --- a/offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90 +++ /dev/null @@ -1,61 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type mapping when mapped -! to target and assinging one derived type -! to another -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - integer(4) :: array(5) - end type scalar - - type(scalar) :: out - type(scalar) :: in - - in%ix = 10 - in%rx = 2.0 - in%zx = (2, 10) - - do i = 1, 5 - in%array(i) = i - end do - - !$omp target - out%ix = in%ix - out%rx = in%rx - out%zx = in%zx - - do i = 1, 5 - out%array(i) = in%array(i) - end do - !$omp end target - - print*, in%ix - print*, in%rx - print*, in%array - write (*,*) in%zx - - print*, out%ix - print*, out%rx - print*, out%array - write (*,*) out%zx -end program main - -!CHECK: 10 -!CHECK: 2. -!CHECK: 1 2 3 4 5 -!CHECK: (2.,10.) -!CHECK: 10 -!CHECK: 2. -!CHECK: 1 2 3 4 5 -!CHECK: (2.,10.) diff --git a/offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90 b/offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90 deleted file mode 100644 index 31774be1914638..00000000000000 --- a/offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90 +++ /dev/null @@ -1,101 +0,0 @@ -! Offloading test checking interaction of an -! explicit member map from two large nested -! derived types -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer1 - real(4) :: i4 - real(4) :: j4 - real(4) :: k4 - end type bottom_layer1 - - type :: bottom_layer2 - integer(4) :: i3 - integer(4) :: j3 - integer(4) :: k3 - end type bottom_layer2 - - type :: middle_layer - real(4) :: array_i2(10) - real(4) :: i2 - real(4) :: array_j2(10) - type(bottom_layer1) :: nest - type(bottom_layer2) :: nest2 - end type middle_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - integer, allocatable :: array_j(:) - integer(4) :: k - type(middle_layer) :: nested - end type top_layer - - type(top_layer) :: top_dtype - type(top_layer) :: top_dtype2 - - top_dtype2%nested%nest%i4 = 10 - top_dtype2%nested%nest%j4 = 12 - top_dtype2%nested%nest%k4 = 54 - - top_dtype2%nested%nest2%i3 = 20 - top_dtype2%nested%nest2%j3 = 40 - top_dtype2%nested%nest2%k3 = 60 - - top_dtype2%nested%i2 = 200 - - do i = 1, 10 - top_dtype2%array_i(i) = i - end do - -!$omp target map(from: top_dtype%nested%nest%j4, top_dtype%nested%nest%i4, top_dtype%nested%nest%k4) & -!$omp map(from: top_dtype%array_i, top_dtype%nested%nest2%i3, top_dtype%nested%i2) & -!$omp map(from: top_dtype%nested%nest2%k3, top_dtype%nested%nest2%j3) & -!$omp map(to: top_dtype2%nested%nest%j4, top_dtype2%nested%nest%i4, top_dtype2%nested%nest%k4) & -!$omp map(to: top_dtype2%array_i, top_dtype2%nested%nest2%i3, top_dtype2%nested%i2) & -!$omp map(to: top_dtype2%nested%nest2%k3, top_dtype2%nested%nest2%j3) - top_dtype%nested%nest%i4 = top_dtype2%nested%nest%i4 - top_dtype%nested%nest%j4 = top_dtype2%nested%nest%j4 - top_dtype%nested%nest%k4 = top_dtype2%nested%nest%k4 - - top_dtype%nested%nest2%i3 = top_dtype2%nested%nest2%i3 - top_dtype%nested%nest2%j3 = top_dtype2%nested%nest2%j3 - top_dtype%nested%nest2%k3 = top_dtype2%nested%nest2%k3 - - top_dtype%nested%i2 = top_dtype2%nested%i2 - - do i = 1, 10 - top_dtype%array_i(i) = top_dtype2%array_i(i) - end do -!$omp end target - - print *, top_dtype%nested%nest%i4 - print *, top_dtype%nested%nest%j4 - print *, top_dtype%nested%nest%k4 - - print *, top_dtype%nested%nest2%i3 - print *, top_dtype%nested%nest2%j3 - print *, top_dtype%nested%nest2%k3 - - print *, top_dtype%nested%i2 - - print *, top_dtype%array_i -end program main - -!CHECK: 10. -!CHECK: 12. -!CHECK: 54. -!CHECK: 20 -!CHECK: 40 -!CHECK: 60 -!CHECK: 200. -!CHECK: 1 2 3 4 5 6 7 8 9 10 diff --git a/offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90 b/offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90 deleted file mode 100644 index cecfb9e84a59d6..00000000000000 --- a/offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90 +++ /dev/null @@ -1,47 +0,0 @@ -! Offloading test checking interaction of two -! explicit arrau member maps with bounds from -! two nested derived types -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - end type top_layer - - type(top_layer) :: top_dtype - type(top_layer) :: top_dtype2 - -!$omp target map(tofrom: top_dtype%nested%array_i2(4:8), top_dtype2%nested%array_j2(4:8)) - do i = 4, 8 - top_dtype%nested%array_i2(i) = i * 2 - end do - - do i = 4, 8 - top_dtype2%nested%array_j2(i) = i * 2 - end do -!$omp end target - - print *, top_dtype%nested%array_i2 - print *, top_dtype2%nested%array_j2 -end program main - -!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0. -!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0. diff --git a/offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90 b/offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90 deleted file mode 100644 index a8762a0829cc1d..00000000000000 --- a/offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90 +++ /dev/null @@ -1,47 +0,0 @@ -! Offloading test checking interaction of two -! explicit array member maps with array bounds -! from two nested derived types -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - end type top_layer - - type(top_layer) :: top_dtype - type(top_layer) :: top_dtype2 - -!$omp target map(tofrom: top_dtype%nested%array_i2(4:8), top_dtype2%nested%array_j2(4:8)) - do i = 4, 8 - top_dtype%nested%array_i2(i) = i * 2 - end do - - do i = 4, 8 - top_dtype2%nested%array_j2(i) = i * 2 - end do -!$omp end target - - print *, top_dtype%nested%array_i2 - print *, top_dtype2%nested%array_j2 -end program main - -!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0 -!CHECK: 0. 0. 0. 8. 10. 12. 14. 16. 0. 0 diff --git a/offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90 b/offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90 deleted file mode 100644 index 9ecb394dbe4629..00000000000000 --- a/offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90 +++ /dev/null @@ -1,47 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of two -! derived types for a single array member each -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - end type top_layer - - type(top_layer) :: top_dtype - type(top_layer) :: top_dtype2 - -!$omp target map(tofrom: top_dtype%nested%array_i2, top_dtype2%nested%array_j2) - do i = 1, 10 - top_dtype%nested%array_i2(i) = i * 2 - end do - - do i = 1, 10 - top_dtype2%nested%array_j2(i) = i * 2 - end do -!$omp end target - - print *, top_dtype%nested%array_i2 - print *, top_dtype2%nested%array_j2 -end program main - -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. diff --git a/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90 b/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90 deleted file mode 100644 index 3b3ec96b9babfd..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90 +++ /dev/null @@ -1,49 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of -! an array with bounds when mapped to -! target using a combination of update, -! enter and exit directives. -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - integer(4) :: array(10) - end type scalar_array - - type(scalar_array) :: scalar_arr - - do I = 1, 10 - scalar_arr%array(I) = I + I - end do - - !$omp target enter data map(to: scalar_arr%array(3:6)) - - ! overwrite our target data with an update. - do I = 1, 10 - scalar_arr%array(I) = 10 - end do - - !$omp target update to(scalar_arr%array(3:6)) - - ! The compiler/runtime is less friendly about read/write out of - ! bounds when using enter and exit, we have to specifically loop - ! over the correct range - !$omp target - do i=3,6 - scalar_arr%array(i) = scalar_arr%array(i) + i - end do - !$omp end target - - !$omp target exit data map(from: scalar_arr%array(3:6)) - - print*, scalar_arr%array -end program - -!CHECK: 10 10 13 14 15 16 10 10 10 10 diff --git a/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90 b/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90 deleted file mode 100644 index 5f7e9f94682659..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90 +++ /dev/null @@ -1,49 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of -! an array with bounds when mapped to -! target using a combination of enter and -! exit directives. -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - integer(4) :: array(10) - end type scalar_array - - type(scalar_array) :: scalar_arr - - do I = 1, 10 - scalar_arr%array(I) = I + I - end do - - !$omp target enter data map(to: scalar_arr%array(3:6)) - - ! Shouldn't overwrite data already locked in - ! on target via enter, which will then be - ! overwritten by our exit - do I = 1, 10 - scalar_arr%array(I) = 10 - end do - - ! The compiler/runtime is less friendly about read/write out of - ! bounds when using enter and exit, we have to specifically loop - ! over the correct range - !$omp target - do i=3,6 - scalar_arr%array(i) = scalar_arr%array(i) + i - end do - !$omp end target - - !$omp target exit data map(from: scalar_arr%array(3:6)) - - print*, scalar_arr%array -end program - -!CHECK: 10 10 9 12 15 18 10 10 10 10 diff --git a/offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90 b/offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90 deleted file mode 100644 index 907b16ffedf524..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90 +++ /dev/null @@ -1,33 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of -! an array when mapped to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main -type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 -end type scalar_array - - type(scalar_array) :: scalar_arr - - !$omp target map(tofrom:scalar_arr%array_y) - do i = 1, 10 - scalar_arr%array_y(i) = i - end do - !$omp end target - - print *, scalar_arr%array_y -end program main - -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. diff --git a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90 b/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90 deleted file mode 100644 index 110fb648980cdc..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90 +++ /dev/null @@ -1,45 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of -! two arrays with explicit bounds when -! mapped to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - integer(4) :: array_x(3,3,3) - real(4) :: break_1 - integer(4) :: array_y(3,3,3) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr - - do i = 1, 3 - do j = 1, 3 - do k = 1, 3 - scalar_arr%array_x(i, j, k) = 42 - scalar_arr%array_y(i, j, k) = 0 ! Will get overwritten by garbage values in target - end do - end do - end do - - !$omp target map(tofrom:scalar_arr%array_x(1:3, 1:3, 2:2), scalar_arr%array_y(1:3, 1:3, 1:3)) - do j = 1, 3 - do k = 1, 3 - scalar_arr%array_y(k, j, 2) = scalar_arr%array_x(k, j, 2) - end do - end do - !$omp end target - - print *, scalar_arr%array_y -end program main - -!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 diff --git a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90 b/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90 deleted file mode 100644 index b7f6e2ddfb3bcb..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90 +++ /dev/null @@ -1,38 +0,0 @@ -! Offloading test checking interaction of an -! explicit derived type member mapping of -! two arrays with explicit bounds when -! mapped to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr - - do i = 1, 10 - scalar_arr%array_x(i) = i - end do - - !$omp target map(tofrom:scalar_arr%array_x(3:6), scalar_arr%array_y(3:6)) - do i = 1, 10 - scalar_arr%array_y(i) = scalar_arr%array_x(i) - end do - !$omp end target - - print*, scalar_arr%array_y -end program main - -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. diff --git a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90 b/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90 deleted file mode 100644 index c44a58dbebc8e4..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90 +++ /dev/null @@ -1,39 +0,0 @@ -! Offloading test checking interaction of an -! derived type mapping of two explicit array -! members to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr - - do i = 1, 10 - scalar_arr%array_x(i) = i - end do - - !$omp target map(tofrom:scalar_arr%array_x, scalar_arr%array_y) - do i = 1, 10 - scalar_arr%array_y(i) = scalar_arr%array_x(i) - end do - !$omp end target - - print*, scalar_arr%array_x - print*, scalar_arr%array_y -end program main - -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. diff --git a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90 b/offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90 deleted file mode 100644 index a4205bc0179e20..00000000000000 --- a/offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90 +++ /dev/null @@ -1,33 +0,0 @@ -! Offloading test checking interaction of an -! derived type mapping of two explicit -! members to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - real(4) :: ry = 1.0 - end type scalar - - type(scalar) :: scalar_struct - - !$omp target map(from:scalar_struct%rx, scalar_struct%ry) - scalar_struct%rx = 21.0 - scalar_struct%ry = 27.0 - !$omp end target - - print*, scalar_struct%rx - print*, scalar_struct%ry -end program main - -!CHECK: 21. -!CHECK: 27. diff --git a/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 b/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 index 8d35a281caf933..489c2532a7624c 100644 --- a/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 +++ b/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 @@ -17,6 +17,7 @@ program main end do !$omp target enter data map(to: array) + ! Shouldn't overwrite data already locked in ! on target via enter, this will then be ! overwritten by our exit @@ -31,6 +32,7 @@ program main !$omp end target !$omp target exit data map(from: array) + print*, array end program diff --git a/offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90 b/offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90 index d842cd15c65a10..3c8c3507ed728a 100644 --- a/offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90 +++ b/offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90 @@ -19,6 +19,7 @@ program main end do !$omp target enter data map(to: array(3:6)) + ! Shouldn't overwrite data already locked in ! on target via enter, which will then be ! overwritten by our exit @@ -36,6 +37,7 @@ program main !$omp end target !$omp target exit data map(from: array(3:6)) + print *, array end program diff --git a/offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 b/offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 index 70ed3d747829d9..29a0b5ee3e62c1 100644 --- a/offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 +++ b/offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 @@ -14,6 +14,7 @@ program main scalar = 10 !$omp target enter data map(to: scalar) + !ignored, as we've already attached scalar = 20 diff --git a/offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90 b/offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90 deleted file mode 100644 index 4cdf41db70d43b..00000000000000 --- a/offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90 +++ /dev/null @@ -1,33 +0,0 @@ -! Offloading test checking interaction of an -! single explicit member map from a single -! derived type. -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - real :: test - type :: scalar - integer(4) :: ix = 0 - real(4) :: rx = 0.0 - complex(4) :: zx = (0,0) - real(4) :: ry = 1.0 - end type scalar - - type(scalar) :: scalar_struct - scalar_struct%rx = 2.0 - test = 21.0 - - !$omp target map(from:scalar_struct%rx) - scalar_struct%rx = test - !$omp end target - - print *, scalar_struct%rx -end program main - -!CHECK: 21. diff --git a/offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90 b/offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90 deleted file mode 100644 index 2412381e62e7fd..00000000000000 --- a/offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90 +++ /dev/null @@ -1,83 +0,0 @@ -! Offloading test checking interaction of an -! explicit member map a large nested derived -! type -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer1 - real(4) :: i4 - real(4) :: j4 - real(4) :: k4 - end type bottom_layer1 - - type :: bottom_layer2 - integer(4) :: i3 - integer(4) :: j3 - integer(4) :: k3 - end type bottom_layer2 - - type :: middle_layer - real(4) :: array_i2(10) - real(4) :: i2 - real(4) :: array_j2(10) - type(bottom_layer1) :: nest - type(bottom_layer2) :: nest2 - end type middle_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - integer, allocatable :: array_j(:) - integer(4) :: k - type(middle_layer) :: nested - end type top_layer - - type(top_layer) :: top_dtype - - top_dtype%nested%nest%j4 = 12 -!$omp target map(tofrom: top_dtype%nested%nest%j4, top_dtype%nested%nest%i4, top_dtype%nested%nest%k4) & -!$omp map(tofrom: top_dtype%array_i, top_dtype%nested%nest2%i3, top_dtype%nested%i2, top_dtype%nested%nest2%k3, top_dtype%nested%nest2%j3) - top_dtype%nested%nest%i4 = 10 - top_dtype%nested%nest%j4 = 12 + top_dtype%nested%nest%j4 - top_dtype%nested%nest%k4 = 54 - - top_dtype%nested%nest2%i3 = 20 - top_dtype%nested%nest2%j3 = 40 - top_dtype%nested%nest2%k3 = 60 - - top_dtype%nested%i2 = 200 - - do i = 1, 10 - top_dtype%array_i(i) = i - end do -!$omp end target - - print *, top_dtype%nested%nest%i4 - print *, top_dtype%nested%nest%j4 - print *, top_dtype%nested%nest%k4 - - print *, top_dtype%nested%nest2%i3 - print *, top_dtype%nested%nest2%j3 - print *, top_dtype%nested%nest2%k3 - - print *, top_dtype%nested%i2 - - print *, top_dtype%array_i -end program main - -!CHECK: 10. -!CHECK: 24. -!CHECK: 54. -!CHECK: 20 -!CHECK: 40 -!CHECK: 60 -!CHECK: 200. -!CHECK: 1 2 3 4 5 6 7 8 9 10 diff --git a/offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90 b/offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90 deleted file mode 100644 index b9e8221357c8ab..00000000000000 --- a/offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90 +++ /dev/null @@ -1,55 +0,0 @@ -! Offloading test checking interaction of an -! nested derived type member map of a complex -! number member -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - complex :: j2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - complex :: l - end type top_layer - - type(top_layer) :: top_dtype - -!$omp target map(tofrom: top_dtype%nested%i2, top_dtype%k, top_dtype%nested%j2, top_dtype%nested%array_i2, top_dtype%l) - do i = 1, 10 - top_dtype%nested%array_i2(i) = i * 2 - end do - - top_dtype%l = (10,20) - top_dtype%nested%j2 = (510,210) - - top_dtype%nested%i2 = 30.30 - top_dtype%k = 74 -!$omp end target - - print *, top_dtype%nested%i2 - print *, top_dtype%k - print *, top_dtype%nested%array_i2 - print *, top_dtype%l - print *, top_dtype%nested%j2 -end program main - -!CHECK: 30.299999237060547 -!CHECK: 74 -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. -!CHECK: (10.,20.) -!CHECK: (510.,210.) diff --git a/offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90 b/offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90 deleted file mode 100644 index 4712ae6210d62a..00000000000000 --- a/offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90 +++ /dev/null @@ -1,51 +0,0 @@ -! Offloading test checking interaction of an -! nested derived type member map with the -! inclusion of an entire nested derived -! type being mapped -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - type(bottom_layer) :: nested2 - end type top_layer - - type(top_layer) :: top_dtype - -!$omp target map(tofrom: top_dtype%k, top_dtype%nested2%array_i2, top_dtype%nested) - do i = 1, 10 - top_dtype%nested2%array_i2(i) = i * 2 - top_dtype%nested%array_i2(i) = i * 2 - end do - - top_dtype%nested%i2 = 30.30 - top_dtype%k = 74 -!$omp end target - - print *, top_dtype%nested%i2 - print *, top_dtype%k - print *, top_dtype%nested%array_i2 - print *, top_dtype%nested2%array_i2 -end program main - -!CHECK: 30.299999237060547 -!CHECK: 74 -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. diff --git a/offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90 b/offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90 deleted file mode 100644 index 6f4d5ad5c15bdb..00000000000000 --- a/offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90 +++ /dev/null @@ -1,47 +0,0 @@ -! Offloading test checking interaction of an -! explicit member map from a small nested -! derived type -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - end type top_layer - - type(top_layer) :: top_dtype - -!$omp target map(tofrom: top_dtype%nested%i2, top_dtype%k, top_dtype%nested%array_i2) - do i = 1, 10 - top_dtype%nested%array_i2(i) = i * 2 - end do - - top_dtype%nested%i2 = 30.30 - top_dtype%k = 74 -!$omp end target - - print *, top_dtype%nested%i2 - print *, top_dtype%k - print *, top_dtype%nested%array_i2 -end program main - -!CHECK: 30.299999237060547 -!CHECK: 74 -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. diff --git a/offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90 b/offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90 deleted file mode 100644 index 046fc13eb93c77..00000000000000 --- a/offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90 +++ /dev/null @@ -1,40 +0,0 @@ -! Offloading test checking interaction of an -! single explicit member map from a nested -! derived type. -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: bottom_layer - real(8) :: i2 - real(4) :: array_i2(10) - real(4) :: array_j2(10) - end type bottom_layer - - type :: top_layer - real(4) :: i - integer(4) :: array_i(10) - real(4) :: j - type(bottom_layer) :: nested - integer, allocatable :: array_j(:) - integer(4) :: k - end type top_layer - - type(top_layer) :: top_dtype - -!$omp target map(tofrom: top_dtype%nested%array_i2) - do i = 1, 10 - top_dtype%nested%array_i2(i) = i * 2 - end do -!$omp end target - - print *, top_dtype%nested%array_i2 -end program main - -!CHECK: 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. diff --git a/offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90 b/offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90 deleted file mode 100644 index b080b437e381b5..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90 +++ /dev/null @@ -1,35 +0,0 @@ -! Offloading test checking interaction of two -! derived type's with one explicit member -! each being mapped with bounds to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - !$omp target map(tofrom:scalar_arr1%break_1, scalar_arr2%break_3) - scalar_arr2%break_3 = 10 - scalar_arr1%break_1 = 15 - !$omp end target - - print*, scalar_arr1%break_1 - print*, scalar_arr2%break_3 -end program main - -!CHECK: 15. -!CHECK: 10. diff --git a/offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90 b/offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90 deleted file mode 100644 index 7cb7846ed0b241..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90 +++ /dev/null @@ -1,39 +0,0 @@ -! Offloading test checking interaction of two -! derived type's with a single explicit array -! member each being mapped with bounds to -! target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - - !$omp target map(tofrom:scalar_arr1%array_x(3:6), scalar_arr2%array_x(3:6)) - do i = 3, 6 - scalar_arr2%array_x(i) = i - scalar_arr1%array_x(i) = i - end do - !$omp end target - - print*, scalar_arr1%array_x - print*, scalar_arr2%array_x -end program main - -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. diff --git a/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90 b/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90 deleted file mode 100644 index fbe6b305464a64..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90 +++ /dev/null @@ -1,35 +0,0 @@ -! Offloading test checking interaction of two -! derived type's with a mix of explicit and -! implicit member mapping to target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - !$omp target map(tofrom:scalar_arr1%break_1) - scalar_arr2%break_3 = 10 - scalar_arr1%break_1 = 15 - !$omp end target - - print*, scalar_arr1%break_1 - print*, scalar_arr2%break_3 -end program main - -!CHECK: 15. -!CHECK: 10. diff --git a/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90 b/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90 deleted file mode 100644 index 503329d90628fc..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90 +++ /dev/null @@ -1,41 +0,0 @@ -! Offloading test checking interaction of two -! derived type's with a mix of explicit and -! implicit member mapping of arrays to target -! one with bounds. -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - do i = 1, 10 - scalar_arr1%array_x(i) = i - end do - - !$omp target map(tofrom:scalar_arr2%array_x(3:6)) - do i = 3, 6 - scalar_arr2%array_x(i) = scalar_arr1%array_x(i) - end do - !$omp end target - - print*, scalar_arr1%array_x - print*, scalar_arr2%array_x -end program main - -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. diff --git a/offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90 b/offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90 deleted file mode 100644 index ed350c54dcb259..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90 +++ /dev/null @@ -1,51 +0,0 @@ -! Offloading test checking interaction of two -! derived type's with two explicit array -! members each being mapped with bounds to -! target -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - do i = 1, 10 - scalar_arr1%array_x(i) = i - scalar_arr2%array_x(i) = i - end do - - !$omp target map(tofrom:scalar_arr1%array_x(3:6), scalar_arr1%array_y(3:6), scalar_arr2%array_x(3:6), scalar_arr2%array_y(3:6)) - do i = 1, 10 - scalar_arr2%array_y(i) = scalar_arr1%array_x(i) - end do - - do i = 1, 10 - scalar_arr1%array_y(i) = scalar_arr2%array_x(i) - end do - !$omp end target - - print*, scalar_arr1%array_x - print*, scalar_arr2%array_y - - print*, scalar_arr2%array_x - print*, scalar_arr1%array_y -end program main - -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. diff --git a/offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90 b/offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90 deleted file mode 100644 index 42d9197f6e1e7a..00000000000000 --- a/offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90 +++ /dev/null @@ -1,56 +0,0 @@ -! Offloading test checking interaction of an -! explicit member map utilising array bounds -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda -! UNSUPPORTED: nvptx64-nvidia-cuda-LTO -! UNSUPPORTED: aarch64-unknown-linux-gnu -! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO -! UNSUPPORTED: x86_64-pc-linux-gnu -! UNSUPPORTED: x86_64-pc-linux-gnu-LTO - -! RUN: %libomptarget-compile-fortran-run-and-check-generic -program main - type :: array - real(4) :: array_z(10) - real(4) :: break_4 - real(4) :: array_ix(10) - end type array - - type :: scalar_array - real(4) :: break_0 - real(4) :: array_x(10) - real(4) :: break_1 - real(4) :: array_y(10) - real(4) :: break_3 - type(array) :: nested - end type scalar_array - - type(scalar_array) :: scalar_arr1 - type(scalar_array) :: scalar_arr2 - - do i = 1, 10 - scalar_arr1%nested%array_z(i) = i - scalar_arr2%nested%array_z(i) = i - end do - - !$omp target map(tofrom:scalar_arr1%nested%array_z(3:6), scalar_arr1%nested%array_ix(3:6), scalar_arr2%nested%array_z(3:6), scalar_arr2%nested%array_ix(3:6)) - do i = 3, 6 - scalar_arr2%nested%array_ix(i) = scalar_arr1%nested%array_z(i) - end do - - do i = 3, 6 - scalar_arr1%nested%array_ix(i) = scalar_arr2%nested%array_z(i) - end do - !$omp end target - - print*, scalar_arr1%nested%array_ix - print*, scalar_arr2%nested%array_z - - print*, scalar_arr2%nested%array_ix - print*, scalar_arr1%nested%array_z -end program main - -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -!CHECK: 0. 0. 3. 4. 5. 6. 0. 0. 0. 0. -!CHECK: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.