diff --git a/src/mo_fortran_tools.F90 b/src/mo_fortran_tools.F90 index b1db528b70477cd2e30f1e36301bae7dda9085a9..6f9fbe45994d11ed4dc8e1053155b30cca87ce70 100644 --- a/src/mo_fortran_tools.F90 +++ b/src/mo_fortran_tools.F90 @@ -515,7 +515,7 @@ CONTAINS SUBROUTINE copy_1d_dp(src, dest, lacc, opt_acc_async) REAL(dp), INTENT(IN) :: src(:) REAL(dp), INTENT(OUT) :: dest(:) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, m1 LOGICAL :: lzacc @@ -539,7 +539,7 @@ CONTAINS SUBROUTINE copy_2d_dp(src, dest, lacc, opt_acc_async) REAL(dp), INTENT(IN) :: src(:, :) REAL(dp), INTENT(OUT) :: dest(:, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 LOGICAL :: lzacc @@ -569,7 +569,7 @@ CONTAINS SUBROUTINE copy_3d_dp(src, dest, lacc, opt_acc_async) REAL(dp), INTENT(IN) :: src(:, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -602,7 +602,7 @@ CONTAINS SUBROUTINE copy_4d_dp(src, dest, lacc, opt_acc_async) REAL(dp), INTENT(IN) :: src(:, :, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 LOGICAL :: lzacc @@ -638,7 +638,7 @@ CONTAINS SUBROUTINE copy_5d_dp(src, dest, lacc, opt_acc_async) REAL(dp), INTENT(IN) :: src(:, :, :, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 LOGICAL :: lzacc @@ -677,7 +677,7 @@ CONTAINS SUBROUTINE copy_5d_sp(src, dest, lacc, opt_acc_async) REAL(sp), INTENT(IN) :: src(:, :, :, :, :) REAL(sp), INTENT(OUT) :: dest(:, :, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 LOGICAL :: lzacc @@ -716,7 +716,7 @@ CONTAINS SUBROUTINE copy_2d_spdp(src, dest, lacc, opt_acc_async) REAL(sp), INTENT(IN) :: src(:, :) REAL(dp), INTENT(OUT) :: dest(:, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 LOGICAL :: lzacc @@ -746,7 +746,7 @@ CONTAINS SUBROUTINE copy_3d_spdp(src, dest, lacc, opt_acc_async) REAL(sp), INTENT(IN) :: src(:, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -779,7 +779,7 @@ CONTAINS SUBROUTINE copy_4d_spdp(src, dest, lacc, opt_acc_async) REAL(sp), INTENT(IN) :: src(:, :, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 LOGICAL :: lzacc @@ -815,7 +815,7 @@ CONTAINS SUBROUTINE copy_5d_spdp(src, dest, lacc, opt_acc_async) REAL(sp), INTENT(IN) :: src(:, :, :, :, :) REAL(dp), INTENT(OUT) :: dest(:, :, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 LOGICAL :: lzacc @@ -854,7 +854,7 @@ CONTAINS SUBROUTINE copy_2d_i4(src, dest, lacc, opt_acc_async) INTEGER(ik4), INTENT(IN) :: src(:, :) INTEGER(ik4), INTENT(OUT) :: dest(:, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 LOGICAL :: lzacc @@ -884,7 +884,7 @@ CONTAINS SUBROUTINE copy_3d_i4(src, dest, lacc, opt_acc_async) INTEGER(ik4), INTENT(IN) :: src(:, :, :) INTEGER(ik4), INTENT(OUT) :: dest(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -917,7 +917,7 @@ CONTAINS SUBROUTINE copy_5d_i4(src, dest, lacc, opt_acc_async) INTEGER(ik4), INTENT(IN) :: src(:, :, :, :, :) INTEGER(ik4), INTENT(OUT) :: dest(:, :, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 LOGICAL :: lzacc @@ -956,7 +956,7 @@ CONTAINS SUBROUTINE copy_5d_l(src, dest, lacc, opt_acc_async) LOGICAL, INTENT(IN) :: src(:, :, :, :, :) LOGICAL, INTENT(OUT) :: dest(:, :, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 LOGICAL :: lzacc @@ -993,7 +993,7 @@ CONTAINS SUBROUTINE init_zero_1d_dp(init_var, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, m1 LOGICAL :: lzacc @@ -1013,7 +1013,7 @@ CONTAINS SUBROUTINE init_zero_1d_sp(init_var, lacc, opt_acc_async) REAL(sp), INTENT(OUT) :: init_var(:) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, m1 LOGICAL :: lzacc @@ -1033,7 +1033,7 @@ CONTAINS SUBROUTINE init_zero_2d_dp(init_var, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 LOGICAL :: lzacc @@ -1061,7 +1061,7 @@ CONTAINS SUBROUTINE init_zero_2d_i4(init_var, lacc, opt_acc_async) INTEGER(ik4), INTENT(OUT) :: init_var(:, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 LOGICAL :: lzacc @@ -1089,7 +1089,7 @@ CONTAINS SUBROUTINE init_zero_3d_dp(init_var, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -1120,7 +1120,7 @@ CONTAINS SUBROUTINE init_zero_3d_sp(init_var, lacc, opt_acc_async) REAL(sp), INTENT(OUT) :: init_var(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -1152,7 +1152,7 @@ CONTAINS SUBROUTINE init_zero_3d_i4(init_var, lacc, opt_acc_async) INTEGER(ik4), INTENT(OUT) :: init_var(:, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 LOGICAL :: lzacc @@ -1183,7 +1183,7 @@ CONTAINS SUBROUTINE init_zero_4d_dp(init_var, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 LOGICAL :: lzacc @@ -1217,7 +1217,7 @@ CONTAINS SUBROUTINE init_zero_4d_sp(init_var, lacc, opt_acc_async) REAL(sp), INTENT(OUT) :: init_var(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 LOGICAL :: lzacc @@ -1251,7 +1251,7 @@ CONTAINS SUBROUTINE init_zero_4d_i4(init_var, lacc, opt_acc_async) INTEGER(ik4), INTENT(OUT) :: init_var(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 LOGICAL :: lzacc @@ -1286,7 +1286,7 @@ CONTAINS SUBROUTINE init_1d_dp(init_var, init_val, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:) REAL(dp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, m1 LOGICAL :: lzacc @@ -1308,7 +1308,7 @@ CONTAINS SUBROUTINE init_2d_dp(init_var, init_val, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :) REAL(dp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, m1, m2 @@ -1338,7 +1338,7 @@ CONTAINS SUBROUTINE init_3d_dp(init_var, init_val, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :, :) REAL(dp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 @@ -1371,7 +1371,7 @@ CONTAINS SUBROUTINE init_3d_spdp(init_var, init_val, lacc, opt_acc_async) REAL(sp), INTENT(OUT) :: init_var(:, :, :) REAL(dp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 @@ -1404,7 +1404,7 @@ CONTAINS SUBROUTINE init_5d_dp(init_var, init_val, lacc, opt_acc_async) REAL(dp), INTENT(OUT) :: init_var(:, :, :, :, :) REAL(dp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 @@ -1443,7 +1443,7 @@ CONTAINS SUBROUTINE init_5d_sp(init_var, init_val, lacc, opt_acc_async) REAL(sp), INTENT(OUT) :: init_var(:, :, :, :, :) REAL(sp), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 @@ -1482,7 +1482,7 @@ CONTAINS SUBROUTINE init_5d_i4(init_var, init_val, lacc, opt_acc_async) INTEGER(ik4), INTENT(OUT) :: init_var(:, :, :, :, :) INTEGER(ik4), INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 @@ -1521,7 +1521,7 @@ CONTAINS SUBROUTINE init_5d_l(init_var, init_val, lacc, opt_acc_async) LOGICAL, INTENT(OUT) :: init_var(:, :, :, :, :) LOGICAL, INTENT(IN) :: init_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, i5, m1, m2, m3, m4, m5 @@ -1560,7 +1560,7 @@ CONTAINS SUBROUTINE var_scale_3d_dp(var, scale_val, lacc, opt_acc_async) REAL(dp), INTENT(inout) :: var(:, :, :) REAL(dp), INTENT(in) :: scale_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 @@ -1594,7 +1594,7 @@ CONTAINS SUBROUTINE var_addc_3d_dp(var, add_val, lacc, opt_acc_async) REAL(dp), INTENT(inout) :: var(:, :, :) REAL(dp), INTENT(in) :: add_val - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, m1, m2, m3 @@ -1626,7 +1626,7 @@ CONTAINS SUBROUTINE negative2zero_4d_dp(var, lacc, opt_acc_async) REAL(dp), INTENT(inout) :: var(:, :, :, :) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i1, i2, i3, i4, m1, m2, m3, m4 @@ -1665,7 +1665,7 @@ CONTAINS INTEGER, INTENT(IN) :: n REAL(dp), INTENT(OUT) :: var(n) REAL(dp), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i @@ -1686,7 +1686,7 @@ CONTAINS SUBROUTINE init_zero_contiguous_dp(var, n, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(dp), INTENT(OUT) :: var(n) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async CALL init_contiguous_dp(var, n, 0.0_dp, lacc, opt_acc_async) @@ -1696,7 +1696,7 @@ CONTAINS INTEGER, INTENT(IN) :: n REAL(sp), INTENT(OUT) :: var(n) REAL(sp), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i @@ -1717,7 +1717,7 @@ CONTAINS SUBROUTINE init_zero_contiguous_sp(var, n, lacc, opt_acc_async) INTEGER, INTENT(IN) :: n REAL(sp), INTENT(OUT) :: var(n) - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async CALL init_contiguous_sp(var, n, 0.0_sp, lacc, opt_acc_async) @@ -1727,7 +1727,7 @@ CONTAINS INTEGER, INTENT(IN) :: n INTEGER(ik4), INTENT(OUT) :: var(n) INTEGER(ik4), INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i @@ -1749,7 +1749,7 @@ CONTAINS INTEGER, INTENT(IN) :: n LOGICAL, INTENT(OUT) :: var(n) LOGICAL, INTENT(IN) :: v - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc LOGICAL, INTENT(IN), OPTIONAL :: opt_acc_async INTEGER :: i @@ -1771,7 +1771,7 @@ CONTAINS !! Computes the MINVAL(var) !! This wrapper enables the use of OpenACC without using ACC-KERNELS INTEGER, INTENT(IN) :: var(:) ! input array - LOGICAL, INTENT(IN), OPTIONAL :: lacc ! if true, use OpenACC + LOGICAL, INTENT(IN) :: lacc ! if true, use OpenACC LOGICAL :: lzacc ! non-optional version of lacc INTEGER :: minval_1d, i, s1 @@ -1798,7 +1798,7 @@ CONTAINS !! Computes the MINVAL(var) !! This wrapper enables the use of OpenACC without using ACC-KERNELS INTEGER, INTENT(IN) :: var(:, :) ! input array - LOGICAL, INTENT(IN), OPTIONAL :: lacc ! if true, use OpenACC + LOGICAL, INTENT(IN) :: lacc ! if true, use OpenACC LOGICAL :: lzacc ! non-optional version of lacc INTEGER :: minval_2d, i, j, s1, s2 @@ -2323,28 +2323,22 @@ CONTAINS SUBROUTINE assert_acc_host_only(routine_name, lacc) CHARACTER(len=*), INTENT(IN) :: routine_name - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc #ifdef _OPENACC - IF (PRESENT(lacc)) THEN - IF (lacc) THEN - CALL finish(routine_name, ' not supported on ACC device.') - END IF + IF (lacc) THEN + CALL finish(routine_name, 'not supported on ACC device.') END IF #endif END SUBROUTINE assert_acc_host_only SUBROUTINE assert_acc_device_only(routine_name, lacc) CHARACTER(len=*), INTENT(IN) :: routine_name - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc #ifdef _OPENACC - IF (.NOT. PRESENT(lacc)) THEN - CALL finish(routine_name, ' must not be called without lacc.') - ELSE - IF (.NOT. lacc) THEN - CALL finish(routine_name, ' not supported in ACC host mode.') - END IF + IF (.NOT. lacc) THEN + CALL finish(routine_name, 'not supported in ACC host mode.') END IF #endif END SUBROUTINE assert_acc_device_only @@ -2364,13 +2358,11 @@ CONTAINS PURE SUBROUTINE set_acc_host_or_device(lzacc, lacc) LOGICAL, INTENT(OUT) :: lzacc - LOGICAL, INTENT(IN), OPTIONAL :: lacc + LOGICAL, INTENT(IN) :: lacc lzacc = .FALSE. #ifdef _OPENACC - IF (PRESENT(lacc)) THEN - lzacc = lacc - END IF + lzacc = lacc #endif END SUBROUTINE set_acc_host_or_device diff --git a/test/fortran/test_fortran_tools.f90 b/test/fortran/test_fortran_tools.f90 index a0512e0f721bab2ffb1be615f9f4824b6d634163..19f9dfa5aca5f6d74f81f036d699c67a8cf11b79 100644 --- a/test/fortran/test_fortran_tools.f90 +++ b/test/fortran/test_fortran_tools.f90 @@ -1476,43 +1476,6 @@ CONTAINS CALL ASSERT_EQUAL(ASSOCIATED(ptr), .FALSE.) END SUBROUTINE - SUBROUTINE Test_assert_acc_host_only - ! OpenACC version is left TODO - CALL TAG_TEST("Test_assert_acc_host_only_true") - CALL assert_acc_host_only("Unit_test", .TRUE.) - CALL SUCCEED - - CALL TAG_TEST("Test_assert_acc_host_only_false") - CALL assert_acc_host_only("Unit_test", .FALSE.) - CALL SUCCEED - END SUBROUTINE - - SUBROUTINE Test_assert_acc_device_only - ! OpenACC version is left TODO - CALL TAG_TEST("Test_assert_acc_device_only_true") - CALL assert_acc_device_only("Unit_test", .TRUE.) - CALL SUCCEED - - CALL TAG_TEST("Test_assert_acc_device_only_false") - CALL assert_acc_device_only("Unit_test", .FALSE.) - CALL SUCCEED - END SUBROUTINE - - SUBROUTINE Test_assert_lacc_equals_i_am_accel_node - ! OpenACC version is left TODO - CALL TAG_TEST("Test_assert_lacc_equals_i_am_accel_node_match_true") - CALL assert_lacc_equals_i_am_accel_node("Unit_test", .TRUE., .TRUE.) - CALL SUCCEED - - CALL TAG_TEST("Test_assert_lacc_equals_i_am_accel_node_match_false") - CALL assert_lacc_equals_i_am_accel_node("Unit_test", .FALSE., .FALSE.) - CALL SUCCEED - - CALL TAG_TEST("Test_assert_lacc_equals_i_am_accel_node_false") - CALL assert_lacc_equals_i_am_accel_node("Unit_test", .FALSE., .TRUE.) - CALL SUCCEED - END SUBROUTINE - ! Support functions for testing LOGICAL FUNCTION assert_logical_array(array1, array2)