1*37234499Sagozillon! Offloading test checking interaction of mapping all the members of a common 2*37234499Sagozillon! block to a target region 3aec735cfSagozillon! REQUIRES: flang, amdgcn-amd-amdhsa 4aec735cfSagozillon! UNSUPPORTED: nvptx64-nvidia-cuda 5aec735cfSagozillon! UNSUPPORTED: nvptx64-nvidia-cuda-LTO 6aec735cfSagozillon! UNSUPPORTED: aarch64-unknown-linux-gnu 7aec735cfSagozillon! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO 81a0cf245SJan Patrick Lehr! UNSUPPORTED: x86_64-unknown-linux-gnu 91a0cf245SJan Patrick Lehr! UNSUPPORTED: x86_64-unknown-linux-gnu-LTO 10aec735cfSagozillon 11aec735cfSagozillon! RUN: %libomptarget-compile-fortran-run-and-check-generic 12aec735cfSagozillonprogram main 13aec735cfSagozillon implicit none 14aec735cfSagozillon common /var_common/ var1, var2, var3 15aec735cfSagozillon integer :: var1, var2, var3 16aec735cfSagozillon 17aec735cfSagozillon call modify_1 18aec735cfSagozillon 19aec735cfSagozillon !$omp target map(tofrom: var1, var2, var3) 20aec735cfSagozillon var3 = var3 * 10 21aec735cfSagozillon var2 = var2 * 10 22aec735cfSagozillon var1 = var1 * 10 23aec735cfSagozillon !$omp end target 24aec735cfSagozillon 25aec735cfSagozillon call modify_2 26aec735cfSagozillon 27aec735cfSagozillon print *, var1 28aec735cfSagozillon print *, var2 29aec735cfSagozillon print *, var3 30aec735cfSagozillonend program 31aec735cfSagozillon 32aec735cfSagozillonsubroutine modify_1 33aec735cfSagozillon common /var_common/ var1, var2, var3 34aec735cfSagozillon integer :: var1, var2, var3 35aec735cfSagozillon!$omp target map(tofrom: var2, var1, var3) 36aec735cfSagozillon var3 = var3 + 40 37aec735cfSagozillon var2 = var2 + 20 38aec735cfSagozillon var1 = var1 + 30 39aec735cfSagozillon!$omp end target 40aec735cfSagozillonend 41aec735cfSagozillon 42aec735cfSagozillonsubroutine modify_2 43aec735cfSagozillon common /var_common/ var1, var2, var3 44aec735cfSagozillon integer :: var1, var2, var3 45aec735cfSagozillon!$omp target map(tofrom: var2, var3, var1) 46aec735cfSagozillon var3 = var3 + 20 47aec735cfSagozillon var1 = var1 + 10 48aec735cfSagozillon var2 = var2 + 15 49aec735cfSagozillon!$omp end target 50aec735cfSagozillonend 51aec735cfSagozillon 52aec735cfSagozillon!CHECK: 310 53aec735cfSagozillon!CHECK: 215 54aec735cfSagozillon!CHECK: 420 55