(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.fortran/
declare-target-2.f90
! Don't compile this anywhere, it is just auxiliary
! file compiled together with declare-target-1.f90
! to verify inter-CU module handling of omp declare target.
! { dg-do compile { target { lp64 && { ! lp64 } } } }

subroutine foo
  use declare_target_1_mod

  var_x = 10
  var_y = 20
  var_z = 30
  !$omp target update to(var_x, var_y, var_z)

  !$omp target
    var_x = var_x * 2;
    var_y = var_y * 3;
    var_z = var_z * 4;
  !$omp end target

  !$omp target update from(var_x, var_y, var_z)
  if (var_x /= 20) stop 1
  if (var_y /= 20*3) stop 2
  if (var_z /= 30*4) stop 3
end subroutine foo