1! Offloading test checking interaction of mapping a full common block in a 2! target region 3! REQUIRES: flang, amdgcn-amd-amdhsa 4! UNSUPPORTED: nvptx64-nvidia-cuda 5! UNSUPPORTED: nvptx64-nvidia-cuda-LTO 6! UNSUPPORTED: aarch64-unknown-linux-gnu 7! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO 8! UNSUPPORTED: x86_64-unknown-linux-gnu 9! UNSUPPORTED: x86_64-unknown-linux-gnu-LTO 10 11! RUN: %libomptarget-compile-fortran-run-and-check-generic 12program main 13 implicit none 14 common /var_common/ var1, var2 15 integer :: var1, var2 16 17 call modify_1 18 19 !$omp target map(tofrom: /var_common/) 20 var1 = var1 + 20 21 var2 = var2 + 50 22 !$omp end target 23 24 call modify_2 25 26 print *, var1 27 print *, var2 28end program 29 30subroutine modify_1 31 common /var_common/ var1, var2 32 integer :: var1, var2 33!$omp target map(tofrom: /var_common/) 34 var1 = var1 + 20 35 var2 = var2 + 30 36!$omp end target 37end 38 39subroutine modify_2 40 common /var_common/ var1, var2 41 integer :: var1, var2 42!$omp target map(tofrom: /var_common/) 43 var1 = var1 * 10 44 var2 = var2 * 10 45!$omp end target 46end 47 48!CHECK: 400 49!CHECK: 800 50