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
This commit is contained in:
parent
2323aa040b
commit
12fd2ec5ae
7 changed files with 594 additions and 583 deletions
|
@ -1,3 +1,14 @@
|
|||
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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue