| ! 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 |