! Offloading test checking interaction of mapping a full common block in a ! target region ! 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-unknown-linux-gnu ! UNSUPPORTED: x86_64-unknown-linux-gnu-LTO ! RUN: %libomptarget-compile-fortran-run-and-check-generic program main implicit none common /var_common/ var1, var2 integer :: var1, var2 call modify_1 !$omp target map(tofrom: /var_common/) var1 = var1 + 20 var2 = var2 + 50 !$omp end target call modify_2 print *, var1 print *, var2 end program subroutine modify_1 common /var_common/ var1, var2 integer :: var1, var2 !$omp target map(tofrom: /var_common/) var1 = var1 + 20 var2 = var2 + 30 !$omp end target end subroutine modify_2 common /var_common/ var1, var2 integer :: var1, var2 !$omp target map(tofrom: /var_common/) var1 = var1 * 10 var2 = var2 * 10 !$omp end target end !CHECK: 400 !CHECK: 800