summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2012-04-06 02:57:06 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2012-04-06 02:57:06 (GMT)
commitd5a62239587f7cc5de301fa5c6b0919807689818 (patch)
tree40a36d60dd8ac2d10a45886869cc53d3fdc9181e /fortran
parentebf3d99b955c705217227fb7f8ae4405e941399a (diff)
downloadhdf5-d5a62239587f7cc5de301fa5c6b0919807689818.zip
hdf5-d5a62239587f7cc5de301fa5c6b0919807689818.tar.gz
hdf5-d5a62239587f7cc5de301fa5c6b0919807689818.tar.bz2
[svn-r22254] Description:
Bring r22085:22251 from trunk to revise_chunks branch. Also tackle some testing issues in test/objcopy.c test and clean up some warnings. Tested on: FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (ostrich) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (ember) w/Intel compilers, w/paralle, C++ & FORTRAN, in production mode Mac OS X/32 10.7.3 (amazon) in debug mode Mac OS X/32 10.7.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.7.3 (amazon) w/parallel, in debug mode
Diffstat (limited to 'fortran')
-rw-r--r--[-rwxr-xr-x]fortran/COPYING0
-rw-r--r--[-rwxr-xr-x]fortran/examples/run-fortran-ex.sh.in0
-rw-r--r--[-rwxr-xr-x]fortran/examples/testh5fc.sh.in0
-rw-r--r--fortran/src/H5Of.c57
-rw-r--r--fortran/src/H5Off.f90175
-rw-r--r--fortran/src/H5Pff.f9035
-rw-r--r--fortran/src/H5f90proto.h7
-rw-r--r--fortran/src/Makefile.in2
-rw-r--r--[-rwxr-xr-x]fortran/src/h5fc.in2
-rw-r--r--fortran/src/hdf5_fortrandll.def1
-rw-r--r--fortran/src/phdf5_fortrandll.def1
-rw-r--r--fortran/test/CMakeLists.txt3
-rw-r--r--fortran/test/tH5O.f90256
13 files changed, 406 insertions, 133 deletions
diff --git a/fortran/COPYING b/fortran/COPYING
index 6903daf..6903daf 100755..100644
--- a/fortran/COPYING
+++ b/fortran/COPYING
diff --git a/fortran/examples/run-fortran-ex.sh.in b/fortran/examples/run-fortran-ex.sh.in
index 873669f..873669f 100755..100644
--- a/fortran/examples/run-fortran-ex.sh.in
+++ b/fortran/examples/run-fortran-ex.sh.in
diff --git a/fortran/examples/testh5fc.sh.in b/fortran/examples/testh5fc.sh.in
index 234d4e2..234d4e2 100755..100644
--- a/fortran/examples/testh5fc.sh.in
+++ b/fortran/examples/testh5fc.sh.in
diff --git a/fortran/src/H5Of.c b/fortran/src/H5Of.c
index 0df433a..531f09c 100644
--- a/fortran/src/H5Of.c
+++ b/fortran/src/H5Of.c
@@ -334,3 +334,60 @@ nh5oget_info_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *
return ret_value;
}
+/* ***if* H5Of/H5Ocopy_c
+ * NAME
+ * H5Ocopy_c
+ * PURPOSE
+ * Calls H5Ocopy
+ * INPUTS
+ * src_loc_id - Object identifier indicating the location of the source object to be copied
+ * src_name - Name of the source object to be copied
+ * src_name_len - Length of src_name
+ * dst_loc_id - Location identifier specifying the destination
+ * dst_name - Name to be assigned to the new copy
+ * dst_name_len - Length of dst_name
+ * ocpypl_id - Object copy property list
+ * lcpl_id - Link creation property list for the new hard link
+ *
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * M. Scot Breitenfeld
+ * March 14, 2012
+ * SOURCE
+*/
+int_f
+nh5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
+ hid_t_f *dst_loc_id, _fcd dst_name, size_t_f *dst_name_len,
+ hid_t_f *ocpypl_id, hid_t_f *lcpl_id )
+/******/
+{
+ char *c_src_name = NULL; /* Buffer to hold C string */
+ char *c_dst_name = NULL; /* Buffer to hold C string */
+
+ int_f ret_value = 0; /* Return value */
+
+ /*
+ * Convert FORTRAN name to C name
+ */
+ if((c_src_name = HD5f2cstring(src_name, (size_t)*src_name_len)) == NULL)
+ HGOTO_DONE(FAIL);
+ if((c_dst_name = HD5f2cstring(dst_name, (size_t)*dst_name_len)) == NULL)
+ HGOTO_DONE(FAIL);
+
+ /*
+ * Call H5Ocopy function.
+ */
+ if(H5Ocopy( (hid_t)*src_loc_id, c_src_name, (hid_t)*dst_loc_id, c_dst_name,
+ (hid_t)*ocpypl_id, (hid_t)*lcpl_id) < 0)
+ HGOTO_DONE(FAIL);
+
+ done:
+ if(c_src_name)
+ HDfree(c_src_name);
+ if(c_dst_name)
+ HDfree(c_dst_name);
+
+ return ret_value;
+
+}
diff --git a/fortran/src/H5Off.f90 b/fortran/src/H5Off.f90
index e69fdb5..4f1ea18 100644
--- a/fortran/src/H5Off.f90
+++ b/fortran/src/H5Off.f90
@@ -49,33 +49,32 @@ CONTAINS
!
! PURPOSE
! Creates a hard link to an object in an HDF5 file.
-! INPUTS
+!
+! Inputs:
! object_id - Object to be linked.
! new_loc_id - File or group identifier specifying location at which object is to be linked.
! new_link_name - Name of link to be created, relative to new_loc_id.
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! OPTIONAL PARAMETERS
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! Optional parameters:
! lcpl_id - Link creation property list identifier.
! lapl_id - Link access property list identifier.
+!
! AUTHOR
! M. Scot Breitenfeld
! April 21, 2008
!
-! SOURCE
+! Fortran90 Interface:
SUBROUTINE h5olink_f(object_id, new_loc_id, new_link_name, hdferr, lcpl_id, lapl_id)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: object_id ! Object to be linked
- INTEGER(HID_T), INTENT(IN) :: new_loc_id ! File or group identifier specifying
- ! location at which object is to be linked.
- CHARACTER(LEN=*), INTENT(IN) :: new_link_name ! Name of link to be created, relative to new_loc_id.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! Success: 0
- ! Failure: -1
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list identifier.
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Link creation property list identifier.
+ INTEGER(HID_T) , INTENT(IN) :: object_id
+ INTEGER(HID_T) , INTENT(IN) :: new_loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: new_link_name
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lcpl_id
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lapl_id
!*****
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T) :: lcpl_id_default
@@ -115,33 +114,33 @@ CONTAINS
!
! NAME
! h5oopen_f
+!
! PURPOSE
! Opens an object in an HDF5 file by location identifier and path name.
!
-! INPUTS
-! loc_id - File or group identifier
+! Inputs:
+! loc_id - File or group identifier.
! name - Path to the object, relative to loc_id.
-! OUTPUTS
-! obj_id - Object identifier for the opened object
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! OPTIONAL PARAMETERS
-! lapl_id - Access property list identifier for the link pointing to the object
+!
+! Outputs:
+! obj_id - Object identifier for the opened object.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! Optional parameters:
+! lapl_id - Access property list identifier for the link pointing to the object.
!
! AUTHOR
! M. Scot Breitenfeld
! April 18, 2008
-! SOURCE
+!
+! Fortran90 Interface:
SUBROUTINE h5oopen_f(loc_id, name, obj_id, hdferr, lapl_id)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Path to the object, relative to loc_id
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier for the opened object
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! Success: 0
- ! Failure: -1
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Attribute access property list
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T) , INTENT(OUT) :: obj_id
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lapl_id
!*****
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: namelen
@@ -178,20 +177,21 @@ CONTAINS
! PURPOSE
! Closes an object in an HDF5 file.
!
-! INPUTS
-! object_id - Object identifier
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
+! Inputs:
+! object_id - Object identifier.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails.
!
! AUTHOR
! M. Scot Breitenfeld
! December 17, 2008
!
-! SOURCE
+! Fortran90 Interface:
SUBROUTINE h5oclose_f(object_id, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: object_id
- INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), INTENT(IN) :: object_id
+ INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
INTEGER FUNCTION h5oclose_c(object_id)
@@ -214,25 +214,25 @@ CONTAINS
! PURPOSE
! Opens an object using its address within an HDF5 file.
!
-! INPUTS
-! loc_id - File or group identifier
-! addr - Object’s address in the file
-! OUTPUTS:
-! obj_id - Object identifier for the opened object
-! hdferr - Returns 0 if successful and -1 if fails
+! Inputs:
+! loc_id - File or group identifier.
+! addr - Object’s address in the file.
+!
+! Outputs:
+! obj_id - Object identifier for the opened object.
+! hdferr - Returns 0 if successful and -1 if fails.
!
! AUTHOR
! M. Scot Breitenfeld
! September 14, 2009
!
-! SOURCE
+! Fortran90 Interface:
SUBROUTINE h5oopen_by_addr_f(loc_id, addr, obj_id, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- INTEGER(HADDR_T), INTENT(IN) :: addr ! Object’s address in the file
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier for the opened object
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
- ! 0 on success and -1 on failure
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ INTEGER(HADDR_T), INTENT(IN) :: addr
+ INTEGER(HID_T) , INTENT(OUT) :: obj_id
+ INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
INTEGER FUNCTION h5oopen_by_addr_c(loc_id, addr, obj_id)
@@ -249,6 +249,77 @@ CONTAINS
hdferr = h5oopen_by_addr_c(loc_id, addr, obj_id)
END SUBROUTINE h5oopen_by_addr_f
+!
+!****s* H5O/h5ocopy_f
+! NAME
+! h5ocopy_f
+!
+! PURPOSE
+! Copies an object in an HDF5 file.
+!
+! Inputs:
+! src_loc_id - Object identifier indicating the location of the source object to be copied.
+! src_name - Name of the source object to be copied.
+! dst_loc_id - Location identifier specifying the destination.
+! dst_name - Name to be assigned to the new copy.
+!
+! Optional parameters:
+! ocpypl_id - Object copy property list.
+! lcpl_id - Link creation property list for the new hard link.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! March 14, 2012
+!
+! Fortran90 Interface:
+ SUBROUTINE h5ocopy_f(src_loc_id, src_name, dst_loc_id, dst_name, hdferr, ocpypl_id, lcpl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: src_loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: src_name
+ INTEGER(HID_T) , INTENT(IN) :: dst_loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: dst_name
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: ocpypl_id
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lcpl_id
+!*****
+
+ INTEGER(SIZE_T) :: src_name_len, dst_name_len
+ INTEGER(HID_T) :: ocpypl_id_default, lcpl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5ocopy_c(src_loc_id, src_name, src_name_len, &
+ dst_loc_id, dst_name, dst_name_len, ocpypl_id_default, lcpl_id_default)
+ USE H5GLOBAL
+ !DEC$IF DEFINED(HDF5F90_WINDOWS)
+ !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OCOPY_C'::h5ocopy_c
+ !DEC$ENDIF
+ !DEC$ATTRIBUTES reference :: src_name, dst_name
+ INTEGER(HID_T) , INTENT(IN) :: src_loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: src_name
+ INTEGER(HID_T) , INTENT(IN) :: dst_loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: dst_name
+ INTEGER(HID_T) , INTENT(IN) :: ocpypl_id_default
+ INTEGER(HID_T) , INTENT(IN) :: lcpl_id_default
+ INTEGER(SIZE_T) :: src_name_len, dst_name_len
+
+ END FUNCTION h5ocopy_c
+ END INTERFACE
+
+ src_name_len = LEN(src_name)
+ dst_name_len = LEN(dst_name)
+
+ ocpypl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(ocpypl_id)) ocpypl_id_default = ocpypl_id
+ lcpl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
+
+ hdferr = h5ocopy_c(src_loc_id, src_name, src_name_len, &
+ dst_loc_id, dst_name, dst_name_len, ocpypl_id_default, lcpl_id_default)
+
+ END SUBROUTINE h5ocopy_f
END MODULE H5O
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90
index 2d874d0..d50e3b9 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.f90
@@ -53,11 +53,23 @@ CONTAINS
! INPUTS
! class - type of the property class to be created.
! Possible values are:
-! H5P_FILE_CREATE_F
-! H5P_FILE_ACCESS_F
-! H5P_DATASET_CREATE_F
-! H5P_DATASET_XFER_F
-! H5P_FILE_MOUNT_F
+! H5P_OBJECT_CREATE_F
+! H5P_FILE_CREATE_F
+! H5P_FILE_ACCESS_F
+! H5P_DATASET_CREATE_F
+! H5P_DATASET_ACCESS_F
+! H5P_DATASET_XFER_F
+! H5P_FILE_MOUNT_F
+! H5P_GROUP_CREATE_F
+! H5P_GROUP_ACCESS_F
+! H5P_DATATYPE_CREATE_F
+! H5P_DATATYPE_ACCESS_F
+! H5P_STRING_CREATE_F
+! H5P_ATTRIBUTE_CREATE _F
+! H5P_OBJECT_COPY_F
+! H5P_LINK_CREATE_F
+! H5P_LINK_ACCESS_F
+!
! OUTPUTS
! prp_id - property list identifier
! hdferr - error code
@@ -76,16 +88,9 @@ CONTAINS
! Fortran90 Interface:
SUBROUTINE h5pcreate_f(class, prp_id, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! The type of the property list
- ! to be created. Possible values are:
- ! H5P_FILE_CREATE_F
- ! H5P_FILE_ACCESS_F
- ! H5P_DATASET_CREATE_F
- ! H5P_DATASET_XFER_F
- ! H5P_FILE_MOUNT_F
- INTEGER(HID_T), INTENT(OUT) :: prp_id ! Property list identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
+ INTEGER(HID_T), INTENT(IN) :: class
+ INTEGER(HID_T), INTENT(OUT) :: prp_id
+ INTEGER , INTENT(OUT) :: hdferr
!*****
! INTEGER, EXTERNAL :: h5pcreate_c
! MS FORTRAN needs explicit interface for C functions called here.
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 89957a4..a504653 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -805,10 +805,12 @@ H5_FCDLL int_f nh5tconvert_c(hid_t_f *src_id, hid_t_f *dst_id, size_t_f *nelmts,
#define nh5olink_c H5_FC_FUNC_(h5olink_c, H5OLINK_C)
#define nh5oopen_c H5_FC_FUNC_(h5oopen_c, H5OOPEN_C)
-#define nh5oclose_c H5_FC_FUNC_(h5oclose_c, H5OCLOSE_C)
+#define nh5oclose_c H5_FC_FUNC_(h5oclose_c, H5OCLOSE_C)
#define nh5ovisit_c H5_FC_FUNC_(h5ovisit_c,H5OVISIT_C)
#define nh5oget_info_by_name_c H5_FC_FUNC_(h5oget_info_by_name_c ,H5OGET_INFO_BY_NAME_C)
#define nh5oopen_by_addr_c H5_FC_FUNC_(h5oopen_by_addr_c, H5OOPEN_BY_ADDR_C)
+#define nh5ocopy_c H5_FC_FUNC_(h5ocopy_c, H5OCOPY_C)
+
H5_FCDLL int_f nh5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *obj_id);
H5_FCDLL int_f nh5oclose_c (hid_t_f *object_id );
@@ -818,6 +820,9 @@ H5_FCDLL int_f nh5olink_c (hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, s
H5_FCDLL int_f nh5ovisit_c (hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate_t op, void *op_data);
H5_FCDLL int_f nh5oget_info_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen,hid_t_f *lapl_id,
H5O_info_t_f *object_info);
+H5_FCDLL int_f nh5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
+ hid_t_f *dst_loc_id, _fcd dst_name, size_t_f *dst_name_len,
+ hid_t_f *ocpypl_id, hid_t_f *lcpl_id );
/*
* Functions from H5Pf.c
*/
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index 0ccaf33..c963c83 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -478,7 +478,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 101
+LT_VERS_REVISION = 103
LT_VERS_AGE = 0
# Include src directory in both Fortran and C flags (C compiler is used
diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in
index 9e9409d..2d7b5b4 100755..100644
--- a/fortran/src/h5fc.in
+++ b/fortran/src/h5fc.in
@@ -189,7 +189,7 @@ for arg in $@ ; do
get_output_file="yes"
fi
;;
- -E|-M)
+ -E|-M|-MT)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
dash_c="yes"
diff --git a/fortran/src/hdf5_fortrandll.def b/fortran/src/hdf5_fortrandll.def
index 6b3aad8..29e83f5 100644
--- a/fortran/src/hdf5_fortrandll.def
+++ b/fortran/src/hdf5_fortrandll.def
@@ -284,6 +284,7 @@ H5L_mp_H5LIS_REGISTERED_F
H5L_mp_H5LMOVE_F
H5L_mp_H5LGET_NAME_BY_IDX_F
; H5O
+H5O_mp_H5OCOPY_F
H5O_mp_H5OLINK_F
H5O_mp_H5OOPEN_F
H5O_mp_H5OOPEN_BY_ADDR_F
diff --git a/fortran/src/phdf5_fortrandll.def b/fortran/src/phdf5_fortrandll.def
index a4bc9eb..7a196cd 100644
--- a/fortran/src/phdf5_fortrandll.def
+++ b/fortran/src/phdf5_fortrandll.def
@@ -284,6 +284,7 @@ H5L_mp_H5LIS_REGISTERED_F
H5L_mp_H5LMOVE_F
H5L_mp_H5LGET_NAME_BY_IDX_F
; H5O
+H5O_mp_H5OCOPY_F
H5O_mp_H5OLINK_F
H5O_mp_H5OOPEN_F
H5O_mp_H5OOPEN_BY_ADDR_F
diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt
index e6ddbaf..d19baea 100644
--- a/fortran/test/CMakeLists.txt
+++ b/fortran/test/CMakeLists.txt
@@ -73,6 +73,7 @@ SET_TARGET_PROPERTIES (testhdf5_fortran PROPERTIES LINKER_LANGUAGE Fortran)
SET_TARGET_PROPERTIES (testhdf5_fortran PROPERTIES FOLDER test/fortran)
ADD_TEST (NAME testhdf5_fortran COMMAND $<TARGET_FILE:testhdf5_fortran>)
+SET_TESTS_PROPERTIES(testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
#-- Adding test for testhdf5_fortran_1_8
ADD_EXECUTABLE (testhdf5_fortran_1_8
@@ -96,6 +97,7 @@ SET_TARGET_PROPERTIES (testhdf5_fortran_1_8 PROPERTIES LINKER_LANGUAGE Fortran)
SET_TARGET_PROPERTIES (testhdf5_fortran_1_8 PROPERTIES FOLDER test/fortran)
ADD_TEST (NAME testhdf5_fortran_1_8 COMMAND $<TARGET_FILE:testhdf5_fortran_1_8>)
+SET_TESTS_PROPERTIES(testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
#-- Adding test for fortranlib_test_F03
IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
@@ -121,6 +123,7 @@ IF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
SET_TARGET_PROPERTIES (fortranlib_test_F03 PROPERTIES FOLDER test/fortran)
ADD_TEST (NAME fortranlib_test_F03 COMMAND $<TARGET_FILE:fortranlib_test_F03>)
+ SET_TESTS_PROPERTIES(fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
ENDIF (FORTRAN_HAVE_ISO_C_BINDING AND HDF5_ENABLE_F2003)
#-- Adding test for fflush1
diff --git a/fortran/test/tH5O.f90 b/fortran/test/tH5O.f90
index d871e59..247d1d0 100644
--- a/fortran/test/tH5O.f90
+++ b/fortran/test/tH5O.f90
@@ -72,6 +72,7 @@ SUBROUTINE test_h5o_link(total_error)
INTEGER(HID_T) :: type_id
INTEGER(HID_T) :: fapl_id
INTEGER(HID_T) :: lcpl_id
+ INTEGER(HID_T) :: ocpypl_id
INTEGER(HID_T) :: mem_space_id, file_space_id, xfer_prp
CHARACTER(LEN=11), PARAMETER :: TEST_FILENAME = 'TestFile.h5'
INTEGER, PARAMETER :: TEST6_DIM1 = 2, TEST6_DIM2 = 5
@@ -82,52 +83,65 @@ SUBROUTINE test_h5o_link(total_error)
INTEGER, PARAMETER :: TRUE = 1, FALSE = 0
- LOGICAL :: committed ! /* Whether the named datatype is committed */
+ LOGICAL :: committed ! /* Whether the named datatype is committed
INTEGER :: i, n, j
- INTEGER :: error ! /* Value returned from API calls */
-
- ! /* Initialize the raw data */
+ INTEGER :: error ! /* Value returned from API calls
+
+ CHARACTER(LEN=14) :: NAME_DATATYPE_SIMPLE="H5T_NATIVE_INT"
+ CHARACTER(LEN=16) :: NAME_DATATYPE_SIMPLE2="H5T_NATIVE_INT-2"
+ INTEGER(HID_T) :: tid, tid2
+ LOGICAL :: flag
+
+ ! Data for tested h5ocopy_f
+ CHARACTER(LEN=3) , PARAMETER :: dataset = "DS1"
+ INTEGER , PARAMETER :: dim0 = 4
+
+ INTEGER(HSIZE_T), DIMENSION(1:1) :: dims2 = (/dim0/) ! size read/write buffer
+ INTEGER , DIMENSION(1:dim0) :: wdata2, & ! Write buffer
+ rdata2 ! Read buffer
+
+ ! Initialize the raw data
DO i = 1, TEST6_DIM1
DO j = 1, TEST6_DIM2
wdata(i,j) = i*j
ENDDO
ENDDO
- ! /* Create the dataspace */
+ ! Create the dataspace
CALL h5screate_simple_f(2, dims, space_id, error)
CALL check("h5screate_simple_f",error,total_error)
- ! /* Create LCPL with intermediate group creation flag set */
+ ! Create LCPL with intermediate group creation flag set
CALL H5Pcreate_f(H5P_LINK_CREATE_F, lcpl_id, error)
CALL check("h5Pcreate_f",error,total_error)
CALL H5Pset_create_inter_group_f(lcpl_id, TRUE, error)
CALL check("H5Pset_create_inter_group_f",error,total_error)
- ! /* Loop over using new group format */
+ ! Loop over using new group format
! for(new_format = FALSE; new_format <= TRUE; new_format++) {
- !/* Make a FAPL that uses the "use the latest version of the format" bounds */
+ ! Make a FAPL that uses the "use the latest version of the format" bounds
CALL H5Pcreate_f(H5P_FILE_ACCESS_F,fapl_id,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Set the "use the latest version of the format" bounds for creating objects in the file */
+ ! Set the "use the latest version of the format" bounds for creating objects in the file
CALL H5Pset_libver_bounds_f(fapl_id, H5F_LIBVER_LATEST_F, H5F_LIBVER_LATEST_F, error)
CALL check("H5Pset_libver_bounds_f",error, total_error)
!!$ ret = H5Pset_libver_bounds(fapl_id, (new_format ? H5F_LIBVER_LATEST : H5F_LIBVER_EARLIEST), H5F_LIBVER_LATEST);
- ! /* Create a new HDF5 file */
+ ! Create a new HDF5 file
CALL H5Fcreate_f(TEST_FILENAME, H5F_ACC_TRUNC_F, file_id, error, H5P_DEFAULT_F, fapl_id)
CALL check("H5Fcreate_f", error, total_error)
- ! /* Close the FAPL */
+ ! Close the FAPL
CALL h5pclose_f(fapl_id, error)
CALL check("h5pclose_f",error,total_error)
- ! /* Create and commit a datatype with no name */
+ ! Create and commit a datatype with no name
CALL H5Tcopy_f( H5T_NATIVE_INTEGER, type_id, error)
CALL check("H5Tcopy_F",error,total_error)
@@ -138,27 +152,27 @@ SUBROUTINE test_h5o_link(total_error)
CALL check("H5Tcommitted_f",error,total_error)
CALL verifyLogical("H5Tcommitted_f", committed, .TRUE., total_error)
- ! /* Create a dataset with no name using the committed datatype*/
+ ! Create a dataset with no name using the committed datatype
CALL H5Dcreate_anon_f(file_id, type_id, space_id, dset_id, error ) ! using no optional parameters
CALL check("H5Dcreate_anon_f",error,total_error)
- ! /* Verify that we can write to and read from the dataset */
+ ! Verify that we can write to and read from the dataset
- ! /* Write the data to the dataset */
+ ! Write the data to the dataset
!EP CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, wdata, dims, error, &
!EP mem_space_id=H5S_ALL_F, file_space_id=H5S_ALL_F, xfer_prp = H5P_DEFAULT_F)
CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, wdata, dims, error)
CALL check("h5dwrite_f", error, total_error)
- ! /* Read the data back */
+ ! Read the data back
!EP CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, rdata, dims, error, &
!EP mem_space_id=H5S_ALL_F, file_space_id=H5S_ALL_F, xfer_prp = H5P_DEFAULT_F)
CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, rdata, dims, error)
CALL check("h5dread_f", error, total_error)
- ! /* Verify the data */
+ ! Verify the data
DO i = 1, TEST6_DIM1
DO j = 1, TEST6_DIM2
CALL VERIFY("H5Dread_f",wdata(i,j),rdata(i,j),total_error)
@@ -166,31 +180,31 @@ SUBROUTINE test_h5o_link(total_error)
ENDDO
ENDDO
- ! /* Create a group with no name*/
+ ! Create a group with no name
CALL H5Gcreate_anon_f(file_id, group_id, error)
CALL check("H5Gcreate_anon", error, total_error)
- ! /* Link nameless datatype into nameless group */
+ ! Link nameless datatype into nameless group
CALL H5Olink_f(type_id, group_id, "datatype", error, H5P_DEFAULT_F)
CALL check("H5Olink_f", error, total_error)
- ! /* Link nameless dataset into nameless group with intermediate group */
+ ! Link nameless dataset into nameless group with intermediate group
CALL H5Olink_f(dset_id, group_id, "inter_group/dataset", error, lcpl_id, H5P_DEFAULT_F)
CALL check("H5Olink_f", error, total_error)
- ! /* Close IDs for dataset and datatype */
+ ! Close IDs for dataset and datatype
CALL h5dclose_f(dset_id, error)
CALL check("h5dclose_f", error, total_error)
CALL h5tclose_f(type_id, error)
CALL check("h5tclose_f", error, total_error)
- ! /* Re-open datatype using new link */
+ ! Re-open datatype using new link
CALL H5Topen_f(group_id, "datatype", type_id, error)
CALL check("h5topen_f", error, total_error)
- ! /* Link nameless group to root group and close the group ID*/
+ ! Link nameless group to root group and close the group ID
CALL H5Olink_f(group_id, file_id, "/group", error)
CALL check("H5Olink_f", error, total_error)
@@ -198,46 +212,162 @@ SUBROUTINE test_h5o_link(total_error)
CALL h5gclose_f(group_id, error)
CALL check("h5gclose_f",error,total_error)
- ! /* Open dataset through root group and verify its data */
+ ! Open dataset through root group and verify its data
CALL H5Dopen_f(file_id, "/group/inter_group/dataset", dset_id, error)
CALL check("test_lcpl.h5dopen_f", error, total_error)
- ! /* Read data from dataset */
+ ! Read data from dataset
!EP CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, rdata, dims, error, &
!EP H5S_ALL_F, H5S_ALL_F, xfer_prp = H5P_DEFAULT_F)
CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, rdata, dims, error)
CALL check("h5dread_f", error, total_error)
- ! /* Verify the data */
+ ! Verify the data
DO i = 1, TEST6_DIM1
DO j = 1, TEST6_DIM2
CALL VERIFY("H5Dread",wdata(i,j),rdata(i,j),total_error)
ENDDO
ENDDO
- ! /* Close open IDs */
+ ! Close open IDs
CALL h5dclose_f(dset_id, error)
CALL check("h5dclose_f",error,total_error)
CALL h5tclose_f(type_id, error)
CALL check("h5tclose_f",error,total_error)
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f",error,total_error)
- ! /* Close remaining IDs */
+ ! Close remaining IDs
CALL h5sclose_f(space_id, error)
CALL check("h5sclose_f",error,total_error)
CALL h5pclose_f(lcpl_id,error)
CALL check("h5pclose_f", error, total_error)
+ ! *********************
+ ! CHECK H5OCOPY_F
+ ! *********************
+
+ DO i = 1, dim0
+ wdata2(i) = i-1
+ ENDDO
+ !
+ ! Create dataspace. Setting size to be the current size.
+ !
+ CALL h5screate_simple_f(1, dims2, space_id, error)
+ CALL check("h5screate_simple_f", error, total_error)
+ !
+ ! Create intermediate groups
+ !
+ CALL h5gcreate_f(file_id,"/G1",group_id,error)
+ CALL check("h5gcreate_f", error, total_error)
+ CALL h5gcreate_f(file_id,"/G1/G2",group_id,error)
+ CALL check("h5gcreate_f", error, total_error)
+ CALL h5gcreate_f(file_id,"/G1/G2/G3",group_id,error)
+ CALL check("h5gcreate_f", error, total_error)
+ !
+ ! Create the dataset
+ !
+ CALL h5dcreate_f(group_id, dataset, H5T_STD_I32LE, space_id, dset_id, error)
+ CALL check("h5dcreate_f", error, total_error)
+ !
+ ! Write the data to the dataset.
+ !
+ CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, wdata2, dims2, error)
+ CALL check("h5dwrite_f", error, total_error)
+ !
+ ! Close and release resources.
+ !
+ CALL h5dclose_f(dset_id , error)
+ CALL check(" h5dclose_f", error, total_error)
+ CALL h5sclose_f(space_id, error)
+ CALL check("h5sclose_f", error, total_error)
+ CALL h5gclose_f(group_id, error)
+ CALL check("h5gclose_f", error, total_error)
+ !
+ ! create property to pass copy options
+ !
+ CALL h5pcreate_f(H5P_LINK_CREATE_F, lcpl_id, error)
+ CALL check("h5Pcreate_f", error, total_error)
+
+ CALL h5pset_create_inter_group_f(lcpl_id, TRUE, error)
+ CALL check("H5Pset_create_inter_group_f", error, total_error)
+ !
+ ! Check optional parameter lcpl_id, this would fail if lcpl_id was not specified
+ !
+ CALL h5ocopy_f(file_id, "/G1/G2/G3/DS1", file_id, "/G1/G_cp1/DS2", error, lcpl_id=lcpl_id)
+ CALL check("h5ocopy_f -- W/ OPTION: lcpl_id", error ,total_error)
+
+ CALL h5pclose_f(lcpl_id, error)
+ CALL check("h5pclose_f",error,total_error)
+
+ CALL h5pcreate_f(H5P_OBJECT_COPY_F, ocpypl_id, error)
+ CALL check("h5Pcreate_f",error,total_error)
+
+ CALL h5pset_copy_object_f(ocpypl_id, H5O_COPY_SHALLOW_HIERARCHY_F, error)
+ CALL check("H5Pset_copy_object_f",error,total_error)
+
+ CALL h5ocopy_f(file_id, "/G1/G2", file_id, "/G1/G_cp2", error, ocpypl_id=ocpypl_id)
+ CALL check("h5ocopy_f",error,total_error)
+
+ ! Makes sure the "DS1" dataset was not copied since we set a
+ ! flag to copy only immediate members of a group.
+ ! Therefore, this should fail.
+ CALL h5dopen_f(file_id, "/G1/G_cp2/DS1", dset_id, error)
+ IF(error.EQ.0)THEN
+ CALL check("h5ocopy_f -- W/ OPTION: ocpypl_id", -1, total_error)
+ ENDIF
+
+ CALL h5pclose_f(ocpypl_id, error)
+ CALL check("h5pclose_f",error,total_error)
+
+ ! create datatype
+ CALL h5tcopy_f(H5T_NATIVE_INTEGER, tid, error)
+ CALL check("h5tcopy_f", error, total_error)
+
+ ! create named datatype
+ CALL h5tcommit_f(file_id, NAME_DATATYPE_SIMPLE, tid, error)
+ CALL check("h5tcommit_f", error, total_error)
+
+ ! close the datatype
+ CALL h5tclose_f(tid, error)
+ CALL check("h5tclose_f",error)
+
+ CALL h5ocopy_f(file_id, NAME_DATATYPE_SIMPLE, file_id, NAME_DATATYPE_SIMPLE2, error)
+ CALL check("h5ocopy_f",error,total_error)
+
+ ! open the datatype for copy
+ CALL h5topen_f(file_id, NAME_DATATYPE_SIMPLE, tid, error)
+ CALL check("h5topen_f",error,total_error)
+
+ ! open the copied datatype
+ CALL h5topen_f(file_id, NAME_DATATYPE_SIMPLE2, tid2, error)
+ CALL check("h5topen_f",error,total_error)
+
+ ! Compare the datatypes
+ CALL h5tequal_f(tid, tid2, flag, error)
+ IF(.NOT.flag)THEN
+ WRITE(*,*) "h5ocopy_f FAILED"
+ total_error = total_error + 1
+ ENDIF
+
+ ! close the destination datatype
+ CALL h5tclose_f(tid, error)
+ CALL check("h5tclose_f",error,total_error)
+
+ ! close the destination datatype
+ CALL h5tclose_f(tid2, error)
+ CALL check("h5tclose_f",error,total_error)
+
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f",error,total_error)
+
END SUBROUTINE test_h5o_link
-!/****************************************************************
+!***************************************************************
!**
!** test_h5o_plist(): Test object creation properties
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_h5o_plist(total_error)
@@ -246,31 +376,31 @@ SUBROUTINE test_h5o_plist(total_error)
IMPLICIT NONE
INTEGER, INTENT(OUT) :: total_error
- INTEGER(hid_t) :: fid !/* HDF5 File ID */
- INTEGER(hid_t) :: grp, dset, dtype, dspace !/* Object identifiers */
- INTEGER(hid_t) :: fapl !/* File access property list */
- INTEGER(hid_t) :: gcpl, dcpl, tcpl !/* Object creation properties */
- INTEGER :: def_max_compact, def_min_dense !/* Default phase change parameters */
- INTEGER :: max_compact, min_dense !/* Actual phase change parameters */
- INTEGER :: error !/* Value returned from API calls */
+ INTEGER(hid_t) :: fid ! HDF5 File ID
+ INTEGER(hid_t) :: grp, dset, dtype, dspace ! Object identifiers
+ INTEGER(hid_t) :: fapl ! File access property list
+ INTEGER(hid_t) :: gcpl, dcpl, tcpl ! Object creation properties
+ INTEGER :: def_max_compact, def_min_dense ! Default phase change parameters
+ INTEGER :: max_compact, min_dense ! Actual phase change parameters
+ INTEGER :: error ! Value returned from API calls
CHARACTER(LEN=7), PARAMETER :: TEST_FILENAME = 'test.h5'
! PRINT*,'Testing object creation properties'
- !/* Make a FAPL that uses the "use the latest version of the format" flag */
+ ! Make a FAPL that uses the "use the latest version of the format" flag
CALL H5Pcreate_f(H5P_FILE_ACCESS_F, fapl, error)
CALL check("H5Pcreate_f", error, total_error)
- ! /* Set the "use the latest version of the format" bounds for creating objects in the file */
+ ! Set the "use the latest version of the format" bounds for creating objects in the file
CALL H5Pset_libver_bounds_f(fapl, H5F_LIBVER_LATEST_F, H5F_LIBVER_LATEST_F, error)
CALL check("H5Pcreate_f", error, total_error)
- ! /* Create a new HDF5 file */
+ ! Create a new HDF5 file
CALL H5Fcreate_f(TEST_FILENAME, H5F_ACC_TRUNC_F, fid, error, access_prp=fapl)
CALL check("H5Fcreate_f", error, total_error)
- ! /* Create group, dataset & named datatype creation property lists */
+ ! Create group, dataset & named datatype creation property lists
CALL H5Pcreate_f(H5P_GROUP_CREATE_F, gcpl, error)
CALL check("H5Pcreate_f", error, total_error)
CALL H5Pcreate_f(H5P_DATASET_CREATE_F, dcpl, error)
@@ -278,11 +408,11 @@ SUBROUTINE test_h5o_plist(total_error)
CALL H5Pcreate_f(H5P_DATATYPE_CREATE_F, tcpl, error)
CALL check("H5Pcreate_f", error, total_error)
- ! /* Retrieve default attribute phase change values */
+ ! Retrieve default attribute phase change values
CALL H5Pget_attr_phase_change_f(gcpl, def_max_compact, def_min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- ! /* Set non-default attribute phase change values on each creation property list */
+ ! Set non-default attribute phase change values on each creation property list
CALL H5Pset_attr_phase_change_f(gcpl, def_max_compact+1, def_min_dense-1, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
CALL H5Pset_attr_phase_change_f(dcpl, def_max_compact+1, def_min_dense-1, error)
@@ -290,7 +420,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL H5Pset_attr_phase_change_f(tcpl, def_max_compact+1, def_min_dense-1, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- ! /* Retrieve attribute phase change values on each creation property list and verify */
+ ! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
@@ -307,18 +437,18 @@ SUBROUTINE test_h5o_plist(total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
- !/* Create a group, dataset, and committed datatype within the file,
- ! * using the respective type of creation property lists.
- ! */
+ ! Create a group, dataset, and committed datatype within the file,
+ ! using the respective type of creation property lists.
+ !
- !/* Create the group anonymously and link it in */
+ ! Create the group anonymously and link it in
CALL H5Gcreate_anon_f(fid, grp, error, gcpl_id=gcpl)
CALL check("H5Gcreate_anon_f", error, total_error)
CALL H5Olink_f(grp, fid, "group", error)
CALL check("H5Olink_f", error, total_error)
- ! /* Commit the type inside the group anonymously and link it in */
+ ! Commit the type inside the group anonymously and link it in
CALL h5tcopy_f(H5T_NATIVE_INTEGER, dtype, error)
CALL check("h5tcopy_f", error, total_error)
@@ -328,11 +458,11 @@ SUBROUTINE test_h5o_plist(total_error)
CALL H5Olink_f(dtype, fid, "datatype", error)
CALL check("H5Olink_f", error, total_error)
- ! /* Create the dataspace for the dataset. */
+ ! Create the dataspace for the dataset.
CALL h5screate_f(H5S_SCALAR_F, dspace, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create the dataset anonymously and link it in */
+ ! Create the dataset anonymously and link it in
CALL H5Dcreate_anon_f(fid, H5T_NATIVE_INTEGER, dspace, dset, error, dcpl )
CALL check("H5Dcreate_anon_f",error,total_error)
@@ -343,7 +473,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL check("h5sclose_f",error,total_error)
- ! /* Close current creation property lists */
+ ! Close current creation property lists
CALL h5pclose_f(gcpl,error)
CALL check("h5pclose_f", error, total_error)
CALL h5pclose_f(dcpl,error)
@@ -351,7 +481,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL h5pclose_f(tcpl,error)
CALL check("h5pclose_f", error, total_error)
- ! /* Retrieve each object's creation property list */
+ ! Retrieve each object's creation property list
CALL H5Gget_create_plist_f(grp, gcpl, error)
CALL check("H5Gget_create_plist", error, total_error)
@@ -363,7 +493,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL check("H5Dget_create_plist_f", error, total_error)
- ! /* Retrieve attribute phase change values on each creation property list and verify */
+ ! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
@@ -380,7 +510,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
- !/* Close current objects */
+ ! Close current objects
CALL h5pclose_f(gcpl,error)
CALL check("h5pclose_f", error, total_error)
@@ -398,11 +528,11 @@ SUBROUTINE test_h5o_plist(total_error)
CALL check("h5dclose_f",error,total_error)
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open the file and check that the object creation properties persist */
+ ! Re-open the file and check that the object creation properties persist
CALL h5fopen_f(TEST_FILENAME, H5F_ACC_RDONLY_F, fid, error, access_prp=fapl)
CALL check("H5fopen_f",error,total_error)
- ! /* Re-open objects */
+ ! Re-open objects
CALL H5Gopen_f(fid, "group", grp, error)
CALL check("h5gopen_f", error, total_error)
@@ -412,7 +542,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL H5Dopen_f(fid, "dataset", dset, error)
CALL check("h5dopen_f", error, total_error)
- ! /* Retrieve each object's creation property list */
+ ! Retrieve each object's creation property list
CALL H5Gget_create_plist_f(grp, gcpl, error)
CALL check("H5Gget_create_plist", error, total_error)
@@ -423,7 +553,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL check("H5Dget_create_plist_f", error, total_error)
- ! /* Retrieve attribute phase change values on each creation property list and verify */
+ ! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
@@ -440,7 +570,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
- ! /* Close current objects */
+ ! Close current objects
CALL h5pclose_f(gcpl,error)
CALL check("h5pclose_f", error, total_error)
@@ -459,7 +589,7 @@ SUBROUTINE test_h5o_plist(total_error)
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Close the FAPL */
+ ! Close the FAPL
CALL H5Pclose_f(fapl, error)
CALL check("H5Pclose_f", error, total_error)