+2019-11-04 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/92305
+ * testsuite/libgomp.fortran/allocatable2.f90: Use
+ unique numbers with 'stop'.
+ * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
+ * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
+ * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
+ * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
+ * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
+
2019-11-01 Tobias Burnus <tobias@codesourcery.com>
* testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
l = l.or..not.allocated (a)
l = l.or.size(a).ne.12.or.size(a,1).ne.3.or.size(a,2).ne.4
!$omp end parallel
- if (l.or.any(a.ne.6)) stop 1
+ if (l.or.any(a.ne.6)) stop 2
!$omp parallel num_threads (4) copyin (a) reduction(.or.:l) private (b)
l = l.or.allocated (b)
l = l.or..not.allocated (a)
deallocate (b)
l = l.or.allocated (b)
!$omp end parallel
- if (n.lt.0 .or. n.ge.4) stop 2
- if (l.or.any(a.ne.(n + 36))) stop 3
+ if (n.lt.0 .or. n.ge.4) stop 3
+ if (l.or.any(a.ne.(n + 36))) stop 4
!$omp parallel num_threads (4) reduction(.or.:l)
deallocate (a)
l = l.or.allocated (a)
!$omp end parallel
- if (l.or.allocated (a)) stop 4
+ if (l.or.allocated (a)) stop 5
end
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 2
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 3
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 4
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 5
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 6
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 7
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 8
end subroutine test_dummy_callee_1
! Save device ptr - and recall pointer
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 9
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 10
! check c_loc ptr again after target-value modification
aa = 1111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 11
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 12
! check Fortran pointer after target-value modification
aa = 11111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 13
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 14
!$omp end target data
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 15
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 16
!$omp target data map(to:cc) map(from:dd)
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 17
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 18
! check c_loc ptr again after target-value modification
cc = 3333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 19
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 20
! check Fortran pointer after target-value modification
cc = 33333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 21
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 22
!$omp end target data
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 23
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 24
!$omp target data map(to:ee) map(from:ff)
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 25
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 26
! check c_loc ptr again after target-value modification
ee = 5555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 27
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 28
! check Fortran pointer after target-value modification
ee = 55555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 29
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 30
!$omp end target data
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 31
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 32
!$omp target data map(to:gg) map(from:hh)
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 33
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 34
! check c_loc ptr again after target-value modification
gg = 7777.0_c_double
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 35
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 36
! check Fortran pointer after target-value modification
gg = 77777.0_c_double
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 37
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 38
!$omp end target data
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 39
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 40
end subroutine test_dummy_callee_2
end module test_dummies
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 41
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 42
end subroutine test_dummy_val_callee_1
! Save device ptr - and recall pointer
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 43
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 44
! check c_loc ptr again after target-value modification
aa = 1111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 45
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 46
! check Fortran pointer after target-value modification
aa = 11111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 47
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 48
!$omp end target data
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 49
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 50
end subroutine test_dummy_val_callee_2
end module test_dummies_value
integer, value :: N
! All shall be present - and pointing to non-NULL
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.present(gg) .or. .not.present(hh)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 51
+ if (.not.present(cc) .or. .not.present(dd)) stop 52
+ if (.not.present(ee) .or. .not.present(ff)) stop 53
+ if (.not.present(gg) .or. .not.present(hh)) stop 54
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 55
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 56
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 57
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 58
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 59
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 60
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 61
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 62
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 63
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 64
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 65
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 66
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 67
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 68
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 69
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 70
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 71
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 72
end subroutine test_dummy_opt_callee_1
! Save device ptr - and recall pointer
real(c_double) :: dummy
! All shall be present - and pointing to non-NULL
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.present(gg) .or. .not.present(hh)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 73
+ if (.not.present(cc) .or. .not.present(dd)) stop 74
+ if (.not.present(ee) .or. .not.present(ff)) stop 75
+ if (.not.present(gg) .or. .not.present(hh)) stop 76
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 77
aa = 111.0_c_double
bb = 222.0_c_double
!$omp target data map(to:aa) map(from:bb)
!$omp target data map(alloc:dummy) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 78
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 79
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 80
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 81
!$omp end target data
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 82
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 83
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 84
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 85
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 86
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 87
! check c_loc ptr again after target-value modification
aa = 1111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 88
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 89
! check Fortran pointer after target-value modification
aa = 11111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 90
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 91
!$omp end target data
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 92
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 93
!$omp target data map(to:cc) map(from:dd)
!$omp target data map(alloc:dummy) use_device_addr(cc,dd)
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 94
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 95
c_cptr = c_loc(cc)
c_dptr = c_loc(dd)
cptr => cc
dptr => dd
- if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 1
- if (.not.associated(cptr) .or. .not.associated(dptr)) stop 1
+ if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 96
+ if (.not.associated(cptr) .or. .not.associated(dptr)) stop 97
!$omp end target data
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
- if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 1
- if (.not.associated(cptr) .or. .not.associated(dptr)) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 98
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 99
+ if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 100
+ if (.not.associated(cptr) .or. .not.associated(dptr)) stop 101
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 102
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 103
! check c_loc ptr again after target-value modification
cc = 3333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 104
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 105
! check Fortran pointer after target-value modification
cc = 33333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 106
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 107
!$omp end target data
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 108
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 109
!$omp target data map(to:ee) map(from:ff)
!$omp target data map(alloc:dummy) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 110
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 111
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 112
c_eptr = c_loc(ee)
c_fptr = c_loc(ff)
eptr => ee
fptr => ff
- if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 1
- if (.not.associated(eptr) .or. .not.associated(fptr)) stop 1
+ if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 113
+ if (.not.associated(eptr) .or. .not.associated(fptr)) stop 114
!$omp end target data
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
- if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 1
- if (.not.associated(eptr) .or. .not.associated(fptr)) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 115
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 116
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 117
+ if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 118
+ if (.not.associated(eptr) .or. .not.associated(fptr)) stop 119
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 120
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 121
! check c_loc ptr again after target-value modification
ee = 5555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 122
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 123
! check Fortran pointer after target-value modification
ee = 55555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 124
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 125
!$omp end target data
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 126
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 127
!$omp target data map(to:gg) map(from:hh)
!$omp target data map(alloc:dummy) use_device_addr(gg,hh)
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 128
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 129
c_gptr = c_loc(gg)
c_hptr = c_loc(hh)
gptr => gg
hptr => hh
- if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 1
- if (.not.associated(gptr) .or. .not.associated(hptr)) stop 1
+ if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 130
+ if (.not.associated(gptr) .or. .not.associated(hptr)) stop 131
!$omp end target data
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
- if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 1
- if (.not.associated(gptr) .or. .not.associated(hptr)) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 132
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 133
+ if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 134
+ if (.not.associated(gptr) .or. .not.associated(hptr)) stop 135
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 136
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 137
! check c_loc ptr again after target-value modification
gg = 7777.0_c_double
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 138
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 139
! check Fortran pointer after target-value modification
gg = 77777.0_c_double
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 140
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 141
!$omp end target data
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 142
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 143
end subroutine test_dummy_opt_callee_2
end module test_dummies_opt
! scalars
real(c_double), optional, value, target :: aa, bb
- if (.not.present(aa) .or. .not.present(bb)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 144
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 145
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 146
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 147
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 148
end subroutine test_dummy_opt_val_callee_1
! Save device ptr - and recall pointer
real(c_double) :: dummy
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 149
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 150
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 151
aa = 111.0_c_double
bb = 222.0_c_double
!$omp target data map(to:aa) map(from:bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 152
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 153
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 154
!$omp target data map(alloc:dummy) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 155
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 156
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 157
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 158
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 159
!$omp end target data
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 160
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 161
! check c_loc ptr again after target-value modification
aa = 1111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 162
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 163
! check Fortran pointer after target-value modification
aa = 11111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 164
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 165
!$omp end target data
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 166
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 167
end subroutine test_dummy_opt_val_callee_2
end module test_dummies_opt_value
ee => null()
ff => null()
- if (associated(aa) .or. associated(bb)) stop 1
+ if (associated(aa) .or. associated(bb)) stop 168
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (c_associated(c_loc(aa)) .or. c_associated(c_loc(bb))) stop 1
+ if (c_associated(c_loc(aa)) .or. c_associated(c_loc(bb))) stop 169
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 1
- if (associated(aptr) .or. associated(bptr, bb)) stop 1
+ if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 170
+ if (associated(aptr) .or. associated(bptr, bb)) stop 171
!$omp end target data
- if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 1
- if (associated(aptr) .or. associated(bptr, bb)) stop 1
+ if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 172
+ if (associated(aptr) .or. associated(bptr, bb)) stop 173
- if (allocated(gg)) stop 1
+ if (allocated(gg)) stop 174
!$omp target data map(tofrom:gg) use_device_addr(gg)
- if (c_associated(c_loc(gg))) stop 1
+ if (c_associated(c_loc(gg))) stop 175
c_gptr = c_loc(gg)
gptr => gg
- if (c_associated(c_gptr)) stop 1
- if (associated(gptr)) stop 1
- if (allocated(gg)) stop 1
+ if (c_associated(c_gptr)) stop 176
+ if (associated(gptr)) stop 177
+ if (allocated(gg)) stop 178
!$omp end target data
- if (c_associated(c_gptr)) stop 1
- if (associated(gptr)) stop 1
- if (allocated(gg)) stop 1
+ if (c_associated(c_gptr)) stop 179
+ if (associated(gptr)) stop 180
+ if (allocated(gg)) stop 181
call test_dummy_opt_nullptr_callee_1(ee, ff, hh, c_eptr, c_fptr, c_hptr, eptr, fptr, hptr)
end subroutine test_nullptr_1
type(c_ptr), optional :: c_eptr, c_fptr, c_hptr
real(c_double), optional, pointer :: eptr, fptr, hptr
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 182
+ if (associated(ee) .or. associated(ff)) stop 183
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
- if (c_associated(c_loc(ee)) .or. c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 184
+ if (associated(ee) .or. associated(ff)) stop 185
+ if (c_associated(c_loc(ee)) .or. c_associated(c_loc(ff))) stop 186
c_eptr = c_loc(ee)
c_fptr = c_loc(ff)
eptr => ee
fptr => ff
- if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 1
- if (associated(eptr) .or. associated(fptr)) stop 1
+ if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 187
+ if (associated(eptr) .or. associated(fptr)) stop 188
!$omp end target data
- if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 1
- if (associated(eptr) .or. associated(fptr)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
+ if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 189
+ if (associated(eptr) .or. associated(fptr)) stop 190
+ if (associated(ee) .or. associated(ff)) stop 191
- if (.not.present(hh)) stop 1
- if (allocated(hh)) stop 1
+ if (.not.present(hh)) stop 192
+ if (allocated(hh)) stop 193
!$omp target data map(tofrom:hh) use_device_addr(hh)
- if (.not.present(hh)) stop 1
- if (allocated(hh)) stop 1
- if (c_associated(c_loc(hh))) stop 1
+ if (.not.present(hh)) stop 194
+ if (allocated(hh)) stop 195
+ if (c_associated(c_loc(hh))) stop 196
c_hptr = c_loc(hh)
hptr => hh
- if (c_associated(c_hptr)) stop 1
- if (associated(hptr)) stop 1
- if (allocated(hh)) stop 1
+ if (c_associated(c_hptr)) stop 197
+ if (associated(hptr)) stop 198
+ if (allocated(hh)) stop 199
!$omp end target data
- if (c_associated(c_hptr)) stop 1
- if (associated(hptr)) stop 1
- if (allocated(hh)) stop 1
+ if (c_associated(c_hptr)) stop 200
+ if (associated(hptr)) stop 201
+ if (allocated(hh)) stop 202
end subroutine test_dummy_opt_nullptr_callee_1
end module test_nullptr
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_double) > 10.0_c_double * epsilon(aa)) stop 203
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 204
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_double) > 10.0_c_double * epsilon(cc)) stop 205
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 206
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_double) > 10.0_c_double * epsilon(ee)) stop 207
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 208
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_double) > 10.0_c_double * epsilon(gg))) stop 209
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 210
deallocate(ee, ff) ! pointers, only
end subroutine test_main_1
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 211
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 212
! check c_loc ptr again after target-value modification
aa = 1111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 213
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 214
! check Fortran pointer after target-value modification
aa = 11111.0_c_double
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 215
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 216
!$omp end target data
- if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 1
- if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_double) > 10.0_c_double * epsilon(aa)) stop 217
+ if (abs(3.0_c_double * aa - bb) > 10.0_c_double * epsilon(aa)) stop 218
!$omp target data map(to:cc) map(from:dd)
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 219
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 220
! check c_loc ptr again after target-value modification
cc = 3333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 221
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 222
! check Fortran pointer after target-value modification
cc = 33333.0_c_double
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(cc)) stop 223
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(cc)) stop 224
!$omp end target data
- if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 1
- if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_double) > 10.0_c_double * epsilon(dd)) stop 225
+ if (abs(3.0_c_double * cc - dd) > 10.0_c_double * epsilon(dd)) stop 226
!$omp target data map(to:ee) map(from:ff)
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 227
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 228
! check c_loc ptr again after target-value modification
ee = 5555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 229
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 230
! check Fortran pointer after target-value modification
ee = 55555.0_c_double
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 231
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ff)) stop 232
!$omp end target data
- if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 1
- if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_double) > 10.0_c_double * epsilon(ee)) stop 233
+ if (abs(3.0_c_double * ee - ff) > 10.0_c_double * epsilon(ee)) stop 234
!$omp target data map(to:gg) map(from:hh)
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 235
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(hh))) stop 236
! check c_loc ptr again after target-value modification
gg = 7777.0_c_double
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 237
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 238
! check Fortran pointer after target-value modification
gg = 77777.0_c_double
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 239
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 240
!$omp end target data
- if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 1
- if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_double) > 10.0_c_double * epsilon(gg))) stop 241
+ if (any(abs(3.0_c_double * gg - hh) > 10.0_c_double * epsilon(gg))) stop 242
deallocate(ee, ff)
end subroutine test_main_2
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 2
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 3
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 4
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 5
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 6
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 7
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 8
end subroutine test_dummy_callee_1
! Save device ptr - and recall pointer
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 9
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 10
! check c_loc ptr again after target-value modification
aa = 1111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 11
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 12
! check Fortran pointer after target-value modification
aa = 11111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 13
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 14
!$omp end target data
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 15
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 16
!$omp target data map(to:cc) map(from:dd)
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 17
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 18
! check c_loc ptr again after target-value modification
cc = 3333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 19
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 20
! check Fortran pointer after target-value modification
cc = 33333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 21
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 22
!$omp end target data
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 23
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 24
!$omp target data map(to:ee) map(from:ff)
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 25
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 26
! check c_loc ptr again after target-value modification
ee = 5555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 27
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 28
! check Fortran pointer after target-value modification
ee = 55555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 29
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 30
!$omp end target data
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 31
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 32
!$omp target data map(to:gg) map(from:hh)
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 33
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 34
! check c_loc ptr again after target-value modification
gg = 7777.0_c_float
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 35
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 36
! check Fortran pointer after target-value modification
gg = 77777.0_c_float
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 37
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 38
!$omp end target data
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 39
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 40
end subroutine test_dummy_callee_2
end module test_dummies
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 41
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 42
end subroutine test_dummy_val_callee_1
! Save device ptr - and recall pointer
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 43
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 44
! check c_loc ptr again after target-value modification
aa = 1111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 45
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 46
! check Fortran pointer after target-value modification
aa = 11111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 47
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 48
!$omp end target data
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 49
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 50
end subroutine test_dummy_val_callee_2
end module test_dummies_value
integer, value :: N
! All shall be present - and pointing to non-NULL
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.present(gg) .or. .not.present(hh)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 51
+ if (.not.present(cc) .or. .not.present(dd)) stop 52
+ if (.not.present(ee) .or. .not.present(ff)) stop 53
+ if (.not.present(gg) .or. .not.present(hh)) stop 54
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 55
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 56
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 57
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 58
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 59
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 60
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 61
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 62
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 63
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 64
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 65
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 66
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 67
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 68
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 69
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 70
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 71
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 72
end subroutine test_dummy_opt_callee_1
! Save device ptr - and recall pointer
real(c_float) :: dummy
! All shall be present - and pointing to non-NULL
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.present(gg) .or. .not.present(hh)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 73
+ if (.not.present(cc) .or. .not.present(dd)) stop 74
+ if (.not.present(ee) .or. .not.present(ff)) stop 75
+ if (.not.present(gg) .or. .not.present(hh)) stop 76
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 77
aa = 111.0_c_float
bb = 222.0_c_float
!$omp target data map(to:aa) map(from:bb)
!$omp target data map(alloc:dummy) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 78
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 79
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 80
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 81
!$omp end target data
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 82
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 83
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 84
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 85
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 86
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 87
! check c_loc ptr again after target-value modification
aa = 1111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 88
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 89
! check Fortran pointer after target-value modification
aa = 11111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 90
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 91
!$omp end target data
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 92
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 93
!$omp target data map(to:cc) map(from:dd)
!$omp target data map(alloc:dummy) use_device_addr(cc,dd)
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 94
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 95
c_cptr = c_loc(cc)
c_dptr = c_loc(dd)
cptr => cc
dptr => dd
- if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 1
- if (.not.associated(cptr) .or. .not.associated(dptr)) stop 1
+ if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 96
+ if (.not.associated(cptr) .or. .not.associated(dptr)) stop 97
!$omp end target data
- if (.not.present(cc) .or. .not.present(dd)) stop 1
- if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 1
- if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 1
- if (.not.associated(cptr) .or. .not.associated(dptr)) stop 1
+ if (.not.present(cc) .or. .not.present(dd)) stop 98
+ if (.not.c_associated(c_loc(cc)) .or. .not.c_associated(c_loc(dd))) stop 99
+ if (.not.c_associated(c_cptr) .or. .not.c_associated(c_dptr)) stop 100
+ if (.not.associated(cptr) .or. .not.associated(dptr)) stop 101
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 102
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 103
! check c_loc ptr again after target-value modification
cc = 3333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 104
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 105
! check Fortran pointer after target-value modification
cc = 33333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 106
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 107
!$omp end target data
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 108
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 109
!$omp target data map(to:ee) map(from:ff)
!$omp target data map(alloc:dummy) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 110
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 111
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 112
c_eptr = c_loc(ee)
c_fptr = c_loc(ff)
eptr => ee
fptr => ff
- if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 1
- if (.not.associated(eptr) .or. .not.associated(fptr)) stop 1
+ if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 113
+ if (.not.associated(eptr) .or. .not.associated(fptr)) stop 114
!$omp end target data
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (.not.associated(ee) .or. .not.associated(ff)) stop 1
- if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 1
- if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 1
- if (.not.associated(eptr) .or. .not.associated(fptr)) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 115
+ if (.not.associated(ee) .or. .not.associated(ff)) stop 116
+ if (.not.c_associated(c_loc(ee)) .or. .not.c_associated(c_loc(ff))) stop 117
+ if (.not.c_associated(c_eptr) .or. .not.c_associated(c_fptr)) stop 118
+ if (.not.associated(eptr) .or. .not.associated(fptr)) stop 119
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 120
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 121
! check c_loc ptr again after target-value modification
ee = 5555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 122
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 123
! check Fortran pointer after target-value modification
ee = 55555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 124
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 125
!$omp end target data
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 126
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 127
!$omp target data map(to:gg) map(from:hh)
!$omp target data map(alloc:dummy) use_device_addr(gg,hh)
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 128
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 129
c_gptr = c_loc(gg)
c_hptr = c_loc(hh)
gptr => gg
hptr => hh
- if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 1
- if (.not.associated(gptr) .or. .not.associated(hptr)) stop 1
+ if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 130
+ if (.not.associated(gptr) .or. .not.associated(hptr)) stop 131
!$omp end target data
- if (.not.present(gg) .or. .not.present(hh)) stop 1
- if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 1
- if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 1
- if (.not.associated(gptr) .or. .not.associated(hptr)) stop 1
+ if (.not.present(gg) .or. .not.present(hh)) stop 132
+ if (.not.c_associated(c_loc(gg)) .or. .not.c_associated(c_loc(hh))) stop 133
+ if (.not.c_associated(c_gptr) .or. .not.c_associated(c_hptr)) stop 134
+ if (.not.associated(gptr) .or. .not.associated(hptr)) stop 135
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 136
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 137
! check c_loc ptr again after target-value modification
gg = 7777.0_c_float
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 138
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 139
! check Fortran pointer after target-value modification
gg = 77777.0_c_float
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 140
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 141
!$omp end target data
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 142
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 143
end subroutine test_dummy_opt_callee_2
end module test_dummies_opt
! scalars
real(c_float), optional, value, target :: aa, bb
- if (.not.present(aa) .or. .not.present(bb)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 144
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 145
+ if (.not.c_associated(c_loc(aa)) .or. .not.c_associated(c_loc(bb))) stop 146
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 147
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 148
end subroutine test_dummy_opt_val_callee_1
! Save device ptr - and recall pointer
real(c_float) :: dummy
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 149
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 150
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 151
aa = 111.0_c_float
bb = 222.0_c_float
!$omp target data map(to:aa) map(from:bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 152
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 153
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 154
!$omp target data map(alloc:dummy) use_device_addr(aa,bb)
- if (.not.present(aa) .or. .not.present(bb)) stop 1
- if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 1
- if (.not.present(aptr) .or. .not.present(bptr)) stop 1
+ if (.not.present(aa) .or. .not.present(bb)) stop 155
+ if (.not.present(c_aptr) .or. .not.present(c_bptr)) stop 156
+ if (.not.present(aptr) .or. .not.present(bptr)) stop 157
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 1
- if (.not.associated(aptr) .or. .not.associated(bptr)) stop 1
+ if (.not.c_associated(c_aptr) .or. .not.c_associated(c_bptr)) stop 158
+ if (.not.associated(aptr) .or. .not.associated(bptr)) stop 159
!$omp end target data
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 160
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 161
! check c_loc ptr again after target-value modification
aa = 1111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 162
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 163
! check Fortran pointer after target-value modification
aa = 11111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 164
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 165
!$omp end target data
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 166
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 167
end subroutine test_dummy_opt_val_callee_2
end module test_dummies_opt_value
ee => null()
ff => null()
- if (associated(aa) .or. associated(bb)) stop 1
+ if (associated(aa) .or. associated(bb)) stop 168
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
- if (c_associated(c_loc(aa)) .or. c_associated(c_loc(bb))) stop 1
+ if (c_associated(c_loc(aa)) .or. c_associated(c_loc(bb))) stop 169
c_aptr = c_loc(aa)
c_bptr = c_loc(bb)
aptr => aa
bptr => bb
- if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 1
- if (associated(aptr) .or. associated(bptr, bb)) stop 1
+ if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 170
+ if (associated(aptr) .or. associated(bptr, bb)) stop 171
!$omp end target data
- if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 1
- if (associated(aptr) .or. associated(bptr, bb)) stop 1
+ if (c_associated(c_aptr) .or. c_associated(c_bptr)) stop 172
+ if (associated(aptr) .or. associated(bptr, bb)) stop 173
- if (allocated(gg)) stop 1
+ if (allocated(gg)) stop 174
!$omp target data map(tofrom:gg) use_device_addr(gg)
- if (c_associated(c_loc(gg))) stop 1
+ if (c_associated(c_loc(gg))) stop 175
c_gptr = c_loc(gg)
gptr => gg
- if (c_associated(c_gptr)) stop 1
- if (associated(gptr)) stop 1
- if (allocated(gg)) stop 1
+ if (c_associated(c_gptr)) stop 176
+ if (associated(gptr)) stop 177
+ if (allocated(gg)) stop 178
!$omp end target data
- if (c_associated(c_gptr)) stop 1
- if (associated(gptr)) stop 1
- if (allocated(gg)) stop 1
+ if (c_associated(c_gptr)) stop 179
+ if (associated(gptr)) stop 180
+ if (allocated(gg)) stop 181
call test_dummy_opt_nullptr_callee_1(ee, ff, hh, c_eptr, c_fptr, c_hptr, eptr, fptr, hptr)
end subroutine test_nullptr_1
type(c_ptr), optional :: c_eptr, c_fptr, c_hptr
real(c_float), optional, pointer :: eptr, fptr, hptr
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 182
+ if (associated(ee) .or. associated(ff)) stop 183
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
- if (.not.present(ee) .or. .not.present(ff)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
- if (c_associated(c_loc(ee)) .or. c_associated(c_loc(ff))) stop 1
+ if (.not.present(ee) .or. .not.present(ff)) stop 184
+ if (associated(ee) .or. associated(ff)) stop 185
+ if (c_associated(c_loc(ee)) .or. c_associated(c_loc(ff))) stop 186
c_eptr = c_loc(ee)
c_fptr = c_loc(ff)
eptr => ee
fptr => ff
- if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 1
- if (associated(eptr) .or. associated(fptr)) stop 1
+ if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 187
+ if (associated(eptr) .or. associated(fptr)) stop 188
!$omp end target data
- if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 1
- if (associated(eptr) .or. associated(fptr)) stop 1
- if (associated(ee) .or. associated(ff)) stop 1
+ if (c_associated(c_eptr) .or. c_associated(c_fptr)) stop 189
+ if (associated(eptr) .or. associated(fptr)) stop 190
+ if (associated(ee) .or. associated(ff)) stop 191
- if (.not.present(hh)) stop 1
- if (allocated(hh)) stop 1
+ if (.not.present(hh)) stop 192
+ if (allocated(hh)) stop 193
!$omp target data map(tofrom:hh) use_device_addr(hh)
- if (.not.present(hh)) stop 1
- if (allocated(hh)) stop 1
- if (c_associated(c_loc(hh))) stop 1
+ if (.not.present(hh)) stop 194
+ if (allocated(hh)) stop 195
+ if (c_associated(c_loc(hh))) stop 196
c_hptr = c_loc(hh)
hptr => hh
- if (c_associated(c_hptr)) stop 1
- if (associated(hptr)) stop 1
- if (allocated(hh)) stop 1
+ if (c_associated(c_hptr)) stop 197
+ if (associated(hptr)) stop 198
+ if (allocated(hh)) stop 199
!$omp end target data
- if (c_associated(c_hptr)) stop 1
- if (associated(hptr)) stop 1
- if (allocated(hh)) stop 1
+ if (c_associated(c_hptr)) stop 200
+ if (associated(hptr)) stop 201
+ if (allocated(hh)) stop 202
end subroutine test_dummy_opt_nullptr_callee_1
end module test_nullptr
!$omp target data map(to:aa) map(from:bb) use_device_addr(aa,bb)
call copy3_scalar(c_loc(aa), c_loc(bb))
!$omp end target data
- if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11.0_c_float) > 10.0_c_float * epsilon(aa)) stop 203
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 204
!$omp target data map(to:cc) map(from:dd) use_device_addr(cc,dd)
call copy3_scalar(c_loc(cc), c_loc(dd))
!$omp end target data
- if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33.0_c_float) > 10.0_c_float * epsilon(cc)) stop 205
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 206
!$omp target data map(to:ee) map(from:ff) use_device_addr(ee,ff)
call copy3_scalar(c_loc(ee), c_loc(ff))
!$omp end target data
- if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55.0_c_float) > 10.0_c_float * epsilon(ee)) stop 207
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 208
!$omp target data map(to:gg) map(from:hh) use_device_addr(gg,hh)
call copy3_array(c_loc(gg), c_loc(hh), N)
!$omp end target data
- if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77.0_c_float) > 10.0_c_float * epsilon(gg))) stop 209
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 210
deallocate(ee, ff) ! pointers, only
end subroutine test_main_1
! check c_loc ptr once
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 211
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 212
! check c_loc ptr again after target-value modification
aa = 1111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_aptr, c_bptr)
!$omp target update from(bb)
- if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 1111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 213
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 214
! check Fortran pointer after target-value modification
aa = 11111.0_c_float
!$omp target update to(aa)
call copy3_scalar(c_loc(aptr), c_loc(bptr))
!$omp target update from(bb)
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 215
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 216
!$omp end target data
- if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 1
- if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 1
+ if (abs(aa - 11111.0_c_float) > 10.0_c_float * epsilon(aa)) stop 217
+ if (abs(3.0_c_float * aa - bb) > 10.0_c_float * epsilon(aa)) stop 218
!$omp target data map(to:cc) map(from:dd)
! check c_loc ptr once
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 219
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 220
! check c_loc ptr again after target-value modification
cc = 3333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_cptr, c_dptr)
!$omp target update from(dd)
- if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 3333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 221
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 222
! check Fortran pointer after target-value modification
cc = 33333.0_c_float
!$omp target update to(cc)
call copy3_scalar(c_loc(cptr), c_loc(dptr))
!$omp target update from(dd)
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(cc)) stop 223
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(cc)) stop 224
!$omp end target data
- if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 1
- if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 1
+ if (abs(cc - 33333.0_c_float) > 10.0_c_float * epsilon(dd)) stop 225
+ if (abs(3.0_c_float * cc - dd) > 10.0_c_float * epsilon(dd)) stop 226
!$omp target data map(to:ee) map(from:ff)
! check c_loc ptr once
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 227
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 228
! check c_loc ptr again after target-value modification
ee = 5555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_eptr, c_fptr)
!$omp target update from(ff)
- if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 5555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 229
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 230
! check Fortran pointer after target-value modification
ee = 55555.0_c_float
!$omp target update to(ee)
call copy3_scalar(c_loc(eptr), c_loc(fptr))
!$omp target update from(ff)
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 231
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ff)) stop 232
!$omp end target data
- if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 1
- if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 1
+ if (abs(ee - 55555.0_c_float) > 10.0_c_float * epsilon(ee)) stop 233
+ if (abs(3.0_c_float * ee - ff) > 10.0_c_float * epsilon(ee)) stop 234
!$omp target data map(to:gg) map(from:hh)
! check c_loc ptr once
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 1
+ if (any(abs(gg - 777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 235
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(hh))) stop 236
! check c_loc ptr again after target-value modification
gg = 7777.0_c_float
!$omp target update to(gg)
call copy3_array(c_gptr, c_hptr, N)
!$omp target update from(hh)
- if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 7777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 237
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 238
! check Fortran pointer after target-value modification
gg = 77777.0_c_float
!$omp target update to(gg)
call copy3_array(c_loc(gptr), c_loc(hptr), N)
!$omp target update from(hh)
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 239
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 240
!$omp end target data
- if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 1
- if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 1
+ if (any(abs(gg - 77777.0_c_float) > 10.0_c_float * epsilon(gg))) stop 241
+ if (any(abs(3.0_c_float * gg - hh) > 10.0_c_float * epsilon(gg))) stop 242
deallocate(ee, ff)
end subroutine test_main_2
!$omp end target data
if (any(abs(AA - 11.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 2
! allocatable array to use_device_ptr
!$omp target data map(to:CC) map(from:DD) use_device_ptr(CC,DD)
call copy3_array(c_loc(CC), c_loc(DD), N)
!$omp end target data
- if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 3
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 4
! fixed-size decriptorless array to use_device_ptr
!$omp target data map(to:EE) map(from:FF) use_device_ptr(EE,FF)
call copy3_array(c_loc(EE), c_loc(FF), N)
!$omp end target data
- if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 5
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 6
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 7
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 8
AA = 1111.0_c_double
!$omp target update to(AA)
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 9
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 10
! AprtA tests
AA = 7.0_c_double
!$omp target update to(AA)
call copy3_array(c_loc(AptrA), c_loc(BptrB), N)
!$omp target update from(BB)
- if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 11
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 12
AA = 77.0_c_double
!$omp target update to(AA)
call copy3_array1(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 13
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 14
! AA = 777.0_c_double
! !$omp target update to(AA)
! call copy3_array2(AptrA, BptrB)
! !$omp target update from(BB)
-! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 15
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 16
AA = 7777.0_c_double
!$omp target update to(AA)
call copy3_array3(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 17
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 18
! AA = 77777.0_c_double
! !$omp target update to(AA)
! !$omp target update from(BB)
!$omp end target data
!
-! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 19
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 20
call copy3_array(tgt_cptr, tgt_dptr, N)
!$omp target update from(DD)
- if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 21
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 22
CC = 3333.0_c_double
!$omp target update to(CC)
!$omp target update from(DD)
!$omp end target data
- if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 23
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 24
call copy3_array(tgt_eptr, tgt_fptr, N)
!$omp target update from(FF)
- if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 25
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 26
EE = 5555.0_c_double
!$omp target update to(EE)
!$omp target update from(FF)
!$omp end target data
- if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 27
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 28
end subroutine use_device_ptr_sub
call copy3_array(c_loc(AA), c_loc(BB), N)
!$omp end target data
- if (any(abs(AA - 11.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 11.0_c_double) > 10.0_c_double * epsilon(AA))) stop 29
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 30
! allocatable array to use_device_ptr
!$omp target data map(to:CC) map(from:DD) use_device_ptr(CC,DD)
call copy3_array(c_loc(CC), c_loc(DD), N)
!$omp end target data
- if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 31
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 32
! fixed-size decriptorless array to use_device_ptr
!$omp target data map(to:EE) map(from:FF) use_device_ptr(EE,FF)
call copy3_array(c_loc(EE), c_loc(FF), N)
!$omp end target data
- if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 33
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 34
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 35
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 36
AA = 1111.0_c_double
!$omp target update to(AA)
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 37
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 38
! AprtA tests
AA = 7.0_c_double
!$omp target update to(AA)
call copy3_array(c_loc(AptrA), c_loc(BptrB), N)
!$omp target update from(BB)
- if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 39
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 40
AA = 77.0_c_double
!$omp target update to(AA)
call copy3_array1(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 41
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 42
! AA = 777.0_c_double
! !$omp target update to(AA)
! call copy3_array2(AptrA, BptrB)
! !$omp target update from(BB)
-! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 43
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 44
AA = 7777.0_c_double
!$omp target update to(AA)
call copy3_array3(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 45
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 46
! AA = 77777.0_c_double
! !$omp target update to(AA)
! !$omp target update from(BB)
!$omp end target data
!
-! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 47
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 48
call copy3_array(tgt_cptr, tgt_dptr, N)
!$omp target update from(DD)
- if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 49
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 50
CC = 3333.0_c_double
!$omp target update to(CC)
!$omp target update from(DD)
!$omp end target data
- if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 51
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 52
call copy3_array(tgt_eptr, tgt_fptr, N)
!$omp target update from(FF)
- if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 53
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 54
EE = 5555.0_c_double
!$omp target update to(EE)
call copy3_array(tgt_eptr, tgt_fptr, N)
!$omp end target data
- if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 55
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 56
end subroutine use_device_ptr_sub2
end module offloading2
call copy3_array(c_loc(AA), c_loc(BB), N)
!$omp end target data
- if (any(abs(AA - 11.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 11.0_c_double) > 10.0_c_double * epsilon(AA))) stop 57
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 58
! allocatable array to use_device_ptr
!$omp target data map(to:CC) map(from:DD) use_device_ptr(CC,DD)
call copy3_array(c_loc(CC), c_loc(DD), N)
!$omp end target data
- if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 33.0_c_double) > 10.0_c_double * epsilon(CC))) stop 59
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 60
! fixed-size decriptorless array to use_device_ptr
!$omp target data map(to:EE) map(from:FF) use_device_ptr(EE,FF)
call copy3_array(c_loc(EE), c_loc(FF), N)
!$omp end target data
- if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 55.0_c_double) > 10.0_c_double * epsilon(EE))) stop 61
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 62
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 63
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 64
AA = 1111.0_c_double
!$omp target update to(AA)
call copy3_array(tgt_aptr, tgt_bptr, N)
!$omp target update from(BB)
- if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 1111.0_c_double) > 10.0_c_double * epsilon(AA))) stop 65
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 66
! AprtA tests
AA = 7.0_c_double
!$omp target update to(AA)
call copy3_array(c_loc(AptrA), c_loc(BptrB), N)
!$omp target update from(BB)
- if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7.0_c_double) > 10.0_c_double * epsilon(AA))) stop 67
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 68
AA = 77.0_c_double
!$omp target update to(AA)
call copy3_array1(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 77.0_c_double) > 10.0_c_double * epsilon(AA))) stop 69
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 70
! AA = 777.0_c_double
! !$omp target update to(AA)
! call copy3_array2(AptrA, BptrB)
! !$omp target update from(BB)
-! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 71
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 72
AA = 7777.0_c_double
!$omp target update to(AA)
call copy3_array3(AptrA, BptrB)
!$omp target update from(BB)
- if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
- if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+ if (any(abs(AA - 7777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 73
+ if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 74
! AA = 77777.0_c_double
! !$omp target update to(AA)
! !$omp target update from(BB)
!$omp end target data
!
-! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 1
-! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 1
+! if (any(abs(AA - 77777.0_c_double) > 10.0_c_double * epsilon(AA))) stop 75
+! if (any(abs(3.0_c_double * AA - BB) > 10.0_c_double * epsilon(AA))) stop 76
call copy3_array(tgt_cptr, tgt_dptr, N)
!$omp target update from(DD)
- if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 77
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 78
CC = 3333.0_c_double
!$omp target update to(CC)
!$omp target update from(DD)
!$omp end target data
- if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 1
- if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 1
+ if (any(abs(CC - 3333.0_c_double) > 10.0_c_double * epsilon(CC))) stop 79
+ if (any(abs(3.0_c_double * CC - DD) > 10.0_c_double * epsilon(CC))) stop 80
call copy3_array(tgt_eptr, tgt_fptr, N)
!$omp target update from(FF)
- if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 81
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 82
EE = 5555.0_c_double
!$omp target update to(EE)
!$omp target update from(FF)
!$omp end target data
- if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 1
- if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 1
+ if (any(abs(EE - 5555.0_c_double) > 10.0_c_double * epsilon(EE))) stop 83
+ if (any(abs(3.0_c_double * EE - FF) > 10.0_c_double * epsilon(EE))) stop 84
call acc_delete (h)
- if (acc_is_present (h) .neqv. .FALSE.) stop 4
+ if (acc_is_present (h) .neqv. .FALSE.) stop 5
end program
integer, allocatable :: c3(:,:,:)
allocate (a1(5))
- if (.not.allocated (a1)) STOP 1
+ if (.not.allocated (a1)) STOP 49
a1 = 10
deallocate(a1)
allocate (a1(0:4))
- if (.not.allocated (a1)) STOP 2
+ if (.not.allocated (a1)) STOP 50
a1 = 10
deallocate(a1)
allocate (b2(5,5))
- if (.not.allocated (b2)) STOP 3
+ if (.not.allocated (b2)) STOP 51
b2 = 11
deallocate(b2)
allocate (b2(0:4,0:4))
- if (.not.allocated (b2)) STOP 4
+ if (.not.allocated (b2)) STOP 52
b2 = 11
deallocate(b2)
allocate (c3(5,5,5))
- if (.not.allocated (c3)) STOP 5
+ if (.not.allocated (c3)) STOP 53
c3 = 12
deallocate(c3)
allocate (c3(0:4,0:4,0:4))
- if (.not.allocated (c3)) STOP 6
+ if (.not.allocated (c3)) STOP 54
c3 = 12
deallocate(c3)
allocate (a1(5))
- if (.not.allocated (a1)) STOP 7
+ if (.not.allocated (a1)) STOP 55
allocate (b1(5))
- if (.not.allocated (b1)) STOP 8
+ if (.not.allocated (b1)) STOP 56
allocate (c1(5))
- if (.not.allocated (c1)) STOP 9
+ if (.not.allocated (c1)) STOP 57
a1 = 10
b1 = 3
deallocate(c1)
allocate (a1(0:4))
- if (.not.allocated (a1)) STOP 10
+ if (.not.allocated (a1)) STOP 58
allocate (b1(0:4))
- if (.not.allocated (b1)) STOP 11
+ if (.not.allocated (b1)) STOP 59
allocate (c1(0:4))
- if (.not.allocated (c1)) STOP 12
+ if (.not.allocated (c1)) STOP 60
a1 = 10
b1 = 3
deallocate(c1)
allocate (a1(5))
- if (.not.allocated (a1)) STOP 13
+ if (.not.allocated (a1)) STOP 61
a1 = 10