aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.fortran/declare-target-2.f90
blob: 2210fc5a52f588e9f2a088ca39f3845176ba4e05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! 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