diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2023-05-22 23:17:14 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-22 23:17:14 (GMT) |
commit | a888742959249605f83a00f1fd769c15b515969b (patch) | |
tree | 4811ce7bac3364f346cc5cac2371d2ce1bd36bf6 /fortran/test/tH5T_F03.F90 | |
parent | 8186a8ded043b383004160ec4ad239687c60d5dd (diff) | |
download | hdf5-a888742959249605f83a00f1fd769c15b515969b.zip hdf5-a888742959249605f83a00f1fd769c15b515969b.tar.gz hdf5-a888742959249605f83a00f1fd769c15b515969b.tar.bz2 |
Updated H5Ovisit_f and H5Ovisit_by_name_f wrappers internals. (#2987)
* * Removed C wrappers for H5Ovisit_f and H5Ovist_by_name_f, modifying the Fortran source accordingly.
* The intent for op_data was declared INOUT, even though the pointer address INTENT is, in actuality, IN. gfortran was optimizing out op_data in tests where the values were repeatedly reset to the same value. The values were reset in the test because the data the pointer targeted was updated in the callback.
* Made use of the 'verify' function to check value correctness.
* changed to useing INTEGER(C_INT) instead of C_BOOL, updated the documentation
Diffstat (limited to 'fortran/test/tH5T_F03.F90')
-rw-r--r-- | fortran/test/tH5T_F03.F90 | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/fortran/test/tH5T_F03.F90 b/fortran/test/tH5T_F03.F90 index 86e49b6..0f56806 100644 --- a/fortran/test/tH5T_F03.F90 +++ b/fortran/test/tH5T_F03.F90 @@ -3598,32 +3598,26 @@ SUBROUTINE multiple_dset_rw(total_error) CALL check("h5dread_multi_f", error, total_error) ! check the written and read in values + error = 0 DO i = 1, rdim - IF(rbuf_real(i).NE.wbuf_real(i))THEN - total_error = total_error + 1 - END IF + CALL VERIFY("h5dread_multi_f",rbuf_real(i), wbuf_real(i), error) END DO + total_error = total_error + error DO i = 1, idim - IF(rbuf_int(i).NE.wbuf_int(i))THEN - total_error = total_error + 1 - END IF + CALL VERIFY("h5dread_multi_f",rbuf_int(i),wbuf_int(i), error) END DO + total_error = total_error + error DO i = 1, cdim - IF(rbuf_chr(i).NE.wbuf_chr(i))THEN - total_error = total_error + 1 - END IF + CALL VERIFY("h5dread_multi_f",rbuf_chr(i),wbuf_chr(i), error) END DO + total_error = total_error + error + error = 0 DO i = 1, ddim - IF(rbuf_derived(i)%r.NE.wbuf_derived(i)%r)THEN - total_error = total_error + 1 - END IF - IF(rbuf_derived(i)%i.NE.wbuf_derived(i)%i)THEN - total_error = total_error + 1 - END IF - IF(rbuf_derived(i)%c.NE.wbuf_derived(i)%c)THEN - total_error = total_error + 1 - END IF + CALL VERIFY("h5dread_multi_f",rbuf_derived(i)%r,wbuf_derived(i)%r,error) + CALL VERIFY("h5dread_multi_f",rbuf_derived(i)%i,wbuf_derived(i)%i,error) + CALL VERIFY("h5dread_multi_f",rbuf_derived(i)%c,wbuf_derived(i)%c,error) END DO + total_error = total_error + error DO i = 1, idim DO j = 1, idim2 DO k = 1, idim3 |