1*37234499Sagozillon! Offloading test checking interaction of mapping all the members of a common 2*37234499Sagozillon! block with a mix of explicit and implicit mapping 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: var2) 20aec735cfSagozillon var2 = var2 + var3 21aec735cfSagozillon !$omp end target 22aec735cfSagozillon 23aec735cfSagozillon call modify_2 24aec735cfSagozillon 25aec735cfSagozillon print *, var1 26aec735cfSagozillon print *, var2 27aec735cfSagozillon print *, var3 28aec735cfSagozillonend program 29aec735cfSagozillon 30aec735cfSagozillonsubroutine modify_1 31aec735cfSagozillon common /var_common/ var1, var2, var3 32aec735cfSagozillon integer :: var1, var2, var3 33aec735cfSagozillon 34aec735cfSagozillon !$omp target map(tofrom: /var_common/) 35aec735cfSagozillon var1 = 10 36aec735cfSagozillon var2 = 20 37aec735cfSagozillon var3 = 30 38aec735cfSagozillon !$omp end target 39aec735cfSagozillonend 40aec735cfSagozillon 41aec735cfSagozillonsubroutine modify_2 42aec735cfSagozillon common /var_common/ var1, var2, var3 43aec735cfSagozillon integer :: var1, var2, var3 44aec735cfSagozillon integer :: copy 45aec735cfSagozillon 46aec735cfSagozillon !$omp target map(tofrom: copy) 47aec735cfSagozillon copy = var2 + var3 48aec735cfSagozillon !$omp end target 49aec735cfSagozillon 50aec735cfSagozillon print *, copy 51aec735cfSagozillonend 52aec735cfSagozillon 53aec735cfSagozillon!CHECK: 80 54aec735cfSagozillon!CHECK: 10 55aec735cfSagozillon!CHECK: 50 56aec735cfSagozillon!CHECK: 30 57