Commit 12fd2ec5 by Tobias Burnus Committed by Tobias Burnus

libgomp/testsuite - use unique numbers with Fortran's 'stop'

        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.

From-SVN: r277769
parent 2323aa04
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,
......
......@@ -16,7 +16,7 @@
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)
......@@ -37,11 +37,11 @@
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
......@@ -135,26 +135,26 @@ contains
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
......@@ -221,28 +221,28 @@ contains
! 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)
......@@ -256,28 +256,28 @@ contains
! 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)
......@@ -291,28 +291,28 @@ contains
! 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)
......@@ -326,28 +326,28 @@ contains
! 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
......@@ -378,8 +378,8 @@ contains
!$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
......@@ -413,28 +413,28 @@ contains
! 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
......@@ -486,45 +486,45 @@ contains
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
......@@ -572,12 +572,12 @@ contains
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
......@@ -590,177 +590,177 @@ contains
!$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
......@@ -789,15 +789,15 @@ contains
! 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
......@@ -817,56 +817,56 @@ contains
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
......@@ -894,31 +894,31 @@ contains
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
......@@ -931,43 +931,43 @@ contains
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
......@@ -1008,27 +1008,27 @@ contains
!$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
......@@ -1072,28 +1072,28 @@ contains
! 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)
......@@ -1107,28 +1107,28 @@ contains
! 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)
......@@ -1142,28 +1142,28 @@ contains
! 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)
......@@ -1177,28 +1177,28 @@ contains
! 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
......
......@@ -135,26 +135,26 @@ contains
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
......@@ -221,28 +221,28 @@ contains
! 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)
......@@ -256,28 +256,28 @@ contains
! 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)
......@@ -291,28 +291,28 @@ contains
! 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)
......@@ -326,28 +326,28 @@ contains
! 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
......@@ -378,8 +378,8 @@ contains
!$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
......@@ -413,28 +413,28 @@ contains
! 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
......@@ -486,45 +486,45 @@ contains
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
......@@ -572,12 +572,12 @@ contains
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
......@@ -590,177 +590,177 @@ contains
!$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
......@@ -789,15 +789,15 @@ contains
! 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
......@@ -817,56 +817,56 @@ contains
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
......@@ -894,31 +894,31 @@ contains
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
......@@ -931,43 +931,43 @@ contains
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
......@@ -1008,27 +1008,27 @@ contains
!$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
......@@ -1072,28 +1072,28 @@ contains
! 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)
......@@ -1107,28 +1107,28 @@ contains
! 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)
......@@ -1142,28 +1142,28 @@ contains
! 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)
......@@ -1177,28 +1177,28 @@ contains
! 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
......
......@@ -121,23 +121,23 @@ contains
!$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
......@@ -159,44 +159,44 @@ contains
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)
......@@ -204,8 +204,8 @@ contains
! !$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
......@@ -218,8 +218,8 @@ contains
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)
......@@ -227,8 +227,8 @@ contains
!$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
......@@ -241,8 +241,8 @@ contains
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)
......@@ -250,8 +250,8 @@ contains
!$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
......@@ -280,24 +280,24 @@ contains
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
......@@ -319,44 +319,44 @@ contains
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)
......@@ -364,8 +364,8 @@ contains
! !$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
......@@ -378,8 +378,8 @@ contains
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)
......@@ -387,8 +387,8 @@ contains
!$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
......@@ -401,16 +401,16 @@ contains
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
......@@ -444,24 +444,24 @@ program omp_device_ptr
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
......@@ -483,44 +483,44 @@ program omp_device_ptr
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)
......@@ -528,8 +528,8 @@ program omp_device_ptr
! !$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
......@@ -542,8 +542,8 @@ program omp_device_ptr
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)
......@@ -551,8 +551,8 @@ program omp_device_ptr
!$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
......@@ -565,8 +565,8 @@ program omp_device_ptr
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)
......@@ -574,8 +574,8 @@ program omp_device_ptr
!$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
......
......@@ -47,6 +47,6 @@ program main
call acc_delete (h)
if (acc_is_present (h) .neqv. .FALSE.) stop 4
if (acc_is_present (h) .neqv. .FALSE.) stop 5
end program
......@@ -9,7 +9,7 @@ program test
integer, allocatable :: c3(:,:,:)
allocate (a1(5))
if (.not.allocated (a1)) STOP 1
if (.not.allocated (a1)) STOP 49
a1 = 10
......@@ -30,7 +30,7 @@ program test
deallocate(a1)
allocate (a1(0:4))
if (.not.allocated (a1)) STOP 2
if (.not.allocated (a1)) STOP 50
a1 = 10
......@@ -51,7 +51,7 @@ program test
deallocate(a1)
allocate (b2(5,5))
if (.not.allocated (b2)) STOP 3
if (.not.allocated (b2)) STOP 51
b2 = 11
......@@ -72,7 +72,7 @@ program test
deallocate(b2)
allocate (b2(0:4,0:4))
if (.not.allocated (b2)) STOP 4
if (.not.allocated (b2)) STOP 52
b2 = 11
......@@ -93,7 +93,7 @@ program test
deallocate(b2)
allocate (c3(5,5,5))
if (.not.allocated (c3)) STOP 5
if (.not.allocated (c3)) STOP 53
c3 = 12
......@@ -114,7 +114,7 @@ program test
deallocate(c3)
allocate (c3(0:4,0:4,0:4))
if (.not.allocated (c3)) STOP 6
if (.not.allocated (c3)) STOP 54
c3 = 12
......@@ -135,13 +135,13 @@ program test
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
......@@ -172,13 +172,13 @@ program test
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
......@@ -209,7 +209,7 @@ program test
deallocate(c1)
allocate (a1(5))
if (.not.allocated (a1)) STOP 13
if (.not.allocated (a1)) STOP 61
a1 = 10
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment