From: Tobias Burnus Date: Mon, 4 Nov 2019 10:01:22 +0000 (+0000) Subject: libgomp/testsuite - use unique numbers with Fortran's 'stop' X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=12fd2ec5ae30207e3107eca0fea45e3b5713e26b;p=gcc.git 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 --- diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 8cf7d958596..557a7512d6a 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,14 @@ +2019-11-04 Tobias Burnus + + 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 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, diff --git a/libgomp/testsuite/libgomp.fortran/allocatable2.f90 b/libgomp/testsuite/libgomp.fortran/allocatable2.f90 index fa2e774f6ed..fbf81c214b8 100644 --- a/libgomp/testsuite/libgomp.fortran/allocatable2.f90 +++ b/libgomp/testsuite/libgomp.fortran/allocatable2.f90 @@ -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 diff --git a/libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90 b/libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90 index 1183e49f2e4..94ac76f5700 100644 --- a/libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90 +++ b/libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90 @@ -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 diff --git a/libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90 b/libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90 index 717689fed1d..d6c5a672370 100644 --- a/libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90 +++ b/libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90 @@ -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 diff --git a/libgomp/testsuite/libgomp.fortran/use_device_ptr-1.f90 b/libgomp/testsuite/libgomp.fortran/use_device_ptr-1.f90 index 62f09682128..6428beb357c 100644 --- a/libgomp/testsuite/libgomp.fortran/use_device_ptr-1.f90 +++ b/libgomp/testsuite/libgomp.fortran/use_device_ptr-1.f90 @@ -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 diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-15.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-15.f90 index cbf7a6eccae..8b9bbd94cbc 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/lib-15.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-15.f90 @@ -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 diff --git a/libgomp/testsuite/libgomp.oacc-fortran/pset-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/pset-1.f90 index c3a8a9cac1c..3cf7eb5987d 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/pset-1.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/pset-1.f90 @@ -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