brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 8c2907a Raw
57 lines · plain
1! Offloading test checking interaction of mapping all the members of a common2! block with a mix of explicit and implicit mapping to a target region3! REQUIRES: flang, amdgcn-amd-amdhsa4! UNSUPPORTED: nvptx64-nvidia-cuda5! UNSUPPORTED: nvptx64-nvidia-cuda-LTO6! UNSUPPORTED: aarch64-unknown-linux-gnu7! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO8! UNSUPPORTED: x86_64-unknown-linux-gnu9! UNSUPPORTED: x86_64-unknown-linux-gnu-LTO10 11! RUN: %libomptarget-compile-fortran-run-and-check-generic12program main13    implicit none14    common /var_common/ var1, var2, var315    integer :: var1, var2, var316 17    call modify_118 19    !$omp target map(tofrom: var2)20      var2 = var2 + var321    !$omp end target22 23    call modify_224 25    print *, var126    print *, var227    print *, var328end program29 30subroutine modify_131    common /var_common/ var1, var2, var332    integer :: var1, var2, var333 34  !$omp target map(tofrom: /var_common/)35    var1 = 1036    var2 = 2037    var3 = 3038  !$omp end target39end40 41subroutine modify_242    common /var_common/ var1, var2, var343    integer :: var1, var2, var344    integer :: copy45 46  !$omp target map(tofrom: copy)47    copy =  var2 + var348  !$omp end target49 50    print *, copy51end52 53!CHECK: 8054!CHECK: 1055!CHECK: 5056!CHECK: 3057