From 8d4ae7e283344449ade846bd30f35f424d5ad9ee Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 9 May 2008 16:38:52 -0500 Subject: [svn-r14964] merged the fortran trunk into the branch, used the command: (svn merge -r 14942:14963 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran) --- fortran/src/H5Lff.f90 | 1 + fortran/src/H5Pff.f90 | 37 ++++++++++++++++++----------------- fortran/test/Makefile.am | 3 +-- fortran/test/Makefile.in | 10 +++------- fortran/test/tH5A_1_8.f90 | 50 ++++++++++++++++++++++++++++++++++++++--------- 5 files changed, 65 insertions(+), 36 deletions(-) diff --git a/fortran/src/H5Lff.f90 b/fortran/src/H5Lff.f90 index 9d1c2e5..1f7bceb 100644 --- a/fortran/src/H5Lff.f90 +++ b/fortran/src/H5Lff.f90 @@ -988,6 +988,7 @@ CONTAINS ! returns correct size CHARACTER(LEN=*), INTENT(OUT) :: name ! Buffer in which link value is returned INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure INTEGER(SIZE_T) :: group_namelen INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Link access property list diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90 index 2747add..8e5c420 100644 --- a/fortran/src/H5Pff.f90 +++ b/fortran/src/H5Pff.f90 @@ -6647,7 +6647,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_attr_creation_order_f(ocpl_id, crt_order_flags, hdferr) + SUBROUTINE h5pget_attr_creation_order_f(ocpl_id, crt_order_flags, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -6769,7 +6769,7 @@ ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5pset_libver_bounds_f +!DEC$attributes dllexport :: h5pset_link_creation_order_f !DEC$endif ! IMPLICIT NONE @@ -7059,7 +7059,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_link_creation_order_f(gcpl_id, crt_order_flags, hdferr) + SUBROUTINE h5pget_link_creation_order_f(gcpl_id, crt_order_flags, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7116,7 +7116,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_char_encoding_f(plist_id, encoding, hdferr) + SUBROUTINE h5pset_char_encoding_f(plist_id, encoding, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7249,6 +7249,7 @@ ! H5O_COPY_EXPAND_REFERENCE_F ! H5O_COPY_WITHOUT_ATTR_FLAG_F INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure ! MS FORTRAN needs explicit interface for C functions called here. ! @@ -7467,7 +7468,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE H5Pget_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) + SUBROUTINE h5pget_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7482,7 +7483,7 @@ ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION H5Pget_local_heap_size_hint_c(gcpl_id, size_hint) + INTEGER FUNCTION h5pget_local_heap_size_hint_c(gcpl_id, size_hint) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_LOCAL_HEAP_SIZE_HINT_C'::h5pget_local_heap_size_hint_c @@ -7494,7 +7495,7 @@ hdferr = H5Pget_local_heap_size_hint_c(gcpl_id, size_hint) - END SUBROUTINE H5Pget_local_heap_size_hint_f + END SUBROUTINE h5pget_local_heap_size_hint_f !---------------------------------------------------------------------- ! Name: H5Pget_est_link_info_f @@ -7520,7 +7521,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE H5Pget_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) + SUBROUTINE h5pget_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7536,7 +7537,7 @@ ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION H5Pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len) + INTEGER FUNCTION h5pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_EST_LINK_INFO_C'::h5pget_est_link_info_c @@ -7544,12 +7545,12 @@ INTEGER(HID_T), INTENT(IN) :: gcpl_id INTEGER, INTENT(OUT) :: est_num_entries INTEGER, INTENT(OUT) :: est_name_len - END FUNCTION H5Pget_est_link_info_c + END FUNCTION h5pget_est_link_info_c END INTERFACE - hdferr = H5Pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len) + hdferr = h5pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len) - END SUBROUTINE H5Pget_est_link_info_f + END SUBROUTINE h5pget_est_link_info_f !---------------------------------------------------------------------- ! Name: H5Pset_local_heap_size_hint_f @@ -7574,7 +7575,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE H5Pset_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) + SUBROUTINE h5pset_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7589,19 +7590,19 @@ ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION H5Pset_local_heap_size_hint_c(gcpl_id, size_hint) + INTEGER FUNCTION h5pset_local_heap_size_hint_c(gcpl_id, size_hint) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PSET_LOCAL_HEAP_SIZE_HINT_C'::h5pset_local_heap_size_hint_c !DEC$ ENDIF INTEGER(HID_T), INTENT(IN) :: gcpl_id INTEGER(SIZE_T), INTENT(IN) :: size_hint - END FUNCTION H5Pset_local_heap_size_hint_c + END FUNCTION h5pset_local_heap_size_hint_c END INTERFACE hdferr = H5Pset_local_heap_size_hint_c(gcpl_id, size_hint) - END SUBROUTINE H5Pset_local_heap_size_hint_f + END SUBROUTINE h5pset_local_heap_size_hint_f !---------------------------------------------------------------------- ! Name: H5Pset_est_link_info_f @@ -7910,7 +7911,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE H5Pset_nbit_f(plist_id, hdferr) + SUBROUTINE h5pset_nbit_f(plist_id, hdferr) ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) @@ -7935,7 +7936,7 @@ hdferr = H5Pset_nbit_c(plist_id) - END SUBROUTINE H5Pset_nbit_f + END SUBROUTINE h5pset_nbit_f !---------------------------------------------------------------------- ! Name: H5Pset_scaleoffset_f diff --git a/fortran/test/Makefile.am b/fortran/test/Makefile.am index 042cfab..24f9d61 100644 --- a/fortran/test/Makefile.am +++ b/fortran/test/Makefile.am @@ -51,8 +51,7 @@ fortranlib_test_SOURCES = fortranlib_test.f90 \ tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 fortranlib_test_1_8_SOURCES = fortranlib_test_1_8.f90 \ - tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \ - tH5Sselect.f90 tH5O.f90 tH5P.f90 tH5A_1_8.f90 tH5I.f90 tH5G_1_8.f90 tH5E.f90 + tH5F.f90 tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 fflush1_SOURCES=fflush1.f90 fflush2_SOURCES=fflush2.f90 diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index 2652472..ee9c13f 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -96,11 +96,8 @@ fortranlib_test_LINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(FCLD) $(fortranlib_test_FCFLAGS) $(FCFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ am_fortranlib_test_1_8_OBJECTS = fortranlib_test_1_8.$(OBJEXT) \ - tH5F.$(OBJEXT) tH5D.$(OBJEXT) tH5R.$(OBJEXT) tH5S.$(OBJEXT) \ - tH5T.$(OBJEXT) tH5VL.$(OBJEXT) tH5Z.$(OBJEXT) \ - tH5Sselect.$(OBJEXT) tH5O.$(OBJEXT) tH5P.$(OBJEXT) \ - tH5A_1_8.$(OBJEXT) tH5I.$(OBJEXT) tH5G_1_8.$(OBJEXT) \ - tH5E.$(OBJEXT) + tH5F.$(OBJEXT) tH5O.$(OBJEXT) tH5A_1_8.$(OBJEXT) \ + tH5G_1_8.$(OBJEXT) fortranlib_test_1_8_OBJECTS = $(am_fortranlib_test_1_8_OBJECTS) fortranlib_test_1_8_LDADD = $(LDADD) fortranlib_test_1_8_DEPENDENCIES = libh5test_fortran.la $(LIBH5TEST) \ @@ -394,8 +391,7 @@ fortranlib_test_SOURCES = fortranlib_test.f90 \ tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 fortranlib_test_1_8_SOURCES = fortranlib_test_1_8.f90 \ - tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \ - tH5Sselect.f90 tH5O.f90 tH5P.f90 tH5A_1_8.f90 tH5I.f90 tH5G_1_8.f90 tH5E.f90 + tH5F.f90 tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 fflush1_SOURCES = fflush1.f90 fflush2_SOURCES = fflush2.f90 diff --git a/fortran/test/tH5A_1_8.f90 b/fortran/test/tH5A_1_8.f90 index bdf4c41..040d4ed 100644 --- a/fortran/test/tH5A_1_8.f90 +++ b/fortran/test/tH5A_1_8.f90 @@ -992,18 +992,33 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error) ! /* Check for query on non-existant attribute */ n = 0 -!EP CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, 0_HSIZE_T, & + + ! -- CHECK PASSING AN INTEGER CONSTANT IN DIFFERENT FORMS -- + + ! 1) call by passing an integer with the _hsize_t declaration + + CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, 0_hsize_t, & + f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F) + CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error) + + ! 2) call by passing an integer with the INT(,hsize_t) declaration + + CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(0,hsize_t), & + f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F) + CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error) + + + ! 3) call by passing a variable with the attribute hsize_t + CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, hzero, & f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F) CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error) -!EP pause 1 size = 0 CALL h5aget_name_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, & !EP 0_HSIZE_T, tmpname, size, error, lapl_id=H5P_DEFAULT_F) hzero, tmpname, size, error, lapl_id=H5P_DEFAULT_F) CALL VERIFY("h5aget_name_by_idx_f",error,minusone,total_error) -!EP pause 2 ! /* Create attributes, up to limit of compact form */ @@ -1032,11 +1047,9 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error) ! /* Verify information for new attribute */ -!EP CALL attr_info_by_idx_check(my_dataset, attrname, INT(j,HSIZE_T), use_index(i), total_error ) +!EP CALL attr_info_by_idx_check(my_dataset, attrname, INT(j,HSIZE_T), use_index(i), total_error ) htmp = j CALL attr_info_by_idx_check(my_dataset, attrname, htmp, use_index(i), total_error ) -!EP pause 3 -!EP CALL check("attr_info_by_idx_check",error,total_error) !CHECK(ret, FAIL, "attr_info_by_idx_check"); ENDDO @@ -1243,10 +1256,30 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error ) ! CALL HDmemset(ainfo, 0, SIZEOF(ainfo) !EP CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, 0_HSIZE_T, & + + ! -- CHECK PASSING AN INTEGER CONSTANT IN DIFFERENT FORMS -- + + ! 1) call by passing an integer with the _hsize_t declaration + + CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, 0_HSIZE_T, & + f_corder_valid, corder, cset, data_size, error) + CALL check("h5aget_info_by_idx_f",error,total_error) + CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error) + + ! 2) call by passing an integer with the INT(,hsize_t) declaration + + CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, INT(0,HSIZE_T), & + f_corder_valid, corder, cset, data_size, error) + CALL check("h5aget_info_by_idx_f",error,total_error) + CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error) + + ! 3) call by passing a variable with the attribute hsize_t + CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, hzero, & f_corder_valid, corder, cset, data_size, error) CALL check("h5aget_info_by_idx_f",error,total_error) CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error) + !!$ CALL HDmemset(tmpname, 0, (size_t)) !!$ ret = H5Aget_name_by_idx(obj_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_DEC, (hsize_t)0, tmpname, (size_t)NAME_BUF_SIZE, H5P_DEFAULT) !!$ CALL CHECK(ret, FAIL, "H5Aget_name_by_idx") @@ -2965,9 +2998,8 @@ SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error) CALL check("h5aclose_f",error,total_error) ! /* Verify attributes written so far */ -!EP It looks like a bug we have with a dense storage CALL test_attr_dense_verify(dataset, u, total_error) -!!$ CHECK(ret, FAIL, "test_attr_dense_verify"); + ! CHECK(ret, FAIL, "test_attr_dense_verify"); ENDDO ! /* Check on dataset's attribute storage status */ @@ -3054,7 +3086,7 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error) INTEGER :: value data_dims = 0 - + ! /* Retrieve the current # of reported errors */ ! old_nerrs = GetTestNumErrs(); -- cgit v0.12