summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVailin Choi <vchoi@hdfgroup.org>2015-04-22 22:31:12 (GMT)
committerVailin Choi <vchoi@hdfgroup.org>2015-04-22 22:31:12 (GMT)
commite0e28a7aae2fabf3ae9d03a1bd5809176935466a (patch)
treea6b840f4c13522aecdd504d16ee5a265e2abad27
parent65b3bc2a937337239ceede5e39261c6b2ba4dc69 (diff)
downloadhdf5-e0e28a7aae2fabf3ae9d03a1bd5809176935466a.zip
hdf5-e0e28a7aae2fabf3ae9d03a1bd5809176935466a.tar.gz
hdf5-e0e28a7aae2fabf3ae9d03a1bd5809176935466a.tar.bz2
[svn-r26894] Bring revisions #26459 - #26785 from trunk to revise_chunks.
h5committested.
-rw-r--r--CMakeFilters.cmake24
-rw-r--r--CMakeInstallation.cmake44
-rw-r--r--CMakeLists.txt63
-rw-r--r--COPYING2
-rw-r--r--MANIFEST15
-rw-r--r--Makefile.am10
-rw-r--r--Makefile.in15
-rw-r--r--README.txt2
-rwxr-xr-xbin/buildhdf513
-rwxr-xr-xbin/cmakehdf526
-rwxr-xr-xbin/locate_sw57
-rwxr-xr-xbin/release26
-rwxr-xr-xbin/snapshot4
-rw-r--r--c++/Makefile.in5
-rw-r--r--c++/examples/CMakeLists.txt4
-rw-r--r--c++/examples/Makefile.in5
-rw-r--r--c++/examples/run-c++-ex.sh.in2
-rw-r--r--c++/src/CMakeLists.txt2
-rw-r--r--c++/src/H5AbstractDs.cpp41
-rw-r--r--c++/src/H5AbstractDs.h1
-rw-r--r--c++/src/H5ArrayType.h1
-rw-r--r--c++/src/H5Attribute.cpp8
-rw-r--r--c++/src/H5Attribute.h23
-rw-r--r--c++/src/H5CommonFG.cpp127
-rw-r--r--c++/src/H5CommonFG.h10
-rw-r--r--c++/src/H5CompType.cpp10
-rw-r--r--c++/src/H5DataSet.cpp8
-rw-r--r--c++/src/H5DataSet.h5
-rw-r--r--c++/src/H5DataSpace.cpp1
-rw-r--r--c++/src/H5DataSpace.h3
-rw-r--r--c++/src/H5DataType.cpp42
-rw-r--r--c++/src/H5DataType.h6
-rw-r--r--c++/src/H5FaccProp.cpp65
-rw-r--r--c++/src/H5FaccProp.h7
-rw-r--r--c++/src/H5File.cpp45
-rw-r--r--c++/src/H5File.h7
-rw-r--r--c++/src/H5Group.cpp1
-rw-r--r--c++/src/H5IdComponent.cpp5
-rw-r--r--c++/src/H5IdComponent.h1
-rw-r--r--c++/src/H5Include.h12
-rw-r--r--c++/src/H5IntType.h2
-rw-r--r--c++/src/H5Location.cpp58
-rw-r--r--c++/src/H5Location.h6
-rw-r--r--c++/src/H5PropList.cpp1
-rw-r--r--c++/src/H5VarLenType.h1
-rw-r--r--c++/src/Makefile.am6
-rw-r--r--c++/src/Makefile.in12
-rw-r--r--c++/src/h5c++.in2
-rw-r--r--c++/test/CMakeLists.txt2
-rw-r--r--c++/test/Makefile.am6
-rw-r--r--c++/test/Makefile.in10
-rw-r--r--c++/test/dsets.cpp8
-rw-r--r--c++/test/tattr.cpp16
-rw-r--r--c++/test/tcompound.cpp2
-rw-r--r--c++/test/tfile.cpp142
-rw-r--r--c++/test/tobject.cpp26
-rw-r--r--c++/test/ttypes.cpp21
-rw-r--r--config/cce-fflags73
-rw-r--r--config/cce-flags79
-rw-r--r--config/cmake/ConfigureChecks.cmake156
-rw-r--r--config/cmake/ConversionTests.c367
-rw-r--r--config/cmake/H5pubconf.h.in78
-rw-r--r--config/cmake/HDF518_Examples.cmake.in12
-rw-r--r--config/cmake/README.txt.cmake.in8
-rw-r--r--config/cmake/cacheinit.cmake8
-rw-r--r--config/cmake/hdf5-config.cmake.in157
-rw-r--r--config/craynv198
-rw-r--r--config/dec-flags150
-rw-r--r--config/hpux11.2396
-rw-r--r--config/ia64-linux-gnu144
-rw-r--r--config/irix6.x178
-rw-r--r--config/linux-gnulibc124
-rw-r--r--config/lt_vers.am2
-rw-r--r--config/nec-superux14.1179
-rw-r--r--config/sv1-cray199
-rw-r--r--config/x86_64-redstorm-linux-gnu164
-rwxr-xr-xconfigure2175
-rw-r--r--configure.ac1355
-rw-r--r--examples/CMakeLists.txt4
-rw-r--r--examples/Makefile.in5
-rw-r--r--examples/run-c-ex.sh.in2
-rw-r--r--fortran/Makefile.in5
-rw-r--r--fortran/examples/CMakeLists.txt49
-rw-r--r--fortran/examples/Makefile.in5
-rw-r--r--fortran/examples/run-fortran-ex.sh.in2
-rw-r--r--fortran/src/CMakeLists.txt143
-rw-r--r--fortran/src/H5Df.c8
-rw-r--r--fortran/src/H5Ff.c9
-rw-r--r--fortran/src/H5Gf.c2
-rw-r--r--fortran/src/H5Lf.c15
-rw-r--r--fortran/src/H5Of.c7
-rw-r--r--fortran/src/H5Pf.c27
-rw-r--r--fortran/src/H5Pff.f90116
-rw-r--r--fortran/src/H5Rf.c4
-rw-r--r--fortran/src/H5Rff_F03.f906
-rw-r--r--fortran/src/H5Sf.c21
-rw-r--r--fortran/src/H5Tf.c331
-rw-r--r--fortran/src/H5f90proto.h2
-rw-r--r--fortran/src/Makefile.in7
-rw-r--r--fortran/src/README4
-rw-r--r--fortran/src/h5fc.in2
-rw-r--r--fortran/test/CMakeLists.txt58
-rw-r--r--fortran/test/Makefile.in5
-rw-r--r--fortran/test/fortranlib_test_1_8.f908
-rw-r--r--fortran/test/t.h2
-rw-r--r--fortran/test/tH5A.f902
-rw-r--r--fortran/test/tH5A_1_8.f90688
-rw-r--r--fortran/test/tH5E_F03.f908
-rw-r--r--fortran/test/tH5F.f902
-rw-r--r--fortran/test/tH5G_1_8.f90620
-rw-r--r--fortran/test/tH5MISC_1_8.f9080
-rw-r--r--fortran/test/tH5O.f908
-rw-r--r--fortran/test/tH5O_F03.f904
-rw-r--r--fortran/test/tH5P.f902
-rw-r--r--fortran/test/tH5P_F03.f9099
-rw-r--r--fortran/test/tH5Sselect.f90340
-rw-r--r--fortran/test/tH5T.f9026
-rw-r--r--fortran/test/tH5T_F03.f904
-rw-r--r--fortran/test/tH5VL.f901
-rw-r--r--fortran/test/tf.f9016
-rw-r--r--fortran/testpar/CMakeLists.txt5
-rw-r--r--fortran/testpar/Makefile.in5
-rw-r--r--hl/CMakeLists.txt4
-rw-r--r--hl/Makefile.am2
-rw-r--r--hl/Makefile.in7
-rw-r--r--hl/c++/Makefile.in5
-rw-r--r--hl/c++/examples/CMakeLists.txt2
-rw-r--r--hl/c++/examples/Makefile.in5
-rw-r--r--hl/c++/examples/run-hlc++-ex.sh.in2
-rw-r--r--hl/c++/src/CMakeLists.txt2
-rw-r--r--hl/c++/src/Makefile.am6
-rw-r--r--hl/c++/src/Makefile.in12
-rw-r--r--hl/c++/test/CMakeLists.txt2
-rw-r--r--hl/c++/test/Makefile.am6
-rw-r--r--hl/c++/test/Makefile.in10
-rw-r--r--hl/examples/CMakeLists.txt2
-rw-r--r--hl/examples/Makefile.in5
-rw-r--r--hl/examples/run-hlc-ex.sh.in2
-rw-r--r--hl/fortran/Makefile.in5
-rw-r--r--hl/fortran/examples/CMakeLists.txt4
-rw-r--r--hl/fortran/examples/Makefile.in5
-rw-r--r--hl/fortran/examples/run-hlfortran-ex.sh.in2
-rw-r--r--hl/fortran/src/CMakeLists.txt48
-rw-r--r--hl/fortran/src/Makefile.in7
-rw-r--r--hl/fortran/test/CMakeLists.txt12
-rw-r--r--hl/fortran/test/Makefile.in5
-rw-r--r--hl/src/CMakeLists.txt2
-rw-r--r--hl/src/H5DS.c64
-rw-r--r--hl/src/Makefile.in7
-rw-r--r--hl/test/CMakeLists.txt6
-rw-r--r--hl/test/Makefile.in5
-rw-r--r--hl/tools/CMakeLists.txt8
-rw-r--r--hl/tools/CMakeTests.cmake20
-rw-r--r--hl/tools/Makefile.in5
-rw-r--r--hl/tools/gif2h5/Makefile.in5
-rw-r--r--hl/tools/gif2h5/decompress.c2
-rw-r--r--hl/tools/gif2h5/gif2mem.c10
-rw-r--r--hl/tools/gif2h5/h52gifgentst.c8
-rw-r--r--hl/tools/gif2h5/h52giftest.sh.in75
-rw-r--r--hl/tools/gif2h5/hdf2gif.c21
-rw-r--r--hl/tools/gif2h5/hdfgifwr.c8
-rw-r--r--hl/tools/gif2h5/testfiles/REAMDE6
-rw-r--r--hl/tools/gif2h5/testfiles/ex_image2.h5bin0 -> 224533 bytes
-rw-r--r--hl/tools/h5watch/Makefile.in5
-rw-r--r--release_docs/INSTALL_CMake.txt18
-rw-r--r--release_docs/INSTALL_parallel119
-rw-r--r--release_docs/RELEASE.txt2
-rw-r--r--release_docs/USING_CMake_Examples.txt10
-rw-r--r--release_docs/USING_HDF5_CMake.txt2
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/H5A.c8
-rw-r--r--src/H5AC.c131
-rw-r--r--src/H5ACprivate.h10
-rw-r--r--src/H5Aint.c10
-rw-r--r--src/H5Apkg.h4
-rw-r--r--src/H5D.c2
-rw-r--r--src/H5Dchunk.c78
-rw-r--r--src/H5Dcontig.c4
-rw-r--r--src/H5Ddbg.c2
-rw-r--r--src/H5Ddeprec.c2
-rw-r--r--src/H5Dfill.c2
-rw-r--r--src/H5Dio.c2
-rw-r--r--src/H5Dpkg.h4
-rw-r--r--src/H5E.c16
-rw-r--r--src/H5Eint.c16
-rw-r--r--src/H5Eprivate.h2
-rw-r--r--src/H5Epublic.h2
-rw-r--r--src/H5FDmpio.c48
-rw-r--r--src/H5Fprivate.h2
-rw-r--r--src/H5G.c2
-rw-r--r--src/H5Gdeprec.c4
-rw-r--r--src/H5Gtest.c78
-rw-r--r--src/H5HGpkg.h19
-rw-r--r--src/H5O.c13
-rw-r--r--src/H5Ocopy.c14
-rw-r--r--src/H5Olayout.c1
-rw-r--r--src/H5Pfcpl.c6
-rw-r--r--src/H5R.c4
-rw-r--r--src/H5RS.c4
-rw-r--r--src/H5RSprivate.h2
-rw-r--r--src/H5Rdeprec.c2
-rw-r--r--src/H5S.c6
-rw-r--r--src/H5Sdbg.c1
-rw-r--r--src/H5T.c412
-rw-r--r--src/H5TS.c2
-rw-r--r--src/H5TSprivate.h2
-rw-r--r--src/H5Tcommit.c2
-rw-r--r--src/H5Tconv.c76
-rw-r--r--src/H5Tdeprec.c2
-rw-r--r--src/H5Tnative.c2
-rw-r--r--src/H5Tpkg.h117
-rw-r--r--src/H5VM.c3
-rw-r--r--src/H5VMprivate.h29
-rw-r--r--src/H5Ztrans.c37
-rw-r--r--src/H5api_adpt.h196
-rw-r--r--src/H5config.h.in71
-rw-r--r--src/H5private.h7
-rw-r--r--src/H5public.h4
-rw-r--r--src/Makefile.in7
-rw-r--r--test/CMakeLists.txt28
-rw-r--r--test/CMakeTests.cmake4
-rw-r--r--test/Makefile.in5
-rw-r--r--test/dsets.c14
-rw-r--r--test/dt_arith.c285
-rw-r--r--test/dtransform.c23
-rw-r--r--test/flush2.c4
-rw-r--r--test/gen_filespace.c3
-rw-r--r--test/gen_plist.c4
-rw-r--r--test/getname.c59
-rw-r--r--test/plugin.c17
-rw-r--r--test/th5s.c28
-rw-r--r--test/tmisc.c12
-rw-r--r--test/ttsafe_cancel.c7
-rw-r--r--testpar/CMakeLists.txt4
-rw-r--r--testpar/Makefile.in5
-rw-r--r--tools/Makefile.in5
-rw-r--r--tools/h5copy/CMakeLists.txt6
-rw-r--r--tools/h5copy/Makefile.in5
-rw-r--r--tools/h5diff/CMakeLists.txt8
-rw-r--r--tools/h5diff/Makefile.in5
-rw-r--r--tools/h5dump/CMakeLists.txt6
-rw-r--r--tools/h5dump/CMakeTests.cmake20
-rw-r--r--tools/h5dump/CMakeTestsXML.cmake8
-rw-r--r--tools/h5dump/Makefile.in5
-rw-r--r--tools/h5dump/binread.c66
-rw-r--r--tools/h5dump/testh5dump.sh.in17
-rw-r--r--tools/h5dump/testh5dumpxml.sh.in12
-rw-r--r--tools/h5import/CMakeLists.txt4
-rw-r--r--tools/h5import/Makefile.in5
-rw-r--r--tools/h5jam/CMakeLists.txt10
-rw-r--r--tools/h5jam/Makefile.in5
-rw-r--r--tools/h5ls/CMakeLists.txt2
-rw-r--r--tools/h5ls/Makefile.in5
-rw-r--r--tools/h5repack/CMakeLists.txt12
-rw-r--r--tools/h5repack/CMakeTests.cmake130
-rw-r--r--tools/h5repack/Makefile.in5
-rw-r--r--tools/h5repack/h5repack.sh.in8
-rw-r--r--tools/h5repack/testfiles/README5
-rw-r--r--tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5bin0 -> 273992 bytes
-rw-r--r--tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5bin0 -> 120630 bytes
-rw-r--r--tools/h5stat/CMakeLists.txt6
-rw-r--r--tools/h5stat/Makefile.in5
-rw-r--r--tools/lib/CMakeLists.txt4
-rw-r--r--tools/lib/Makefile.in5
-rw-r--r--tools/lib/h5tools_str.c6
-rw-r--r--tools/lib/h5tools_utils.c19
-rw-r--r--tools/lib/h5tools_utils.h6
-rw-r--r--tools/misc/CMakeLists.txt12
-rw-r--r--tools/misc/Makefile.in5
-rw-r--r--tools/misc/h5cc.in2
-rw-r--r--tools/perform/CMakeLists.txt30
-rw-r--r--tools/perform/Makefile.in5
272 files changed, 3695 insertions, 8944 deletions
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake
index bd39dd3..7050f87 100644
--- a/CMakeFilters.cmake
+++ b/CMakeFilters.cmake
@@ -1,16 +1,4 @@
-#-----------------------------------------------------------------------------
-# Options for HDF5 Filters
-#-----------------------------------------------------------------------------
-MACRO (HDF5_SETUP_FILTERS FILTER)
- option (HDF5_USE_FILTER_${FILTER} "Use the ${FILTER} Filter" ON)
- if (HDF5_USE_FILTER_${FILTER})
- set (H5_HAVE_FILTER_${FILTER} 1)
- set (FILTERS "${FILTERS} ${FILTER}")
- endif (HDF5_USE_FILTER_${FILTER})
- # message (STATUS "Filter ${FILTER} is ${HDF5_USE_FILTER_${FILTER}}")
-ENDMACRO (HDF5_SETUP_FILTERS)
-
include (ExternalProject)
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO SVN TGZ)" "NO")
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO SVN TGZ)")
@@ -19,8 +7,8 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1)
option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
- set (ZLIB_URL ${ZLIB_SVN_URL})
- set (SZIP_URL ${SZIP_SVN_URL})
+ set (ZLIB_URL ${ZLIB_SVN_URL} CACHE STRING "Path to zlib Subversion repository")
+ set (SZIP_URL ${SZIP_SVN_URL} CACHE STRING "Path to szip Subversion repository")
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (NOT TGZPATH)
set (TGZPATH ${HDF5_SOURCE_DIR})
@@ -43,6 +31,9 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
if (NOT ZLIB_FOUND)
find_package (ZLIB) # Legacy find
+ if (ZLIB_FOUND)
+ set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
+ endif (ZLIB_FOUND)
endif (NOT ZLIB_FOUND)
endif (NOT ZLIB_USE_EXTERNAL)
if (ZLIB_FOUND)
@@ -51,7 +42,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (H5_HAVE_LIBZ 1)
set (H5_ZLIB_HEADER "zlib.h")
set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
- set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
+ set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
else (ZLIB_FOUND)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
@@ -87,6 +78,9 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
if (NOT SZIP_FOUND)
find_package (SZIP) # Legacy find
+ if (SZIP_FOUND)
+ set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
+ endif (SZIP_FOUND)
endif (NOT SZIP_FOUND)
endif (NOT SZIP_USE_EXTERNAL)
if (SZIP_FOUND)
diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake
index 1df5311..0380adc 100644
--- a/CMakeInstallation.cmake
+++ b/CMakeInstallation.cmake
@@ -176,9 +176,17 @@ if (HDF5_PACK_EXAMPLES)
COMPONENT hdfdocuments
)
if (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
+ )
+ install (
+ DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples-0.1.1-Source
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}
+ USE_SOURCE_PERMISSIONS
+ COMPONENT hdfdocuments
+ )
install (
FILES
- ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
${HDF5_SOURCE_DIR}/release_docs/USING_CMake_Examples.txt
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
@@ -363,8 +371,9 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set(CPACK_WIX_PROPERTY_ARPCOMMENTS "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${HDF5_PACKAGE_URL}")
set(CPACK_WIX_PROPERTY_ARPHELPLINK "${HDF5_PACKAGE_BUGREPORT}")
-
- set(CPACK_WIX_PATCH_FILE "${HDF_RESOURCES_DIR}/patch.xml")
+ if (BUILD_SHARED_LIBS)
+ set(CPACK_WIX_PATCH_FILE "${HDF_RESOURCES_DIR}/patch.xml")
+ endif (BUILD_SHARED_LIBS)
elseif (APPLE)
list (APPEND CPACK_GENERATOR "DragNDrop")
set (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
@@ -380,7 +389,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_BUNDLE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns")
set (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
set (CPACK_APPLE_GUI_INFO_STRING "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
- set (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2014 by The HDF Group. All rights reserved.")
+ set (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2015 by The HDF Group. All rights reserved.")
set (CPACK_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
set (CPACK_APPLE_GUI_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
set (CPACK_APPLE_GUI_VERSION_STRING "${CPACK_PACKAGE_VERSION_STRING}")
@@ -472,7 +481,10 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
cpack_add_component_group(Runtime)
- cpack_add_component_group(Documents)
+ cpack_add_component_group(Documents
+ EXPANDED
+ DESCRIPTION "Release notes for developing HDF5 applications"
+ )
cpack_add_component_group(Development
EXPANDED
@@ -487,28 +499,27 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
#---------------------------------------------------------------------------
# Now list the cpack commands
#---------------------------------------------------------------------------
- CPACK_ADD_COMPONENT (hdfapplications
- DISPLAY_NAME "HDF5 Applications"
- DEPENDS libraries
- GROUP Applications
- )
CPACK_ADD_COMPONENT (libraries
DISPLAY_NAME "HDF5 Libraries"
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (headers
DISPLAY_NAME "HDF5 Headers"
DEPENDS libraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hdfdocuments
DISPLAY_NAME "HDF5 Documents"
GROUP Documents
+ INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (configinstall
DISPLAY_NAME "HDF5 CMake files"
DEPENDS libraries
GROUP Development
+ INSTALL_TYPES Full Developer User
)
if (HDF5_BUILD_FORTRAN)
@@ -516,11 +527,13 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
DISPLAY_NAME "HDF5 Fortran Libraries"
DEPENDS libraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (fortheaders
DISPLAY_NAME "HDF5 Fortran Headers"
DEPENDS fortlibraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_FORTRAN)
@@ -529,11 +542,13 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
DISPLAY_NAME "HDF5 C++ Libraries"
DEPENDS libraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (cppheaders
DISPLAY_NAME "HDF5 C++ Headers"
DEPENDS cpplibraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_CPP_LIB)
@@ -542,16 +557,19 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
DISPLAY_NAME "HDF5 Tools Applications"
DEPENDS toolslibraries
GROUP Applications
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolslibraries
DISPLAY_NAME "HDF5 Tools Libraries"
DEPENDS libraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolsheaders
DISPLAY_NAME "HDF5 Tools Headers"
DEPENDS toolslibraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_TOOLS)
@@ -560,31 +578,37 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
DISPLAY_NAME "HDF5 HL Libraries"
DEPENDS libraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlheaders
DISPLAY_NAME "HDF5 HL Headers"
DEPENDS hllibraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hltoolsapplications
DISPLAY_NAME "HDF5 HL Tools Applications"
DEPENDS hllibraries
GROUP Applications
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlcpplibraries
DISPLAY_NAME "HDF5 HL C++ Libraries"
DEPENDS hllibraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlcppheaders
DISPLAY_NAME "HDF5 HL C++ Headers"
DEPENDS hlcpplibraries
GROUP Development
+ INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hlfortlibraries
DISPLAY_NAME "HDF5 HL Fortran Libraries"
DEPENDS fortlibraries
GROUP Runtime
+ INSTALL_TYPES Full Developer User
)
endif (HDF5_BUILD_HL_LIB)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a09ab1a..a6994ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -283,8 +283,8 @@ if (BUILD_SHARED_LIBS)
else (BUILD_SHARED_LIBS)
set (H5_BUILT_AS_STATIC_LIB 1)
set (H5_ENABLE_STATIC_LIB YES)
- set (CMAKE_POSITION_INDEPENDENT_CODE ON)
endif (BUILD_SHARED_LIBS)
+set (CMAKE_POSITION_INDEPENDENT_CODE ON)
#-----------------------------------------------------------------------------
# Option to Build Static executables
@@ -369,10 +369,11 @@ endif (MAKE_SYSTEM)
#-----------------------------------------------------------------------------
# Add some definitions for Debug Builds
#-----------------------------------------------------------------------------
+option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
+mark_as_advanced (HDF5_ENABLE_TRACE)
if (CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions (-DDEBUG)
# Enable tracing of the API
- option (HDF5_ENABLE_TRACE "Enable API tracing capability" ON)
if (HDF5_ENABLE_TRACE)
add_definitions (-DH5_DEBUG_API )
endif (HDF5_ENABLE_TRACE)
@@ -381,14 +382,13 @@ if (CMAKE_BUILD_TYPE MATCHES Debug)
if (HDF5_ENABLE_INSTRUMENT)
set (H5_HAVE_INSTRUMENTED_LIBRARY 1)
endif (HDF5_ENABLE_INSTRUMENT)
- mark_as_advanced (HDF5_Enable_Instrument)
+ mark_as_advanced (HDF5_ENABLE_INSTRUMENT)
#-- NMake Makefiles will overwhelm the console with warnings if -Wall is used.
if (NOT WIN32)
add_definitions (-Wall)
endif (NOT WIN32)
else (CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions (-DNDEBUG)
- option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
if (HDF5_ENABLE_TRACE)
add_definitions (-DH5_DEBUG_API )
endif (HDF5_ENABLE_TRACE)
@@ -685,6 +685,9 @@ endif (HDF5_USE_18_API_DEFAULT)
#-----------------------------------------------------------------------------
include (UserMacros.cmake)
+#-----------------------------------------------------------------------------
+# Include filter (zlib, szip, etc.) macros
+#-----------------------------------------------------------------------------
include (CMakeFilters.cmake)
#-----------------------------------------------------------------------------
@@ -792,6 +795,27 @@ if (BUILD_TESTING)
endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
+# Option to build examples
+#-----------------------------------------------------------------------------
+if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
+ option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON)
+ if (HDF5_BUILD_EXAMPLES)
+ add_subdirectory (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
+ endif (HDF5_BUILD_EXAMPLES)
+endif (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
+
+#-----------------------------------------------------------------------------
+# Option to build High Level API's
+#-----------------------------------------------------------------------------
+if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
+ option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON)
+ if (HDF5_BUILD_HL_LIB)
+ set (H5_INCLUDE_HL 1)
+ add_subdirectory (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
+ endif (HDF5_BUILD_HL_LIB)
+endif (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
+
+#-----------------------------------------------------------------------------
# Option to build Fortran bindings/tests/examples
# Make sure this appears before the CONFIGURE_FILE step
# so that fortran name mangling is detected before writing H5pubconf.h
@@ -829,20 +853,10 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
endif (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
#-----------------------------------------------------------------------------
-# Option to build examples
-#-----------------------------------------------------------------------------
-if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
- option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF)
- if (HDF5_BUILD_EXAMPLES)
- add_subdirectory (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
- endif (HDF5_BUILD_EXAMPLES)
-endif (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
-
-#-----------------------------------------------------------------------------
# Option to build HDF5 C++ Library
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
- option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
+ option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" ON)
if (HDF5_BUILD_CPP_LIB)
# check for unsupported options
if (HDF5_ENABLE_PARALLEL)
@@ -852,6 +866,12 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
set (H5_NO_STD 1)
endif (CMAKE_NO_STD_NAMESPACE)
add_subdirectory (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
+ if (HDF5_BUILD_HL_LIB)
+ if (EXISTS "${HDF5_SOURCE_DIR}/hl/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/c++")
+ #-- Build the High Level Fortran source codes
+ add_subdirectory (${HDF5_SOURCE_DIR}/hl/c++ ${PROJECT_BINARY_DIR}/hl/c++)
+ endif (EXISTS "${HDF5_SOURCE_DIR}/hl/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/c++")
+ endif (HDF5_BUILD_HL_LIB)
endif (HDF5_BUILD_CPP_LIB)
endif (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
@@ -859,24 +879,13 @@ endif (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++"
# Option to build HDF5 Tools
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
- option (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF)
+ option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON)
if (HDF5_BUILD_TOOLS)
add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
endif (HDF5_BUILD_TOOLS)
endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
#-----------------------------------------------------------------------------
-# Option to build High Level API's
-#-----------------------------------------------------------------------------
-if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
- option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF)
- if (HDF5_BUILD_HL_LIB)
- set (H5_INCLUDE_HL 1)
- add_subdirectory (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
- endif (HDF5_BUILD_HL_LIB)
-endif (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
-
-#-----------------------------------------------------------------------------
# Check if Fortran's default real is double precision. If it is and HL is
# being built then configure should fail due to bug HDFFV-889.
#-----------------------------------------------------------------------------
diff --git a/COPYING b/COPYING
index b48d527..8428f33 100644
--- a/COPYING
+++ b/COPYING
@@ -4,7 +4,7 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
-----------------------------------------------------------------------------
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
-Copyright 2006-2014 by The HDF Group.
+Copyright 2006-2015 by The HDF Group.
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
diff --git a/MANIFEST b/MANIFEST
index 70394e7..ee8b211 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -88,37 +88,31 @@
./config/COPYING
./config/BlankForm
./config/apple
+./config/cce-fflags
+./config/cce-flags
./config/commence.am
./config/conclude.am
-./config/craynv
-./config/dec-flags
./config/examples.am
./config/freebsd
./config/gnu-fflags
./config/gnu-flags
-./config/hpux11.23
./config/i386-pc-cygwin32
./config/i686-pc-cygwin
-./config/ia64-linux-gnu
./config/ibm-aix
./config/ibm-flags
./config/intel-fflags
./config/intel-flags
-./config/irix6.x
./config/linux-gnu
./config/linux-gnuaout
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/lt_vers.am
-./config/nec-superux14.1
./config/Makefile.am.blank
./config/pgi-fflags
./config/pgi-flags
./config/powerpc-ibm-aix5.x
./config/solaris2.x
-./config/sv1-cray
./config/x86_64-pc-cygwin
-./config/x86_64-redstorm-linux-gnu
./config/site-specific/BlankForm
@@ -2182,6 +2176,7 @@
./tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5
#test files for h5repack
+./tools/h5repack/testfiles/README
./tools/h5repack/testfiles/h5repack_attr.h5
./tools/h5repack/testfiles/h5repack_attr_refs.h5
./tools/h5repack/testfiles/h5repack_deflate.h5
@@ -2199,6 +2194,8 @@
./tools/h5repack/testfiles/h5repack_layout3.h5
./tools/h5repack/testfiles/h5repack_layout.UD.h5
./tools/h5repack/testfiles/h5repack_named_dtypes.h5
+./tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
+./tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
./tools/h5repack/testfiles/h5repack_nbit.h5
./tools/h5repack/testfiles/h5repack_objs.h5
./tools/h5repack/testfiles/h5repack_refs.h5
@@ -2402,6 +2399,8 @@
./hl/tools/gif2h5/writehdf.c
./hl/tools/gif2h5/h52gifgentst.c
./hl/tools/gif2h5/h52giftest.sh.in
+./hl/tools/gif2h5/testfiles/REAMDE
+./hl/tools/gif2h5/testfiles/ex_image2.h5
./hl/tools/gif2h5/testfiles/image1.gif
./hl/tools/gif2h5/testfiles/h52giftst.h5
#
diff --git a/Makefile.am b/Makefile.am
index 0bef022..c34f2cd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -87,7 +87,7 @@ CHECK_CLEANFILES+=*-tmp
test _test: check
lib progs check-p check-s:
- @@SETX@; for d in $(SUBDIRS); do \
+ for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -95,7 +95,7 @@ lib progs check-p check-s:
# Make all, tests, and (un)install
tests:
- @@SETX@; for d in $(SUBDIRS); do \
+ for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -103,7 +103,7 @@ tests:
# Check-clean also recurses into examples directory
check-clean:
- @@SETX@; for d in $(SUBDIRS) examples; do \
+ for d in $(SUBDIRS) examples; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -130,7 +130,7 @@ uninstall-all:
# Install examples in this directory and recursively
install-examples uninstall-examples:
- @@SETX@; for d in examples $(HDF5_INTERFACES) $(HL); do \
+ for d in examples $(HDF5_INTERFACES) $(HL); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
@@ -177,7 +177,7 @@ trace:
# Run tests with different Virtual File Drivers.
# Currently, only invoke check-vfd in the test directory.
check-vfd:
- @@SETX@; for d in src test; do \
+ for d in src test; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
diff --git a/Makefile.in b/Makefile.in
index 1b6b590..edee230 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -245,7 +245,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -277,7 +276,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -301,11 +299,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -368,7 +364,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -1006,7 +1001,7 @@ help:
test _test: check
lib progs check-p check-s:
- @@SETX@; for d in $(SUBDIRS); do \
+ for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -1014,7 +1009,7 @@ lib progs check-p check-s:
# Make all, tests, and (un)install
tests:
- @@SETX@; for d in $(SUBDIRS); do \
+ for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -1022,7 +1017,7 @@ tests:
# Check-clean also recurses into examples directory
check-clean:
- @@SETX@; for d in $(SUBDIRS) examples; do \
+ for d in $(SUBDIRS) examples; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -1049,7 +1044,7 @@ uninstall-all:
# Install examples in this directory and recursively
install-examples uninstall-examples:
- @@SETX@; for d in examples $(HDF5_INTERFACES) $(HL); do \
+ for d in examples $(HDF5_INTERFACES) $(HL); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
@@ -1096,7 +1091,7 @@ trace:
# Run tests with different Virtual File Drivers.
# Currently, only invoke check-vfd in the test directory.
check-vfd:
- @@SETX@; for d in src test; do \
+ for d in src test; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
diff --git a/README.txt b/README.txt
index f2b6d02..5de45c1 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.216-swmr0 currently under development
+HDF5 version 1.9.217-swmr0 currently under development
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
diff --git a/bin/buildhdf5 b/bin/buildhdf5
index 8ed4696..3a4b0d3 100755
--- a/bin/buildhdf5
+++ b/bin/buildhdf5
@@ -159,19 +159,6 @@ LOCATE_SZLIB()
HP-UX)
szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/HPUX-11.00"
;;
- IRIX)
- szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5-32bit"
- ;;
- IRIX64)
- case "$CC" in
- *-n32)
- szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5-32bit"
- ;;
- *)
- szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5"
- ;;
- esac
- ;;
Linux)
case `uname -m` in
i686)
diff --git a/bin/cmakehdf5 b/bin/cmakehdf5
index c092545..1f0fb7c 100755
--- a/bin/cmakehdf5
+++ b/bin/cmakehdf5
@@ -45,9 +45,12 @@ fi
cacheinit=$srcdir/config/cmake/cacheinit.cmake
build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF # C++ interface default off
build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF # Fortran interface default off
+enable_f2003=-DHDF5_ENABLE_F2003:BOOL=OFF # Fortran2003 interface default off
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON # High Level interface default on
build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on
+with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT=ON # enable zlib filter default on
+with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT=OFF # enables zlib filter default off
#=============
@@ -71,6 +74,8 @@ Usage: $progname [<options>]
where options are:
--enable-fortran | --disable-fortran:
enable or disable fortran API. Default is off.
+ --enable-fortran2003 | --disable-fortran2003:
+ enable or disable fortran2003 API. Default is off.
--enable-cxx | --disable-cxx:
enable or disable c++ API. Default is off.
--enable-hl | --disable-hl:
@@ -79,6 +84,12 @@ Usage: $progname [<options>]
enable or disable building tools. Default is on.
--enable-testing | --disable-testing:
enable or disable building tests. Default is on.
+ --with-zlib=INC,LIB | --without-zlib:
+ Use zlib library for external deflate I/O filter. Default is on.
+ INC and LIB are the include and lib directories.
+ --with-szlib=INC,LIB| --without-szlib:
+ Use szip library for external szip library I/O filter. Default is off.
+ INC and LIB are the include and lib directories.
--help: shows details help page
EOF
}
@@ -106,7 +117,7 @@ STEP()
(TIMESTAMP; nerror=0 ;
echo "eval $command"
eval $command || nerror=1 ;
- TIMESTAMP; exit $nerror) < /dev/null >> "$logfile" 2>&1
+ TIMESTAMP; exit $nerror) < /dev/null > "$logfile" 2>&1
if [ $? -ne 0 ]; then
echo "error in '$banner'. $progname aborted."
exit 1
@@ -137,6 +148,12 @@ while [ $# -gt 0 ]; do
--disable-fortran)
build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF
;;
+ --enable-fortran2003)
+ enable_f2003=-DHDF5_ENABLE_F2003:BOOL=ON
+ ;;
+ --disable-fortran2003)
+ enable_f2003=-DHDF5_ENABLE_F2003:BOOL=OFF
+ ;;
--enable-cxx)
build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=ON
;;
@@ -167,8 +184,9 @@ while [ $# -gt 0 ]; do
exit 0
;;
*)
- echo "Unknown options"
+ echo "Unknown options: $1"
HELP
+ exit 1
;;
esac
shift
@@ -198,11 +216,15 @@ echo Running Cmake for HDF5-${version} ...
# 4. Configure the C library, tools and tests with this command:
STEP "Configure..." "cmake \
+ -C $cacheinit \
$build_cpp_lib \
$build_fortran \
+ $enable_f2003 \
$build_hl_lib \
$build_testing \
$build_tools \
+ $with_zlib \
+ $with_szlib \
$srcdir" $configlog
# 5. Build the C library, tools and tests with this command:
diff --git a/bin/locate_sw b/bin/locate_sw
index 2f2b544..c9a7924 100755
--- a/bin/locate_sw
+++ b/bin/locate_sw
@@ -67,33 +67,6 @@ case "$OSname" in
;;
esac
;;
- IRIX)
- swpaths="/afs/ncsa/packages/hdf/IRIX_6.5"
- ;;
- IRIX64)
- case "$CC" in
- cc|"") #default cc
- abi=`cc -show_defaults 2>&1 | grep 'default abi'`
- case $abi in
- *-n32)
- swpaths="/afs/ncsa/packages/hdf/IRIX64-n32_6.5"
- ;;
- *-64)
- swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
- ;;
- *)
- swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
- ;;
- esac # $abi
- ;;
- *-n32)
- swpaths="/afs/ncsa/packages/hdf/IRIX64-n32_6.5"
- ;;
- *)
- swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
- ;;
- esac
- ;;
Linux)
swpaths="/afs/ncsa/packages/hdf/Linux"
;;
@@ -150,36 +123,6 @@ case "$OSname" in
;;
esac
;;
- IRIX)
- swpaths="/afs/ncsa/packages/hdf5/IRIX_6.5"
- ;;
- IRIX64)
- case "$CC" in
- cc|"") #default cc
- abi=`cc -show_defaults 2>&1 | grep 'default abi'`
- case $abi in
- *-n32)
- swpaths="/afs/ncsa/packages/hdf5/IRIX64-n32_6.5"
- ;;
- *-64)
- #swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
- swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
- ;;
- *)
- #swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
- swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
- ;;
- esac # $abi
- ;;
- *-n32)
- swpaths="/afs/ncsa/packages/hdf5/IRIX64-n32_6.5"
- ;;
- *)
- #swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
- swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
- ;;
- esac
- ;;
Linux)
swpaths="/afs/ncsa/packages/hdf5/Linux"
;;
diff --git a/bin/release b/bin/release
index d771db6..703916b 100755
--- a/bin/release
+++ b/bin/release
@@ -50,31 +50,33 @@ Usage: $0 -d <dir> [-h] [--nocheck] [--private] <methods> ...
This must be run at the top level of the source directory.
The other command-line options are the names of the programs to use
for compressing the resulting tar archive (if none are given then
-"tar md5" is assumed):
+"tar" is assumed):
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
- md5 -- produce a md5 checksum in addition to the archive.
doc -- produce the latest doc tree in addition to the archive.
+An md5 checksum is produced for each archive created and stored in the md5 file.
+
Examples:
$ bin/release -d /tmp
/tmp/hdf5-1.8.13-RELEASE.txt
+ /tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
- /tmp/hdf5-1.8.13.tar.md5
$ bin/release -d /tmp gzip
/tmp/hdf5-1.8.13-RELEASE.txt
+ /tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar.gz
- $ bin/release -d /tmp tar gzip zip md5
+ $ bin/release -d /tmp tar gzip zip
/tmp/hdf5-1.8.13-RELEASE.txt
+ /tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
/tmp/hdf5-1.8.13.tar.gz
- /tmp/hdf5-1.8.13.tar.md5
/tmp/hdf5-1.8.13.tar.zip
EOF
@@ -212,9 +214,9 @@ while [ -n "$1" ]; do
esac
done
-# Default methods are tar and md5
+# Default method is tar
if [ "X$methods" = "X" ]; then
- methods="tar md5"
+ methods="tar"
fi
# Create the temporay work directory.
@@ -289,26 +291,28 @@ test "$verbose" && echo " Running tar..." 1>&2
)
# Compress
+MD5file=$HDF5_VERS.md5
+cp /dev/null $DEST/$MD5file
for comp in $methods; do
case $comp in
tar)
cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
+ (cd $DEST; md5sum $HDF5_VERS.tar >> $MD5file)
;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
+ (cd $DEST; md5sum $HDF5_VERS.tar.gz >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
+ (cd $DEST; md5sum $HDF5_VERS.tar.bz2 >> $MD5file)
;;
zip)
test "$verbose" && echo " Creating zip ball..." 1>&2
tar2zip $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.zip 1>&2
- ;;
- md5)
- test "$verbose" && echo " Creating checksum..." 1>&2
- (cd $tmpdir; md5sum $HDF5_VERS.tar ) > $DEST/$HDF5_VERS.tar.md5
+ (cd $DEST; md5sum $HDF5_VERS.zip >> $MD5file)
;;
doc)
test "$verbose" && echo " Creating docs..." 1>&2
diff --git a/bin/snapshot b/bin/snapshot
index b4adf5e..a496edd 100755
--- a/bin/snapshot
+++ b/bin/snapshot
@@ -67,8 +67,8 @@ ReleaseDir_default=release_dir
ZLIB_default=
ZLIB=$ZLIB_default
-# What compression methods to use? (md5 does checksum).
-METHODS="gzip zip bzip2 md5 doc"
+# What compression methods to use?
+METHODS="gzip zip bzip2 doc"
# Use User's MAKE if set. Else use generic make.
MAKE=${MAKE:-make}
diff --git a/c++/Makefile.in b/c++/Makefile.in
index 36364eb..c964e95 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -405,7 +405,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -437,7 +436,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -461,11 +459,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -528,7 +524,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/c++/examples/CMakeLists.txt b/c++/examples/CMakeLists.txt
index 5ea51a4..ff375f3 100644
--- a/c++/examples/CMakeLists.txt
+++ b/c++/examples/CMakeLists.txt
@@ -35,7 +35,7 @@ set (tutr_examples
foreach (example ${examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (cpp_ex_${example} " " " ")
+ TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${examples})
@@ -43,7 +43,7 @@ endforeach (example ${examples})
foreach (example ${tutr_examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (cpp_ex_${example} " " " ")
+ TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${tutr_examples})
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 734fdc8..c8d6b18 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -353,7 +353,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -385,7 +384,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -409,11 +407,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -476,7 +472,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/c++/examples/run-c++-ex.sh.in b/c++/examples/run-c++-ex.sh.in
index 77ac36a..eae2782 100644
--- a/c++/examples/run-c++-ex.sh.in
+++ b/c++/examples/run-c++-ex.sh.in
@@ -34,7 +34,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../}"
+prefix="${prefix:-@prefix@}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
index 513bbb6..2f3a0c4 100644
--- a/c++/src/CMakeLists.txt
+++ b/c++/src/CMakeLists.txt
@@ -84,7 +84,7 @@ set (CPP_HDRS
)
add_library (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS})
-TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE})
diff --git a/c++/src/H5AbstractDs.cpp b/c++/src/H5AbstractDs.cpp
index 0e6ac00..d59c1eb 100644
--- a/c++/src/H5AbstractDs.cpp
+++ b/c++/src/H5AbstractDs.cpp
@@ -21,6 +21,7 @@
#include "H5PropList.h"
#include "H5Object.h"
#include "H5AbstractDs.h"
+#include "H5DataSpace.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5Alltypes.h"
@@ -124,8 +125,9 @@ DataType AbstractDs::getDataType() const
// depending on which object invokes getDataType. Then, create and
// return the DataType object
try {
- DataType datatype(p_get_type());
- return(datatype);
+ DataType datatype;
+ f_DataType_setId(&datatype, p_get_type());
+ return(datatype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getDataType", E.getDetailMsg());
@@ -150,8 +152,9 @@ ArrayType AbstractDs::getArrayType() const
// depending on which object invokes getArrayType. Then, create and
// return the ArrayType object
try {
- ArrayType arraytype(p_get_type());
- return(arraytype);
+ ArrayType arraytype;
+ f_DataType_setId(&arraytype, p_get_type());
+ return(arraytype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getArrayType", E.getDetailMsg());
@@ -176,8 +179,9 @@ CompType AbstractDs::getCompType() const
// depending on which object invokes getCompType. Then, create and
// return the CompType object
try {
- CompType comptype(p_get_type());
- return(comptype);
+ CompType comptype;
+ f_DataType_setId(&comptype, p_get_type());
+ return(comptype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getCompType", E.getDetailMsg());
@@ -202,8 +206,9 @@ EnumType AbstractDs::getEnumType() const
// depending on which object invokes getEnumType. Then, create and
// return the EnumType object
try {
- EnumType enumtype(p_get_type());
- return(enumtype);
+ EnumType enumtype;
+ f_DataType_setId(&enumtype, p_get_type());
+ return(enumtype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getEnumType", E.getDetailMsg());
@@ -228,8 +233,9 @@ IntType AbstractDs::getIntType() const
// depending on which object invokes getIntType. Then, create and
// return the IntType object
try {
- IntType inttype(p_get_type());
- return(inttype);
+ IntType inttype;
+ f_DataType_setId(&inttype, p_get_type());
+ return(inttype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getIntType", E.getDetailMsg());
@@ -254,8 +260,9 @@ FloatType AbstractDs::getFloatType() const
// depending on which object invokes getFloatType. Then, create and
// return the FloatType object
try {
- FloatType floatype(p_get_type());
- return(floatype);
+ FloatType floatype;
+ f_DataType_setId(&floatype, p_get_type());
+ return(floatype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getFloatType", E.getDetailMsg());
@@ -280,8 +287,9 @@ StrType AbstractDs::getStrType() const
// depending on which object invokes getStrType. Then, create and
// return the StrType object
try {
- StrType strtype(p_get_type());
- return(strtype);
+ StrType strtype;
+ f_DataType_setId(&strtype, p_get_type());
+ return(strtype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getStrType", E.getDetailMsg());
@@ -306,8 +314,9 @@ VarLenType AbstractDs::getVarLenType() const
// depending on which object invokes getVarLenType. Then, create and
// return the VarLenType object
try {
- VarLenType varlentype(p_get_type());
- return(varlentype);
+ VarLenType varlentype;
+ f_DataType_setId(&varlentype, p_get_type());
+ return(varlentype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getVarLenType", E.getDetailMsg());
diff --git a/c++/src/H5AbstractDs.h b/c++/src/H5AbstractDs.h
index 8ed7967..810dc8b 100644
--- a/c++/src/H5AbstractDs.h
+++ b/c++/src/H5AbstractDs.h
@@ -28,6 +28,7 @@ class FloatType;
class IntType;
class StrType;
class VarLenType;
+class DataSpace;
/*! \class AbstractDs
\brief AbstractDs is an abstract base class, inherited by Attribute
diff --git a/c++/src/H5ArrayType.h b/c++/src/H5ArrayType.h
index 511126e..6577a6e 100644
--- a/c++/src/H5ArrayType.h
+++ b/c++/src/H5ArrayType.h
@@ -49,7 +49,6 @@ class H5_DLLCPP ArrayType : public DataType {
// Noop destructor
virtual ~ArrayType();
- protected:
// Default constructor
ArrayType();
diff --git a/c++/src/H5Attribute.cpp b/c++/src/H5Attribute.cpp
index 6b5c753..0bfdff8 100644
--- a/c++/src/H5Attribute.cpp
+++ b/c++/src/H5Attribute.cpp
@@ -74,7 +74,8 @@ Attribute::Attribute(const Attribute& original) : AbstractDs(), IdComponent()
//--------------------------------------------------------------------------
Attribute::Attribute(const hid_t existing_id) : AbstractDs(), IdComponent()
{
- id = existing_id;
+ id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -270,8 +271,9 @@ DataSpace Attribute::getSpace() const
// If the dataspace id is valid, create and return the DataSpace object
if( dataspace_id > 0 )
{
- DataSpace dataspace( dataspace_id );
- return( dataspace );
+ DataSpace dataspace;
+ f_DataSpace_setId(&dataspace, dataspace_id);
+ return(dataspace);
}
else
{
diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h
index f57b922..eced64e 100644
--- a/c++/src/H5Attribute.h
+++ b/c++/src/H5Attribute.h
@@ -31,6 +31,16 @@ namespace H5 {
*/
class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
public:
+
+ // Copy constructor: makes a copy of an existing Attribute object.
+ Attribute( const Attribute& original );
+
+ // Default constructor
+ Attribute();
+
+ // Creates a copy of an existing attribute using the attribute id
+ Attribute( const hid_t attr_id );
+
// Closes this attribute.
virtual void close();
@@ -70,15 +80,6 @@ class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("Attribute"); }
- // Creates a copy of an existing attribute using the attribute id
- Attribute( const hid_t attr_id );
-
- // Copy constructor: makes a copy of an existing Attribute object.
- Attribute( const Attribute& original );
-
- // Default constructor
- Attribute();
-
// Gets the attribute id.
virtual hid_t getId() const;
@@ -109,6 +110,10 @@ class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
// do not inherit H5Object::renameAttr
void renameAttr() {}
+
+ // Friend function to set Attribute id. For library use only.
+ friend void f_Attribute_setId(Attribute* attr, hid_t new_id);
+
};
#ifndef H5_NO_NAMESPACE
}
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index 3aa0386..dbe26b4 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -14,6 +14,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <string>
+#include <iostream>
#include "H5Include.h"
#include "H5Exception.h"
@@ -33,9 +34,6 @@
#include "H5Alltypes.h"
#include "H5private.h" // for HDstrcpy
-#include <iostream>
-using namespace std;
-
// There are a few comments that are common to most of the functions
// defined in this file so they are listed here.
// - getLocId is called by all functions, that call a C API, to get
@@ -51,6 +49,7 @@ using namespace std;
#ifndef H5_NO_NAMESPACE
namespace H5 {
+using namespace std;
#endif
//--------------------------------------------------------------------------
@@ -100,7 +99,9 @@ Group CommonFG::createGroup( const char* name, size_t size_hint ) const
throwException("createGroup", "H5Gcreate2 failed");
// No failure, create and return the Group object
- Group group( group_id );
+ Group group;
+ CommonFG *ptr = &group;
+ ptr->p_setId(group_id);
return( group );
}
@@ -136,7 +137,9 @@ Group CommonFG::openGroup( const char* name ) const
throwException("openGroup", "H5Gopen2 failed");
// No failure, create and return the Group object
- Group group( group_id );
+ Group group;
+ CommonFG *ptr = &group;
+ ptr->p_setId(group_id);
return( group );
}
@@ -178,7 +181,8 @@ DataSet CommonFG::createDataSet( const char* name, const DataType& data_type, co
throwException("createDataSet", "H5Dcreate2 failed");
// No failure, create and return the DataSet object
- DataSet dataset( dataset_id );
+ DataSet dataset;
+ f_DataSet_setId(&dataset, dataset_id);
return( dataset );
}
@@ -213,7 +217,8 @@ DataSet CommonFG::openDataSet( const char* name ) const
throwException("openDataSet", "H5Dopen2 failed");
// No failure, create and return the DataSet object
- DataSet dataset( dataset_id );
+ DataSet dataset;
+ f_DataSet_setId(&dataset, dataset_id);
return( dataset );
}
@@ -576,7 +581,8 @@ DataType CommonFG::openDataType( const char* name ) const
throwException("openDataType", "H5Topen2 failed");
// No failure, create and return the DataType object
- DataType data_type(type_id);
+ DataType data_type;
+ f_DataType_setId(&data_type, type_id);
return(data_type);
}
@@ -611,7 +617,8 @@ ArrayType CommonFG::openArrayType( const char* name ) const
throwException("openArrayType", "H5Topen2 failed");
// No failure, create and return the ArrayType object
- ArrayType array_type (type_id);
+ ArrayType array_type;
+ f_DataType_setId(&array_type, type_id);
return(array_type);
}
@@ -646,7 +653,8 @@ CompType CommonFG::openCompType( const char* name ) const
throwException("openCompType", "H5Topen2 failed");
// No failure, create and return the CompType object
- CompType comp_type(type_id);
+ CompType comp_type;
+ f_DataType_setId(&comp_type, type_id);
return(comp_type);
}
@@ -681,7 +689,8 @@ EnumType CommonFG::openEnumType( const char* name ) const
throwException("openEnumType", "H5Topen2 failed");
// No failure, create and return the EnumType object
- EnumType enum_type(type_id);
+ EnumType enum_type;
+ f_DataType_setId(&enum_type, type_id);
return(enum_type);
}
@@ -716,7 +725,8 @@ IntType CommonFG::openIntType( const char* name ) const
throwException("openIntType", "H5Topen2 failed");
// No failure, create and return the IntType object
- IntType int_type(type_id);
+ IntType int_type;
+ f_DataType_setId(&int_type, type_id);
return(int_type);
}
@@ -751,7 +761,8 @@ FloatType CommonFG::openFloatType( const char* name ) const
throwException("openFloatType", "H5Topen2 failed");
// No failure, create and return the FloatType object
- FloatType float_type(type_id);
+ FloatType float_type;
+ f_DataType_setId(&float_type, type_id);
return(float_type);
}
@@ -786,7 +797,8 @@ StrType CommonFG::openStrType( const char* name ) const
throwException("openStrType", "H5Topen2 failed");
// No failure, create and return the StrType object
- StrType str_type(type_id);
+ StrType str_type;
+ f_DataType_setId(&str_type, type_id);
return(str_type);
}
@@ -821,7 +833,8 @@ VarLenType CommonFG::openVarLenType( const char* name ) const
throwException("openVarLenType", "H5Topen2 failed");
// No failure, create and return the VarLenType object
- VarLenType varlen_type(type_id);
+ VarLenType varlen_type;
+ f_DataType_setId(&varlen_type, type_id);
return(varlen_type);
}
@@ -1100,6 +1113,58 @@ H5O_type_t CommonFG::childObjType(hsize_t index, H5_index_t index_type, H5_iter_
return(objtype);
}
+//--------------------------------------------------------------------------
+// Function: CommonFG::childObjVersion
+///\brief Returns the object header version of an object in this file/group,
+/// given the object's name.
+///\param objname - IN: Name of the object
+///\return Object version, which can have the following values:
+/// \li \c H5O_VERSION_1
+/// \li \c H5O_VERSION_2
+///\exception H5::FileIException or H5::GroupIException
+/// Exception will be thrown when:
+/// - an error returned by the C API
+/// - version number is not one of the valid values above
+// Programmer Binh-Minh Ribler - April, 2014
+//--------------------------------------------------------------------------
+unsigned CommonFG::childObjVersion(const char* objname) const
+{
+ H5O_info_t objinfo;
+ unsigned version = 0;
+
+ // Use C API to get information of the object
+ herr_t ret_value = H5Oget_info_by_name(getLocId(), objname, &objinfo, H5P_DEFAULT);
+
+ // Throw exception if C API returns failure
+ if (ret_value < 0)
+ throwException("childObjVersion", "H5Oget_info_by_name failed");
+ // Return a valid version or throw an exception for invalid value
+ else
+ {
+ version = objinfo.hdr.version;
+ if (version != H5O_VERSION_1 && version != H5O_VERSION_2)
+ throwException("childObjVersion", "Invalid version for object");
+ }
+ return(version);
+}
+
+//--------------------------------------------------------------------------
+// Function: CommonFG::childObjVersion
+///\brief This is an overloaded member function, provided for convenience.
+/// It takes an \a H5std_string for the object's name.
+///\brief Returns the type of an object in this group, given the
+/// object's name.
+///\param objname - IN: Name of the object (H5std_string&)
+///\exception H5::FileIException or H5::GroupIException
+// Programmer Binh-Minh Ribler - April, 2014
+//--------------------------------------------------------------------------
+unsigned CommonFG::childObjVersion(const H5std_string& objname) const
+{
+ // Use overloaded function
+ unsigned version = childObjVersion(objname.c_str());
+ return(version);
+}
+
#ifndef H5_NO_DEPRECATED_SYMBOLS
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -1172,6 +1237,7 @@ H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const
}
return (obj_type);
}
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
#endif /* H5_NO_DEPRECATED_SYMBOLS */
@@ -1189,6 +1255,37 @@ CommonFG::CommonFG() {}
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
CommonFG::~CommonFG() {}
+
+//--------------------------------------------------------------------------
+// Function: f_DataType_setId - friend
+// Purpose: This function is friend to class H5::DataType so that it
+// can set DataType::id in order to work around a problem
+// described in the JIRA issue HDFFV-7947.
+// Applications shouldn't need to use it.
+// param dtype - IN/OUT: DataType object to be changed
+// param new_id - IN: New id to set
+// Programmer Binh-Minh Ribler - 2015
+//--------------------------------------------------------------------------
+void f_DataType_setId(DataType* dtype, hid_t new_id)
+{
+ dtype->id = new_id;
+}
+
+//--------------------------------------------------------------------------
+// Function: f_DataSet_setId - friend
+// Purpose: This function is friend to class H5::DataSet so that it
+// can set DataSet::id in order to work around a problem
+// described in the JIRA issue HDFFV-7947.
+// Applications shouldn't need to use it.
+// param dset - IN/OUT: DataSet object to be changed
+// param new_id - IN: New id to set
+// Programmer Binh-Minh Ribler - 2015
+//--------------------------------------------------------------------------
+void f_DataSet_setId(DataSet* dset, hid_t new_id)
+{
+ dset->id = new_id;
+}
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
#ifndef H5_NO_NAMESPACE
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index 5c8a142..d36d78c 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -21,6 +21,7 @@
namespace H5 {
#endif
+// Class forwarding
class Group;
class H5File;
class ArrayType;
@@ -70,6 +71,11 @@ class H5_DLLCPP CommonFG {
H5O_type_t childObjType(const char* objname) const;
H5O_type_t childObjType(hsize_t index, H5_index_t index_type=H5_INDEX_NAME, H5_iter_order_t order=H5_ITER_INC, const char* objname=".") const;
+ // Returns the object header version of an object in this file or group,
+ // given the object's name.
+ unsigned childObjVersion(const char* objname) const;
+ unsigned childObjVersion(const H5std_string& objname) const;
+
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Returns the type of an object in this group, given the
// object's index.
@@ -159,6 +165,10 @@ class H5_DLLCPP CommonFG {
// Noop destructor.
virtual ~CommonFG();
+
+ protected:
+ virtual void p_setId(const hid_t new_id) = 0;
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; // end of CommonFG declaration
diff --git a/c++/src/H5CompType.cpp b/c++/src/H5CompType.cpp
index 191f004..393aafc 100644
--- a/c++/src/H5CompType.cpp
+++ b/c++/src/H5CompType.cpp
@@ -227,7 +227,8 @@ hid_t CompType::p_get_member_type(unsigned member_num) const
DataType CompType::getMemberDataType( unsigned member_num ) const
{
try {
- DataType datatype(p_get_member_type(member_num));
+ DataType datatype;
+ f_DataType_setId(&datatype, p_get_member_type(member_num));
return(datatype);
}
catch (DataTypeIException E) {
@@ -248,6 +249,7 @@ ArrayType CompType::getMemberArrayType( unsigned member_num ) const
{
try {
ArrayType arraytype(p_get_member_type(member_num));
+ f_DataType_setId(&arraytype, p_get_member_type(member_num));
return(arraytype);
}
catch (DataTypeIException E) {
@@ -268,6 +270,7 @@ CompType CompType::getMemberCompType( unsigned member_num ) const
{
try {
CompType comptype(p_get_member_type(member_num));
+ f_DataType_setId(&comptype, p_get_member_type(member_num));
return(comptype);
}
catch (DataTypeIException E) {
@@ -288,6 +291,7 @@ EnumType CompType::getMemberEnumType( unsigned member_num ) const
{
try {
EnumType enumtype(p_get_member_type(member_num));
+ f_DataType_setId(&enumtype, p_get_member_type(member_num));
return(enumtype);
}
catch (DataTypeIException E) {
@@ -308,6 +312,7 @@ IntType CompType::getMemberIntType( unsigned member_num ) const
{
try {
IntType inttype(p_get_member_type(member_num));
+ f_DataType_setId(&inttype, p_get_member_type(member_num));
return(inttype);
}
catch (DataTypeIException E) {
@@ -328,6 +333,7 @@ FloatType CompType::getMemberFloatType( unsigned member_num ) const
{
try {
FloatType floatype(p_get_member_type(member_num));
+ f_DataType_setId(&floatype, p_get_member_type(member_num));
return(floatype);
}
catch (DataTypeIException E) {
@@ -348,6 +354,7 @@ StrType CompType::getMemberStrType( unsigned member_num ) const
{
try {
StrType strtype(p_get_member_type(member_num));
+ f_DataType_setId(&strtype, p_get_member_type(member_num));
return(strtype);
}
catch (DataTypeIException E) {
@@ -368,6 +375,7 @@ VarLenType CompType::getMemberVarLenType( unsigned member_num ) const
{
try {
VarLenType varlentype(p_get_member_type(member_num));
+ f_DataType_setId(&varlentype, p_get_member_type(member_num));
return(varlentype);
}
catch (DataTypeIException E) {
diff --git a/c++/src/H5DataSet.cpp b/c++/src/H5DataSet.cpp
index 0374d95..717ef88 100644
--- a/c++/src/H5DataSet.cpp
+++ b/c++/src/H5DataSet.cpp
@@ -63,6 +63,7 @@ DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {}
DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs()
{
id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -137,7 +138,8 @@ DataSpace DataSet::getSpace() const
throw DataSetIException("DataSet::getSpace", "H5Dget_space failed");
}
//create dataspace object using the existing id then return the object
- DataSpace data_space( dataspace_id );
+ DataSpace data_space;
+ f_DataSpace_setId(&data_space, dataspace_id);
return( data_space );
}
@@ -170,8 +172,8 @@ DSetCreatPropList DataSet::getCreatePlist() const
throw DataSetIException("DataSet::getCreatePlist", "H5Dget_create_plist failed");
}
// create and return the DSetCreatPropList object
- DSetCreatPropList create_plist( create_plist_id );
- return( create_plist );
+ DSetCreatPropList create_plist(create_plist_id); // ok to use existing id const
+ return(create_plist);
}
//--------------------------------------------------------------------------
diff --git a/c++/src/H5DataSet.h b/c++/src/H5DataSet.h
index 529466a..b2544a2 100644
--- a/c++/src/H5DataSet.h
+++ b/c++/src/H5DataSet.h
@@ -30,6 +30,7 @@ namespace H5 {
*/
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
public:
+
// Close this dataset.
virtual void close();
@@ -125,6 +126,10 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
// Reads variable or fixed len strings from this dataset.
void p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
void p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
+
+ // Friend function to set DataSet id. For library use only.
+ friend void f_DataSet_setId(DataSet* dset, hid_t new_id);
+
};
#ifndef H5_NO_NAMESPACE
}
diff --git a/c++/src/H5DataSpace.cpp b/c++/src/H5DataSpace.cpp
index 761a454..d9c262d 100644
--- a/c++/src/H5DataSpace.cpp
+++ b/c++/src/H5DataSpace.cpp
@@ -85,6 +85,7 @@ DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) :
DataSpace::DataSpace(const hid_t existing_id) : IdComponent()
{
id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
diff --git a/c++/src/H5DataSpace.h b/c++/src/H5DataSpace.h
index b007fd0..a43cecd 100644
--- a/c++/src/H5DataSpace.h
+++ b/c++/src/H5DataSpace.h
@@ -129,6 +129,9 @@ class H5_DLLCPP DataSpace : public IdComponent {
private:
hid_t id; // HDF5 dataspace id
+
+ // Friend function to set DataSpace id. For library use only.
+ friend void f_DataSpace_setId(DataSpace *dspace, hid_t new_id);
};
#ifndef H5_NO_NAMESPACE
}
diff --git a/c++/src/H5DataType.cpp b/c++/src/H5DataType.cpp
index c4b1694..cdcd1e6 100644
--- a/c++/src/H5DataType.cpp
+++ b/c++/src/H5DataType.cpp
@@ -71,6 +71,7 @@ DataType::DataType() : H5Object(), id(H5I_INVALID_HID) {}
DataType::DataType(const hid_t existing_id) : H5Object()
{
id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -105,7 +106,7 @@ DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
-DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID)
+DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object()
{
id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference");
}
@@ -141,6 +142,27 @@ DataType::DataType(const DataType& original) : H5Object()
}
//--------------------------------------------------------------------------
+// Function: DataType overloaded constructor
+///\brief Creates a integer type using a predefined type
+///\param pred_type - IN: Predefined datatype
+///\exception H5::DataTypeIException
+// Programmer Binh-Minh Ribler - 2000
+// Description
+// Copying the type so that when a predefined type is passed in,
+// a copy of it is made, not just a duplicate of the HDF5 id.
+// Note: calling DataType::copy will invoke DataType::close()
+// unnecessarily and will produce undefined behavior.
+// -BMR, Apr 2015
+//--------------------------------------------------------------------------
+DataType::DataType(const PredType& pred_type) : H5Object()
+{
+ // call C routine to copy the datatype
+ id = H5Tcopy( pred_type.getId() );
+ if (id < 0)
+ throw DataTypeIException("DataType constructor", "H5Tcopy failed");
+}
+
+//--------------------------------------------------------------------------
// Function: DataType::copy
///\brief Copies an existing datatype to this datatype object
///\param like_type - IN: Datatype to be copied
@@ -203,11 +225,22 @@ void DataType::copy(const DataSet& dset)
// Makes a copy of the type on the right hand side and stores
// the new id in the left hand side object.
// Programmer Binh-Minh Ribler - 2000
+// Modification
+// Changed operator= to simply copy the id of rhs instead of
+// calling H5Tcopy because, when the operator= is invoked, a
+// different datatype id is created and it won't have the same
+// characteristics as the original one, specifically, if the
+// rhs represents a named datatype, "this" would still be a
+// transient datatype.
+// BMR - Mar, 2015
//--------------------------------------------------------------------------
DataType& DataType::operator=( const DataType& rhs )
{
if (this != &rhs)
- copy(rhs);
+ {
+ id = rhs.id;
+ incRefCount(); // increment number of references to this id
+ }
return(*this);
}
@@ -463,8 +496,9 @@ DataType DataType::getSuper() const
// the base type, otherwise, raise exception
if( base_type_id > 0 )
{
- DataType base_type( base_type_id );
- return( base_type );
+ DataType base_type;
+ base_type.p_setId(base_type_id);
+ return(base_type);
}
else
{
diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h
index 064bfe1..6c8a312 100644
--- a/c++/src/H5DataType.h
+++ b/c++/src/H5DataType.h
@@ -36,6 +36,9 @@ class H5_DLLCPP DataType : public H5Object {
// Copy constructor: makes a copy of the original object
DataType( const DataType& original );
+ // Creates a copy of a predefined type
+ DataType(const PredType& pred_type);
+
// Creates a datatype by way of dereference.
DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type = H5R_OBJECT, const PropList& plist = PropList::DEFAULT);
DataType(const Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT, const PropList& plist = PropList::DEFAULT);
@@ -133,6 +136,9 @@ class H5_DLLCPP DataType : public H5Object {
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
+ // Friend function to set DataType id. For library use only.
+ friend void f_DataType_setId(DataType* dtype, hid_t new_id);
+
void p_commit(hid_t loc_id, const char* name);
};
#ifndef H5_NO_NAMESPACE
diff --git a/c++/src/H5FaccProp.cpp b/c++/src/H5FaccProp.cpp
index 5696742..5ce9d8e 100644
--- a/c++/src/H5FaccProp.cpp
+++ b/c++/src/H5FaccProp.cpp
@@ -40,10 +40,10 @@ FileAccPropList::FileAccPropList() : PropList( H5P_FILE_ACCESS ) {}
//--------------------------------------------------------------------------
// Function: FileAccPropList copy constructor
///\brief Copy Constructor: makes a copy of the original
-/// FileAccPropList object.
+///\param original - IN: FileAccPropList instance to copy
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileAccPropList::FileAccPropList(const FileAccPropList& orig) : PropList(orig) {}
+FileAccPropList::FileAccPropList(const FileAccPropList& original) : PropList(original) {}
//--------------------------------------------------------------------------
// Function: FileAccPropList overloaded constructor
@@ -664,6 +664,67 @@ unsigned FileAccPropList::getGcReferences() const
}
//--------------------------------------------------------------------------
+// Function: FileAccPropList::setLibverBounds
+///\brief Sets bounds on versions of library format to be used when creating
+/// or writing objects.
+///\param libver_low - IN: Earliest version of the library that will be
+/// used for creating or writing objects
+///\param libver_high - IN: Latest version of the library that will be
+///\exception H5::PropListIException
+///\par Description
+/// Valid values of \a libver_low are as follows:
+/// \li \c H5F_LIBVER_EARLIEST (Default)
+/// \li \c H5F_LIBVER_18
+/// \li \c H5F_LIBVER_LATEST
+///
+/// Valid values of \a libver_high are as follows:
+/// \li \c H5F_LIBVER_18
+/// \li \c H5F_LIBVER_LATEST (Default)
+///
+/// For more details, please refer to
+/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetLibverBounds
+// Programmer: Binh-Minh Ribler - March, 2015
+//--------------------------------------------------------------------------
+void FileAccPropList::setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const
+{
+ herr_t ret_value = H5Pset_libver_bounds(id, libver_low, libver_high);
+ if (ret_value < 0)
+ {
+ throw PropListIException("FileAccPropList::setLibverBounds", "H5Pset_libver_bounds failed");
+ }
+}
+
+//--------------------------------------------------------------------------
+// Function: FileAccPropList::getLibverBounds
+///\brief Gets the current settings for the library version format bounds
+/// from a file access property list.
+///\param libver_low - OUT: Earliest version of the library that will be
+/// used for creating or writing objects
+///\param libver_high - OUT: Latest version of the library that will be
+/// used for creating or writing objects
+///\exception H5::PropListIException
+///\par Description
+/// On success, the argument \a libver_low can have the following
+/// values:
+/// \li \c H5F_LIBVER_EARLIEST
+/// \li \c H5F_LIBVER_18
+/// \li \c H5F_LIBVER_LATEST
+///
+/// and \a libver_high:
+/// \li \c H5F_LIBVER_18
+/// \li \c H5F_LIBVER_LATEST
+// Programmer: Binh-Minh Ribler - March, 2015
+//--------------------------------------------------------------------------
+void FileAccPropList::getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const
+{
+ herr_t ret_value = H5Pget_libver_bounds(id, &libver_low, &libver_high);
+ if( ret_value < 0 )
+ {
+ throw PropListIException("FileAccPropList::getLibverBounds", "H5Pget_libver_bounds failed");
+ }
+}
+
+//--------------------------------------------------------------------------
// Function: FileAccPropList destructor
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h
index 861ac4c..fddc446 100644
--- a/c++/src/H5FaccProp.h
+++ b/c++/src/H5FaccProp.h
@@ -126,6 +126,13 @@ class H5_DLLCPP FileAccPropList : public PropList {
// Returns garbage collecting references setting.
unsigned getGcReferences() const;
+ // Sets bounds on versions of library format to be used when creating
+ // or writing objects.
+ void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;
+
+ // Gets the current settings for the library version format bounds.
+ void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;
+
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("FileAccPropList"); }
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index e0a0da5..fc802d0 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -158,6 +158,25 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
+// Function: H5File overloaded constructor
+///\brief Creates an H5File object using an existing file id.
+///\param existing_id - IN: Id of an existing file
+// Programmer Binh-Minh Ribler - 2015
+// Description
+// Mar 29, 2015
+// Added in responding to a request from user Jason Newton.
+// However, it is not recommended to use the private member "id"
+// in applications. Unlike other situations, where similar
+// constructor is needed by the library in order to return
+// an object, H5File doesn't need it. -BMR (HDFFV-8766 partially)
+//--------------------------------------------------------------------------
+H5File::H5File(hid_t existing_id) : H5Location(), CommonFG()
+{
+ id = existing_id;
+ incRefCount(); // increment number of references to this id
+}
+
+//--------------------------------------------------------------------------
// Function: H5File copy constructor
///\brief Copy constructor: makes a copy of the original
/// H5File object.
@@ -225,6 +244,13 @@ bool H5File::isHdf5(const H5std_string& name )
//--------------------------------------------------------------------------
void H5File::openFile(const char* name, unsigned int flags, const FileAccPropList& access_plist)
{
+ try {
+ close();
+ }
+ catch (Exception close_error) {
+ throw FileIException("H5File::openFile", close_error.getDetailMsg());
+ }
+
hid_t access_plist_id = access_plist.getId();
id = H5Fopen (name, flags, access_plist_id);
if (id < 0) // throw an exception when open fails
@@ -379,25 +405,6 @@ ssize_t H5File::getObjCount(unsigned types) const
}
//--------------------------------------------------------------------------
-// Function: H5File::getObjCount
-///\brief This is an overloaded member function, provided for convenience.
-/// It takes no parameter and returns the object count of all
-/// object types.
-///\return Number of opened object IDs
-///\exception H5::FileIException
-// Programmer Binh-Minh Ribler - May 2004
-//--------------------------------------------------------------------------
-ssize_t H5File::getObjCount() const
-{
- ssize_t num_objs = H5Fget_obj_count(id, H5F_OBJ_ALL);
- if( num_objs < 0 )
- {
- throw FileIException("H5File::getObjCount", "H5Fget_obj_count failed");
- }
- return (num_objs);
-}
-
-//--------------------------------------------------------------------------
// Function: H5File::getObjIDs
///\brief Retrieves a list of opened object IDs (files, datasets,
/// groups and datatypes) in the same file.
diff --git a/c++/src/H5File.h b/c++/src/H5File.h
index 0ef85b5..939ac8e 100644
--- a/c++/src/H5File.h
+++ b/c++/src/H5File.h
@@ -59,8 +59,7 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
// Returns the number of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
- ssize_t getObjCount(unsigned types) const;
- ssize_t getObjCount() const;
+ ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const;
// Retrieves a list of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
@@ -84,6 +83,10 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
// Gets the file id
virtual hid_t getLocId() const;
+ // Creates an H5File using an existing file id. Not recommended
+ // in applications.
+ H5File(hid_t existing_id);
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
///\brief Returns this class name.
diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp
index 8b22458..4d1d61c 100644
--- a/c++/src/H5Group.cpp
+++ b/c++/src/H5Group.cpp
@@ -85,6 +85,7 @@ hid_t Group::getLocId() const
Group::Group(const hid_t existing_id) : H5Object(), CommonFG()
{
id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
diff --git a/c++/src/H5IdComponent.cpp b/c++/src/H5IdComponent.cpp
index 54813ea..c01d41e 100644
--- a/c++/src/H5IdComponent.cpp
+++ b/c++/src/H5IdComponent.cpp
@@ -46,6 +46,11 @@ namespace H5 {
//--------------------------------------------------------------------------
IdComponent::IdComponent(const hid_t h5_id) {}
+//void IdComponent::p_setId(const hid_t new_id)
+//{
+ //p_setId(new_id);
+//}
+
//--------------------------------------------------------------------------
// Function: IdComponent copy constructor
// Purpose: This noop copy constructor is removed as a result of the data
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h
index f9fd56e..068fb74 100644
--- a/c++/src/H5IdComponent.h
+++ b/c++/src/H5IdComponent.h
@@ -104,6 +104,7 @@ class H5_DLLCPP IdComponent {
// Sets the identifier of this object to a new value. - this one
// doesn't increment reference count
virtual void p_setId(const hid_t new_id) = 0;
+ //virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5Include.h b/c++/src/H5Include.h
index 87cb182..1e0e952 100644
--- a/c++/src/H5Include.h
+++ b/c++/src/H5Include.h
@@ -28,3 +28,15 @@ typedef int bool;
const bool false = 0;
const bool true = 1;
#endif
+
+// These are defined in H5Opkg.h, which should not be included in the C++ API,
+// so re-define them here for now.
+
+/* Initial version of the object header format */
+#define H5O_VERSION_1 1
+
+/* Revised version - leaves out reserved bytes and alignment padding, and adds
+ * magic number as prefix and checksum as suffix for all chunks.
+ */
+#define H5O_VERSION_2 2
+
diff --git a/c++/src/H5IntType.h b/c++/src/H5IntType.h
index 95fa642..e28f5c2 100644
--- a/c++/src/H5IntType.h
+++ b/c++/src/H5IntType.h
@@ -24,7 +24,7 @@ namespace H5 {
//! Class IntType operates on HDF5 integer datatype.
class H5_DLLCPP IntType : public AtomType {
public:
- // Creates a integer type using a predefined type
+ // Creates an integer type using a predefined type
IntType(const PredType& pred_type);
// Gets the integer datatype of the specified dataset
diff --git a/c++/src/H5Location.cpp b/c++/src/H5Location.cpp
index 5cece19..5100e12 100644
--- a/c++/src/H5Location.cpp
+++ b/c++/src/H5Location.cpp
@@ -126,8 +126,9 @@ Attribute H5Location::createAttribute( const char* name, const DataType& data_ty
// If the attribute id is valid, create and return the Attribute object
if( attr_id > 0 )
{
- Attribute attr( attr_id );
- return( attr );
+ Attribute attr;
+ f_Attribute_setId(&attr, attr_id);
+ return( attr );
}
else
throw AttributeIException(inMemFunc("createAttribute"), "H5Acreate2 failed");
@@ -158,8 +159,9 @@ Attribute H5Location::openAttribute( const char* name ) const
hid_t attr_id = H5Aopen(getId(), name, H5P_DEFAULT);
if( attr_id > 0 )
{
- Attribute attr( attr_id );
- return( attr );
+ Attribute attr;
+ f_Attribute_setId(&attr, attr_id);
+ return( attr );
}
else
{
@@ -193,12 +195,13 @@ Attribute H5Location::openAttribute( const unsigned int idx ) const
H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT);
if( attr_id > 0 )
{
- Attribute attr( attr_id );
- return( attr );
+ Attribute attr;
+ f_Attribute_setId(&attr, attr_id);
+ return(attr);
}
else
{
- throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_by_idx failed");
+ throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_by_idx failed");
}
}
@@ -904,6 +907,12 @@ H5O_type_t H5Location::p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const
///\return DataSpace object
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - May, 2004
+// Modification
+// Mar 29, 2015
+// Used friend function to set id for DataSpace instead of the
+// existing id constructor or the setId method to avoid incrementing
+// ref count, as a work-around for a problem described in the JIRA
+// issue HDFFV-7947. -BMR
//--------------------------------------------------------------------------
DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
{
@@ -913,8 +922,9 @@ DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
throw ReferenceException(inMemFunc("getRegion"), "H5Rget_region failed");
}
try {
- DataSpace dataspace(space_id);
- return(dataspace);
+ DataSpace dataspace;
+ f_DataSpace_setId(&dataspace, space_id);
+ return(dataspace);
}
catch (DataSpaceIException E) {
throw ReferenceException(inMemFunc("getRegion"), E.getDetailMsg());
@@ -929,6 +939,36 @@ DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
//--------------------------------------------------------------------------
H5Location::~H5Location() {}
+//--------------------------------------------------------------------------
+// Function: f_Attribute_setId - friend
+// Purpose: This function is friend to class H5::Attribute so that it
+// can set Attribute::id in order to work around a problem
+// described in the JIRA issue HDFFV-7947.
+// Applications shouldn't need to use it.
+// param attr - IN/OUT: Attribute object to be changed
+// param new_id - IN: New id to set
+// Programmer Binh-Minh Ribler - 2015
+//--------------------------------------------------------------------------
+void f_Attribute_setId(Attribute* attr, hid_t new_id)
+{
+ attr->id = new_id;
+}
+
+//--------------------------------------------------------------------------
+// Function: f_DataSpace_setId - friend
+// Purpose: This function is friend to class H5::DataSpace so that it can
+// can set DataSpace::id in order to work around a problem
+// described in the JIRA issue HDFFV-7947.
+// Applications shouldn't need to use it.
+// param dspace - IN/OUT: DataSpace object to be changed
+// param new_id - IN: New id to set
+// Programmer Binh-Minh Ribler - 2015
+//--------------------------------------------------------------------------
+void f_DataSpace_setId(DataSpace* dspace, hid_t new_id)
+{
+ dspace->id = new_id;
+}
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
#ifndef H5_NO_NAMESPACE
diff --git a/c++/src/H5Location.h b/c++/src/H5Location.h
index 15b9ffd..79a8d5c 100644
--- a/c++/src/H5Location.h
+++ b/c++/src/H5Location.h
@@ -151,7 +151,7 @@ class H5_DLLCPP H5Location : public IdComponent {
H5Location(const hid_t loc_id);
// Copy constructor.
- H5Location(const H5Location& original);
+ // H5Location(const H5Location& original);
// Creates a reference to an HDF5 object or a dataset region.
void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
@@ -167,6 +167,10 @@ class H5_DLLCPP H5Location : public IdComponent {
// Retrieves the type of object that an object reference points to.
H5O_type_t p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const;
+ // Sets the identifier of this object to a new value. - this one
+ // doesn't increment reference count
+ virtual void p_setId(const hid_t new_id) = 0;
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
// Noop destructor.
diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp
index 1d7d1ba..70ec629 100644
--- a/c++/src/H5PropList.cpp
+++ b/c++/src/H5PropList.cpp
@@ -258,6 +258,7 @@ void PropList::p_setId(const hid_t new_id)
// reset object's id to the given id
id = new_id;
}
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
diff --git a/c++/src/H5VarLenType.h b/c++/src/H5VarLenType.h
index 40c597f..672b3db 100644
--- a/c++/src/H5VarLenType.h
+++ b/c++/src/H5VarLenType.h
@@ -40,7 +40,6 @@ class H5_DLLCPP VarLenType : public DataType {
// Noop destructor
virtual ~VarLenType();
- protected:
// Default constructor
VarLenType();
};
diff --git a/c++/src/Makefile.am b/c++/src/Makefile.am
index 7c1f497..cdef7bf 100644
--- a/c++/src/Makefile.am
+++ b/c++/src/Makefile.am
@@ -30,12 +30,6 @@ lib_LTLIBRARIES=libhdf5_cpp.la
# Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
libhdf5_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
-# Shared C++ libraries aren't universally supported.
-if CXX_SHARED_CONDITIONAL
-else
- AM_LDFLAGS+=-static
-endif
-
bin_SCRIPTS=h5c++
# Source files for the library
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 19e4e22..3afedda 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -103,9 +103,6 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(srcdir)/h5c++.in $(top_srcdir)/bin/depcomp \
$(include_HEADERS) $(top_srcdir)/bin/test-driver
-
-# Shared C++ libraries aren't universally supported.
-@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
TESTS =
subdir = c++/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -416,10 +413,9 @@ AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@ -I$(top_srcdir)/src
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
+AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -451,7 +447,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -475,11 +470,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -542,7 +535,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -678,7 +670,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
# This is our main target
diff --git a/c++/src/h5c++.in b/c++/src/h5c++.in
index a4aaf52..069842a 100644
--- a/c++/src/h5c++.in
+++ b/c++/src/h5c++.in
@@ -333,7 +333,7 @@ if test "x$do_link" = "xyes"; then
hpux*) flag="-Wl,+b -Wl," ;;
freebsd*|solaris*) flag="-R" ;;
rs6000*|aix*) flag="-L" ;;
- irix*|sgi) flag="-rpath " ;;
+ sgi) flag="-rpath " ;;
*) flag="" ;;
esac
diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt
index fe463fa..dcdf3a3 100644
--- a/c++/test/CMakeLists.txt
+++ b/c++/test/CMakeLists.txt
@@ -36,7 +36,7 @@ configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @O
add_executable (cpp_testhdf5 ${CPP_TEST_SRCS} )
TARGET_NAMING (cpp_testhdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (cpp_testhdf5 " " " ")
+TARGET_C_PROPERTIES (cpp_testhdf5 ${LIB_TYPE} " " " ")
target_link_libraries (cpp_testhdf5
${HDF5_CPP_LIB_TARGET}
${HDF5_LIB_TARGET}
diff --git a/c++/test/Makefile.am b/c++/test/Makefile.am
index 2717e9c..705ec72 100644
--- a/c++/test/Makefile.am
+++ b/c++/test/Makefile.am
@@ -23,12 +23,6 @@ include $(top_srcdir)/config/commence.am
# Include src, test, and c++/src directories
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
-# Shared C++ libraries aren't universally supported.
-if CXX_SHARED_CONDITIONAL
-else
- AM_LDFLAGS+=-static
-endif
-
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG=testhdf5
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 709a97e..8711eef 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -99,9 +99,6 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(srcdir)/H5srcdir_str.h.in $(top_srcdir)/bin/depcomp \
$(top_srcdir)/bin/test-driver
-
-# Shared C++ libraries aren't universally supported.
-@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
check_PROGRAMS = $(am__EXEEXT_1)
TESTS = $(am__EXEEXT_1)
subdir = c++/test
@@ -407,10 +404,9 @@ AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@ -I$(top_srcdir)/src \
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
+AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -442,7 +438,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -466,11 +461,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -533,7 +526,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/c++/test/dsets.cpp b/c++/test/dsets.cpp
index e5c8bf0..9f1916d 100644
--- a/c++/test/dsets.cpp
+++ b/c++/test/dsets.cpp
@@ -59,11 +59,9 @@ const H5std_string DSET_BOGUS_NAME ("bogus");
/* Temporary filter IDs used for testing */
const int H5Z_FILTER_BOGUS = 305;
-#if 0 // UNUSED variables caused warning, so duplicated below with NULL instead
static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf);
-#endif
-static size_t filter_bogus(size_t nbytes);
+// UNUSED variables caused warning, but taking them out caused failure.
/*-------------------------------------------------------------------------
* Function: test_create
@@ -461,12 +459,10 @@ const H5Z_class2_t H5Z_BOGUS[1] = {{
*-------------------------------------------------------------------------
*/
static size_t
-#if 0 // UNUSED variables caused warning, so duplicated below with NULL instead
filter_bogus(unsigned int flags, size_t cd_nelmts,
const unsigned int cd_values[], size_t nbytes,
size_t *buf_size, void **buf)
-#endif
-filter_bogus(size_t nbytes)
+// UNUSED variables caused warning, but taking them out caused failure.
{
return nbytes;
}
diff --git a/c++/test/tattr.cpp b/c++/test/tattr.cpp
index 407e6a8..c9422ce 100644
--- a/c++/test/tattr.cpp
+++ b/c++/test/tattr.cpp
@@ -741,12 +741,26 @@ static void test_attr_compound_read()
// Verify name
H5std_string attr_name = attr.getName();
verify_val(attr_name, ATTR4_NAME, "Attribute::getName", __LINE__, __FILE__);
- PASSED();
} // end try block
catch (Exception E) {
issue_fail_msg("test_attr_compound_read()", __LINE__, __FILE__, E.getCDetailMsg());
}
+
+ try
+ {
+ // Now, try truncating the file to make sure reference counting is good.
+ // If any references to ids in the previous block are left unterminated,
+ // the truncating will fail, because the file will not be closed in
+ // the file.close() above.
+ H5File file1(FILE_COMPOUND, H5F_ACC_TRUNC);
+
+ PASSED();
+ } // end try block
+
+ catch (FileIException E) {
+ issue_fail_msg("test_attr_compound_read()", __LINE__, __FILE__, "Unable to truncate file, possibly because some objects are left opened");
+ }
} // test_attr_compound_read()
/****************************************************************
diff --git a/c++/test/tcompound.cpp b/c++/test/tcompound.cpp
index 156f438..dbf2f0c 100644
--- a/c++/test/tcompound.cpp
+++ b/c++/test/tcompound.cpp
@@ -780,7 +780,7 @@ static void test_compound_set_size()
CompType dtype_tmp = file.openCompType("dtype");
// Make a copy of the data type
- dtype = dtype_tmp;
+ dtype.copy(dtype_tmp);
// Verify that the compound is not packed
// packed = dtype_tmp.packed(); // not until C library provides API
diff --git a/c++/test/tfile.cpp b/c++/test/tfile.cpp
index ad5e6fc..f3bbb16 100644
--- a/c++/test/tfile.cpp
+++ b/c++/test/tfile.cpp
@@ -330,6 +330,32 @@ static void test_file_open()
verify_val(iparm1, F2_SYM_INTERN_K, "FileCreatPropList::getSymk", __LINE__, __FILE__);
verify_val(iparm2, F2_SYM_LEAF_K, "FileCreatPropList::getSymk", __LINE__, __FILE__);
+ // Test H5File constructor with existing file id
+ H5File file2(file1.getId());
+ file1.close();
+
+ // Try truncating the file, and it should fail because the file is
+ // still opened with file2.
+ try {
+ H5File file3 (FILE2, H5F_ACC_TRUNC); // should throw E
+
+ // Should FAIL but didn't, so throw an invalid action exception
+ throw InvalidActionException("H5File constructor", "Attempt truncating an opened file.");
+ }
+ catch( FileIException E ) // catching H5F_ACC_TRUNC on opened file
+ {} // do nothing, FAIL expected
+
+ // Now, really close the file.
+ file2.close();
+
+ // Truncating should succeed now.
+ H5File file3(FILE2, H5F_ACC_TRUNC);
+
+ // Opening another file to file3 object, FILE2 should be closed, so
+ // the next attempt to truncate FILE2 should succeed.
+ file3.openFile(FILE1, H5F_ACC_RDONLY);
+ H5File file4(FILE2, H5F_ACC_TRUNC);
+
PASSED();
} // end of try block
@@ -501,6 +527,7 @@ const H5std_string FATTR1_NAME ("file attribute 1");
const H5std_string FATTR2_NAME ("file attribute 2");
int fattr_data[ATTR1_DIM1]={512,-234,98123}; /* Test data for file attribute */
int dattr_data[ATTR1_DIM1]={256,-123,1000}; /* Test data for dataset attribute */
+
static void test_file_attribute()
{
int rdata[ATTR1_DIM1];
@@ -602,6 +629,119 @@ static void test_file_attribute()
}
} // test_file_attribute()
+const H5std_string FILE6("tfile5.h5");
+const H5std_string ROOTGROUP("/");
+const H5std_string GROUP1("/G1");
+const H5std_string SUBGROUP3("/G1/G3");
+
+/*-------------------------------------------------------------------------
+ * Function: test_libver_bounds_real
+ *
+ * Purpose: Verify that a file created and modified with the
+ * specified libver bounds has the specified object header
+ * versions for the right objects.
+ *
+ * Return: None
+ *
+ * Programmer: Binh-Minh Ribler (use C version)
+ * March, 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_libver_bounds_real(
+ H5F_libver_t libver_create, unsigned oh_vers_create,
+ H5F_libver_t libver_mod, unsigned oh_vers_mod)
+{
+ try {
+
+ /*
+ * Create a new file using the default creation property and access property
+ * with latest library version.
+ */
+ FileAccPropList fapl;
+ fapl.setLibverBounds(libver_create, H5F_LIBVER_LATEST);
+ H5File file(FILE6, H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, fapl);
+
+ /*
+ * Make sure the root group has the correct object header version
+ */
+ unsigned obj_version = file.childObjVersion(ROOTGROUP);
+ verify_val(obj_version, oh_vers_create, "H5File::childObjVersion", __LINE__, __FILE__);
+
+ /*
+ * Reopen the file and make sure the root group still has the correct version
+ */
+ file.close();
+
+ fapl.setLibverBounds(libver_mod, H5F_LIBVER_LATEST);
+
+ file.openFile(FILE6, H5F_ACC_RDWR, fapl);
+
+ obj_version = file.childObjVersion(ROOTGROUP);
+ verify_val(obj_version, oh_vers_create, "H5File::childObjVersion", __LINE__, __FILE__);
+
+ /*
+ * Create a group named "/G1" in the file, and make sure it has the correct
+ * object header version
+ */
+ Group group = file.createGroup(GROUP1);
+
+ obj_version = file.childObjVersion(GROUP1);
+ verify_val(obj_version, oh_vers_mod, "H5File::childObjVersion", __LINE__, __FILE__);
+
+ group.close(); // close "/G1"
+
+ /*
+ * Create a group named "/G1/G3" in the file, and make sure it has the
+ * correct object header version
+ */
+ group = file.createGroup(SUBGROUP3);
+
+ obj_version = group.childObjVersion(SUBGROUP3);
+ verify_val(obj_version, oh_vers_mod, "H5File::childObjVersion", __LINE__, __FILE__);
+
+ group.close(); // close "/G1/G3"
+
+ /*
+ * Make sure the root group still has the correct object header version
+ */
+ obj_version = file.childObjVersion(ROOTGROUP);
+ verify_val(obj_version, oh_vers_create, "H5File::childObjVersion", __LINE__, __FILE__);
+
+ // Everything should be closed as they go out of scope
+ } // end of try block
+
+ catch (Exception E) {
+ issue_fail_msg("test_libver_bounds_real()", __LINE__, __FILE__, E.getCDetailMsg());
+ }
+
+} /* end test_libver_bounds_real() */
+
+/*-------------------------------------------------------------------------
+ *
+ * Function: test_libver_bounds
+ *
+ * Purpose: Verify that a file created and modified with various
+ * libver bounds is handled correctly.
+ *
+ * Return: None
+ *
+ * Programmer: Binh-Minh Ribler (use C version)
+ * March 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_libver_bounds()
+{
+ // Output message about test being performed
+ SUBTEST("Setting library version bounds");
+
+ /* Run the tests */
+ test_libver_bounds_real(H5F_LIBVER_EARLIEST, H5O_VERSION_1, H5F_LIBVER_LATEST, H5O_VERSION_2);
+ test_libver_bounds_real(H5F_LIBVER_LATEST, H5O_VERSION_2, H5F_LIBVER_EARLIEST, H5O_VERSION_1);
+ PASSED();
+} /* end test_libver_bounds() */
+
/*-------------------------------------------------------------------------
* Function: test_file
*
@@ -629,6 +769,7 @@ void test_file()
test_file_size(); // Test file size
test_file_name(); // Test getting file's name
test_file_attribute(); // Test file attribute feature
+ test_libver_bounds(); // Test format version
} // test_file()
@@ -655,4 +796,5 @@ void cleanup_file()
HDremove(FILE3.c_str());
HDremove(FILE4.c_str());
HDremove(FILE5.c_str());
+ HDremove(FILE6.c_str());
} // cleanup_file
diff --git a/c++/test/tobject.cpp b/c++/test/tobject.cpp
index c74d34a..2381ec2 100644
--- a/c++/test/tobject.cpp
+++ b/c++/test/tobject.cpp
@@ -182,20 +182,38 @@ static void test_get_objname_ontypes()
// Create a datatype and save it
IntType inttype(PredType::STD_B8LE);
+ inttype.commit(file, "INT type of STD_B8LE");
+ // Close the type then open it again to test getting its name
+ inttype.close();
+ inttype = file.openIntType("INT type of STD_B8LE");
+
+ // Get and verify its name
+ H5std_string inttype_name = inttype.getObjName();
+ verify_val(inttype_name, "/INT type of STD_B8LE", "DataType::getObjName", __LINE__, __FILE__);
+
+ // Make copy of a predefined type and save it
DataType dtype(PredType::STD_B8LE);
dtype.commit(file, "STD_B8LE");
+ // Close the data type and file
+ dtype.close();
+ file.close();
+
+ // Re-open the file and the data type to test getting its name
+ file.openFile(FILE_OBJECTS, H5F_ACC_RDWR);
+ dtype = file.openDataType("STD_B8LE");
+
// Get and verify its name
H5std_string type_name = dtype.getObjName();
- verify_val(type_name, "/STD_B8LE", "DataSet::getObjName", __LINE__, __FILE__);
+ verify_val(type_name, "/STD_B8LE", "DataType::getObjName", __LINE__, __FILE__);
// Test getting type's name from copied type
DataType copied_type;
copied_type.copy(dtype);
copied_type.commit(file, "copy of STD_B8LE");
type_name = copied_type.getObjName();
- verify_val(type_name, "/copy of STD_B8LE", "DataSet::getObjName", __LINE__, __FILE__);
+ verify_val(type_name, "/copy of STD_B8LE", "DataType::getObjName", __LINE__, __FILE__);
// Test copying an integer predefined type
IntType new_int_type(PredType::NATIVE_INT);
@@ -203,8 +221,8 @@ static void test_get_objname_ontypes()
// Name this datatype
new_int_type.commit(grp, "IntType NATIVE_INT");
ssize_t name_len = new_int_type.getObjName(type_name); // default len
- verify_val(name_len, (ssize_t)HDstrlen("/typetests/IntType NATIVE_INT"), "DataSet::getObjName", __LINE__, __FILE__);
- verify_val(type_name, "/typetests/IntType NATIVE_INT", "DataSet::getObjName", __LINE__, __FILE__);
+ verify_val(name_len, (ssize_t)HDstrlen("/typetests/IntType NATIVE_INT"), "DataType::getObjName", __LINE__, __FILE__);
+ verify_val(type_name, "/typetests/IntType NATIVE_INT", "DataType::getObjName", __LINE__, __FILE__);
// Close everything or they can be closed when objects go out of scope
dtype.close();
diff --git a/c++/test/ttypes.cpp b/c++/test/ttypes.cpp
index 004723f..2e64051 100644
--- a/c++/test/ttypes.cpp
+++ b/c++/test/ttypes.cpp
@@ -283,10 +283,16 @@ static void test_query()
tid2.close();
file.close();
+ // Try truncating the file to make sure reference counting is good.
+ // If any references to ids of tid1 and tid2 are left unterminated,
+ // the truncating will fail, because the file will not be closed in
+ // the file.close() above.
+ H5File file1(FILENAME[2], H5F_ACC_TRUNC);
+
PASSED();
} // end of try block
catch (Exception E) {
- issue_fail_msg("test_query", __LINE__, __FILE__, E.getCDetailMsg());
+ issue_fail_msg("test_query", __LINE__, __FILE__, E.getCDetailMsg());
}
} // test_query
@@ -467,27 +473,20 @@ static void test_named ()
trans_type.setPrecision(256);
trans_type.close();
- /*
- * Close the committed type and reopen it. It should return a named type.
-* This had something to do with the way IntType was returned and assigned
-and caused itype.committed not working correctly. So, use another_type for
-now.
+ // Close the committed type and reopen it. It should be a named type.
itype.close();
itype = file.openIntType("native-int");
iscommitted = itype.committed();
-*/
- IntType another_type = file.openIntType("native-int");
- iscommitted = another_type.committed();
if (!iscommitted)
throw InvalidActionException("IntType::committed()", "Opened named types should be named types!");
// Create a dataset that uses the named type, then get the dataset's
// datatype and make sure it's a named type.
- DataSet dset = file.createDataSet("dset1", another_type, space);
+ DataSet dset = file.createDataSet("dset1", itype, space);
ds_type = new DataType(dset.getDataType());
iscommitted = ds_type->committed();
if (!iscommitted)
- throw InvalidActionException("IntType::committed()", "1 Dataset type should be named type!");
+ throw InvalidActionException("IntType::committed()", "Dataset type should be named type!");
dset.close();
ds_type->close();
delete ds_type;
diff --git a/config/cce-fflags b/config/cce-fflags
new file mode 100644
index 0000000..896e711
--- /dev/null
+++ b/config/cce-fflags
@@ -0,0 +1,73 @@
+# -*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+
+# This file should be sourced into configure if the compiler is the
+# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything
+# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes'
+#
+
+# Get the compiler version in a way that works for cce
+# unless a compiler version is already known
+#
+# cc_vendor: The compiler name: Cray
+# cc_version: Version number: 8.3.0
+#
+if test X = "X$f9x_flags_set"; then
+ f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep 'Cray'`"
+ if test X != "X$f9x_version"; then
+ f9x_vendor=cce
+ f9x_version=`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`
+ echo "compiler '$FC' is Cray $f9x_vendor-$f9x_version"
+ fc_version_info=$f9x_version
+ fi
+fi
+
+# Common Cray flags for various situations
+if test "X-cce" = "X-$f9x_vendor"; then
+ # Insert section about version specific problems from compiler flags here,
+ # if necessary.
+
+ arch=
+ # Architecture-specific flags
+ # Nothing currently. (Uncomment code below and modify to add any)
+ #case "$host_os-$host_cpu" in
+ # *-i686)
+ # arch="-march=i686"
+ # ;;
+ #esac
+
+ # General
+ H5_FCFLAGS="${H5_FCFLAGS} -hnocaf"
+
+ # Production
+ # -Wl,-s to remove all symbols for smaller file
+ PROD_FCFLAGS="-O3 -Wl,-s"
+
+ # Debug
+ DEBUG_FCFLAGS="-g -O0"
+
+ # Profile
+ # Use this for profiling with gprof
+ PROFILE_FCFLAGS="-g -p"
+
+ # Flags are set
+ f9x_flags_set=yes
+fi
+
+# Clear f9x info if no flags set
+if test "X-$f9x_flags_set" = "X-"; then
+ f9x_vendor=
+ f9x_version=
+fi
diff --git a/config/cce-flags b/config/cce-flags
new file mode 100644
index 0000000..a34fcbe
--- /dev/null
+++ b/config/cce-flags
@@ -0,0 +1,79 @@
+# -*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+
+# This file should be sourced into configure if the compiler is the
+# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything
+# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes'
+#
+
+# Get the compiler version in a way that works for cce
+# unless a compiler version is already known
+#
+# cc_vendor: The compiler name: Cray
+# cc_version: Version number: 8.3.0
+#
+if test X = "X$cc_flags_set"; then
+ cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'Cray'`"
+ if test X != "X$cc_version"; then
+ cc_vendor=cce
+ cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`
+ echo "compiler '$CC' is Cray $cc_vendor-$cc_version"
+ cc_version_info=$cc_version
+ cxx_version_info=$cc_version
+ fi
+fi
+
+# Common Cray flags for various situations
+if test "X-cce" = "X-$cc_vendor"; then
+ # Insert section about version specific problems from compiler flags here,
+ # if necessary.
+
+ arch=
+ # Architecture-specific flags
+ # Nothing currently. (Uncomment code below and modify to add any)
+ #case "$host_os-$host_cpu" in
+ # *-i686)
+ # arch="-march=i686"
+ # ;;
+ #esac
+
+ # General
+ # Default to C99 standard.
+ H5_CFLAGS="${H5_CFLAGS:--hc99 $arch}"
+
+ # Production
+ # -Wl,-s to remove all symbols for smaller file
+ PROD_CFLAGS="-O3 -Wl,-s"
+ PROD_CPPFLAGS=
+
+ # Debug
+ DEBUG_CFLAGS="-g -O0"
+ DEBUG_CPPFLAGS=
+
+ # Profile
+ # Use this for profiling with gprof
+ PROFILE_CFLAGS="-g -p"
+ PROFILE_CPPFLAGS=
+
+ # Flags are set
+ cc_flags_set=yes
+
+fi
+
+# Clear cc info if no flags set
+if test "X-$cc_flags_set" = "X-"; then
+ cc_vendor=
+ cc_version=
+fi
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 80b44cb..b193ff4 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -33,18 +33,6 @@ endif (HDF5_METADATA_TRACE_FILE)
MARK_AS_ADVANCED (HDF5_METADATA_TRACE_FILE)
# ----------------------------------------------------------------------
-# Decide whether the data accuracy has higher priority during data
-# conversions. If not, some hard conversions will still be prefered even
-# though the data may be wrong (for example, some compilers don't
-# support denormalized floating values) to maximize speed.
-#
-option (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON)
-if (HDF5_WANT_DATA_ACCURACY)
- set (H5_WANT_DATA_ACCURACY 1)
-endif (HDF5_WANT_DATA_ACCURACY)
-MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY)
-
-# ----------------------------------------------------------------------
# Decide whether the presence of user's exception handling functions is
# checked and data conversion exceptions are returned. This is mainly
# for the speed optimization of hard conversions. Soft conversions can
@@ -73,13 +61,6 @@ if (HDF5_ENABLE_HSIZET)
set (${HDF_PREFIX}_HAVE_LARGE_HSIZET 1)
endif (HDF5_ENABLE_HSIZET)
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can handle converting
-# floating-point to long long values.
-# (This flag should be _unset_ for all machines)
-#
-# set (H5_HW_FP_TO_LLONG_NOT_WORKS 0)
-
# so far we have no check for this
set (H5_HAVE_TMPFILE 1)
@@ -258,109 +239,6 @@ ENDMACRO (H5MiscConversionTest)
# Check various conversion capabilities
#-----------------------------------------------------------------------------
-# -----------------------------------------------------------------------
-# Set flag to indicate that the machine can handle conversion from
-# long double to integers accurately. This flag should be set "yes" for
-# all machines except all SGIs. For SGIs, some conversions are
-# incorrect and its cache value is set "no" in its config/irix6.x and
-# irix5.x.
-#
-H5MiscConversionTest (H5_SIZEOF_LONG_DOUBLE H5_LDOUBLE_TO_INTEGER_ACCURATE "checking IF converting from long double to integers is accurate")
-# -----------------------------------------------------------------------
-# Set flag to indicate that the machine can do conversion from
-# long double to integers regardless of accuracy. This flag should be
-# set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
-# compiler has 'floating exception' when converting 'long double' to all
-# integers except 'unsigned long long'. Other HP-UX systems are unknown
-# yet. (1/8/05 - SLU)
-#
-H5ConversionTests (H5_LDOUBLE_TO_INTEGER_WORKS "Checking IF converting from long double to integers works")
-# -----------------------------------------------------------------------
-# Set flag to indicate that the machine can handle conversion from
-# integers to long double. (This flag should be set "yes" for all
-# machines except all SGIs, where some conversions are
-# incorrect and its cache value is set "no" in its config/irix6.x and
-# irix5.x)
-#
-H5MiscConversionTest (H5_SIZEOF_LONG_DOUBLE H5_INTEGER_TO_LDOUBLE_ACCURATE "checking IF accurately converting from integers to long double")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'unsigned long' to 'float' values.
-# (This flag should be set for all machines, except for Pathscale compiler
-# on Sandia's Linux machine where the compiler interprets 'unsigned long'
-# values as negative when the first bit of 'unsigned long' is on during
-# the conversion to float.)
-#
-H5ConversionTests (H5_ULONG_TO_FLOAT_ACCURATE "Checking IF accurately converting unsigned long to float values")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'unsigned (long) long' values to 'float' and 'double' values.
-# (This flag should be set for all machines, except for the SGIs, where
-# the cache value is set in the config/irix6.x config file) and Solaris
-# 64-bit machines, where the short program below tests if round-up is
-# correctly handled.
-#
-if (CMAKE_SYSTEM MATCHES "solaris2.*")
- H5ConversionTests (H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE "Checking IF accurately converting unsigned long long to floating-point values")
-else (CMAKE_SYSTEM MATCHES "solaris2.*")
- set (H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE 1)
-endif (CMAKE_SYSTEM MATCHES "solaris2.*")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'float' or 'double' to 'unsigned long long' values.
-# (This flag should be set for all machines, except for PGI compiler
-# where round-up happens when the fraction of float-point value is greater
-# than 0.5.
-#
-H5ConversionTests (H5_FP_TO_ULLONG_ACCURATE "Checking IF accurately roundup converting floating-point to unsigned long long values" )
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'float', 'double' or 'long double' to 'unsigned long long' values.
-# (This flag should be set for all machines, except for HP-UX machines
-# where the maximal number for unsigned long long is 0x7fffffffffffffff
-# during conversion.
-#
-H5ConversionTests (H5_FP_TO_ULLONG_RIGHT_MAXIMUM "Checking IF right maximum converting floating-point to unsigned long long values" )
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'long double' to 'unsigned int' values. (This flag should be set for
-# all machines, except for some Intel compilers on some Linux.)
-#
-H5ConversionTests (H5_LDOUBLE_TO_UINT_ACCURATE "Checking IF correctly converting long double to unsigned int values")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can _compile_
-# 'unsigned long long' to 'float' and 'double' typecasts.
-# (This flag should be set for all machines.)
-#
-if (H5_ULLONG_TO_FP_CAST_WORKS MATCHES ^H5_ULLONG_TO_FP_CAST_WORKS$)
- set (H5_ULLONG_TO_FP_CAST_WORKS 1 CACHE INTERNAL "Checking IF compiling unsigned long long to floating-point typecasts work")
- message (STATUS "Checking IF compiling unsigned long long to floating-point typecasts work... yes")
-endif (H5_ULLONG_TO_FP_CAST_WORKS MATCHES ^H5_ULLONG_TO_FP_CAST_WORKS$)
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can _compile_
-# 'long long' to 'float' and 'double' typecasts.
-# (This flag should be set for all machines.)
-#
-if (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$)
- set (H5_LLONG_TO_FP_CAST_WORKS 1 CACHE INTERNAL "Checking IF compiling long long to floating-point typecasts work")
- message (STATUS "Checking IF compiling long long to floating-point typecasts work... yes")
-endif (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$)
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can convert from
-# 'unsigned long long' to 'long double' without precision loss.
-# (This flag should be set for all machines, except for FreeBSD(sleipnir)
-# where the last 2 bytes of mantissa are lost when compiler tries to do
-# the conversion, and Cygwin where compiler doesn't do rounding correctly.)
-#
-H5ConversionTests (H5_ULLONG_TO_LDOUBLE_PRECISION "Checking IF converting unsigned long long to long double with precision")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can handle overflow converting
-# all floating-point to all integer types.
-# (This flag should be set for all machines, except for Cray X1 where
-# floating exception is generated when the floating-point value is greater
-# than the maximal integer value).
-#
-H5ConversionTests (H5_FP_TO_INTEGER_OVERFLOW_WORKS "Checking IF overflows normally converting floating-point to integer values")
# ----------------------------------------------------------------------
# Set the flag to indicate that the machine is using a special algorithm to convert
# 'long double' to '(unsigned) long' values. (This flag should only be set for
@@ -381,44 +259,10 @@ H5ConversionTests (H5_LDOUBLE_TO_LONG_SPECIAL "Checking IF your system converts
#
H5ConversionTests (H5_LONG_TO_LDOUBLE_SPECIAL "Checking IF your system can convert (unsigned) long to long double values with special algorithm")
# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# 'long double' to '(unsigned) long long' values. (This flag should be set for
-# all machines, except for Mac OS 10.4 and SGI IRIX64 6.5. When the bit sequence
-# of long double is 0x4351ccf385ebc8a0bfcc2a3c..., the values of (unsigned)long long
-# start to go wrong on these two machines. Adjusting it higher to
-# 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted
-# values wildly wrong. This test detects this wrong behavior and disable the test.
-#
-H5ConversionTests (H5_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctly converting long double to (unsigned) long long values")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can accurately convert
-# '(unsigned) long long' to 'long double' values. (This flag should be set for
-# all machines, except for Mac OS 10.4, when the bit sequences are 003fff...,
-# 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice
-# as big as they should be.
-#
-H5ConversionTests (H5_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values")
-# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine generates bad code
-# for the H5VM_log2_gen() routine in src/H5VMprivate.h
-# (This flag should be set to no for all machines, except for SGI IRIX64,
-# where the cache value is set to yes in it's config file)
-#
-if (H5_BAD_LOG2_CODE_GENERATED MATCHES ^H5_BAD_LOG2_CODE_GENERATED$)
- set (H5_BAD_LOG2_CODE_GENERATED 0 CACHE INTERNAL "Define if your system generates wrong code for log2 routine")
- message (STATUS "Checking IF your system generates wrong code for log2 routine... no")
-endif (H5_BAD_LOG2_CODE_GENERATED MATCHES ^H5_BAD_LOG2_CODE_GENERATED$)
-# ----------------------------------------------------------------------
# Check if pointer alignments are enforced
#
H5ConversionTests (H5_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced")
-# Define a macro for Cygwin (on XP only) where the compiler has rounding
-# problem converting from unsigned long long to long double */
-if (CYGWIN)
- set (H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM 1)
-endif (CYGWIN)
-
# -----------------------------------------------------------------------
# wrapper script variables
#
diff --git a/config/cmake/ConversionTests.c b/config/cmake/ConversionTests.c
index 010ee32..cd2e8bb 100644
--- a/config/cmake/ConversionTests.c
+++ b/config/cmake/ConversionTests.c
@@ -1,95 +1,3 @@
-#ifdef H5_FP_TO_INTEGER_OVERFLOW_WORKS_TEST
-
-int main(void)
-{
- float f = 2147483648.0f;
- int i;
-
- i = (int)f;
-
-done:
- exit(0);
-}
-
-#endif
-
-#ifdef H5_FP_TO_ULLONG_ACCURATE_TEST
-
-int main(void)
-{
- float f = 111.60f;
- double d = 222.55L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d;
- int ret = 0;
-
- if(l1 == 112)
- ret = 1;
- if(l2 == 223)
- ret = 1;
-
-done:
- exit(ret);
-}
-
-#endif
-
-#ifdef H5_FP_TO_ULLONG_RIGHT_MAXIMUM_TEST
-int main(void)
-{
- float f = 9701917572145405952.00f;
- double d1 = 9701917572145405952.00L;
- long double d2 = 9701917572145405952.00L;
- double d3 = 2e40L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d1;
- unsigned long long l3 = (unsigned long long)d2;
- unsigned long long l4;
- unsigned long long l5 = 0x7fffffffffffffffULL;
- int ret = 0;
-
- if(l1 <= l5 || l2 <= l5 || l3 <= l5)
- ret = 1;
-
- l4 = (unsigned long long)d3;
- if(l4 <= l5)
- ret = 1;
-
-done:
- exit(ret);
-}
-
-#endif
-
-#ifdef H5_LDOUBLE_TO_INTEGER_WORKS_TEST
-
-#include <stdlib.h>
-#include <string.h>
-
-int main(void)
-{
- void *align;
- long double ld= 9701917572145405952.00L;
- unsigned char v1;
- short v2;
- unsigned int v3;
- int ret = 0;
-
- align = (void*)malloc(sizeof(long double));
- memcpy(align, &ld, sizeof(long double));
-
- /*For HU-UX11.00, there's floating exception(core dump) when doing some of casting
- *from 'long double' to integers*/
- v1=(unsigned char)(*((long double*)align));
- v2=(short)(*((long double*)align));
- v3=(unsigned int)(*((long double*)align));
-
-done:
- exit(ret);
-}
-
-#endif
-
#ifdef H5_LDOUBLE_TO_LONG_SPECIAL_TEST
int main(void)
@@ -208,104 +116,6 @@ done:
#endif
-#ifdef H5_LDOUBLE_TO_LLONG_ACCURATE_TEST
-int main(void)
-{
- long double ld = 20041683600089727.779961L;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int ret = 0;
-
- if(sizeof(long double) == 16) {
- /*make sure the long double type is the same as the failing type
- *which has 16 bytes in size and 11 bits of exponent. If it is,
- *the bit sequence should be like below. It's not
- *a decent way to check but this info isn't available. */
- memcpy(s, &ld, 16);
- if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
- s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
- s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
-
- /*slightly adjust the bit sequence (s[8]=0xdf). The converted
- *values will go wild on Mac OS 10.4 and IRIX64 6.5.*/
- s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
- s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
- s[8]=0xdf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
- s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
-
- memcpy(&ld, s, 16);
- ll = (long long)ld;
- ull = (unsigned long long)ld;
-
- if(ll != 20041683600089728 || ull != 20041683600089728)
- ret = 1;
- }
- }
-done:
- exit(ret);
-}
-#endif
-
-#ifdef H5_LDOUBLE_TO_UINT_ACCURATE_TEST
-int main(void)
-{
- long double ld = 2733248032.9183987530L;
- unsigned int i;
- int ret = 0;
-
- i = (unsigned int)ld;
- if(i!=2733248032 && i!=2733248031 && i!=2733248033)
- ret = 1;
-
-done:
- exit(ret);
-}
-#endif
-
-#ifdef H5_LLONG_TO_LDOUBLE_CORRECT_TEST
-int main(void)
-{
- long double ld;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int flag=0, ret=0;
-
- /*Determine if long double has 16 byte in size, 11 bit exponent, and
- *the bias is 0x3ff */
- if(sizeof(long double) == 16) {
- ld = 1.0L;
- memcpy(s, &ld, 16);
- if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
- flag = 1;
- }
-
- if(flag==1 && sizeof(long long)==8) {
- ll = 0x01ffffffffffffffLL;
- ld = (long double)ll;
- memcpy(s, &ld, 16);
- /*Check if the bit sequence is as supposed to be*/
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
- if(flag==1 && sizeof(unsigned long long)==8) {
- ull = 0x01ffffffffffffffULL;
- ld = (long double)ull;
- memcpy(s, &ld, 16);
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
-done:
- exit(ret);
-}
-#endif
-
#ifdef H5_NO_ALIGNMENT_RESTRICTIONS_TEST
#include <stdlib.h>
@@ -359,180 +169,3 @@ main ()
#endif
-#ifdef H5_ULLONG_TO_LDOUBLE_PRECISION_TEST
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-int main(void)
-{
- /* General variables */
- int endian;
- int tst_value = 1;
- int ret = 0;
-
- /* For FreeBSD */
- unsigned long long l = 0xa601e80bda85fcefULL;
- long double ld;
- unsigned char *c1, *c2;
- size_t size;
-
- /* For Cygwin */
- unsigned long long l_cyg = 0xfffffffffffffff0ULL;
- long double ld_cyg;
- unsigned char *c2_cyg;
- size_t size_cyg;
-
-
- /* Determine this system's endianess */
- c1 = (unsigned char*)calloc(1, sizeof(int));
- memcpy((void*)c1, &tst_value, sizeof(int));
- if(c1[0]==1)
- endian = 0; /* little endian */
- else
- endian = 1; /* big endian */
-
- /* For FreeBSD */
- size = sizeof(long double);
- memset(&ld, 0, size);
- ld = (long double)l;
-
- c2 = (unsigned char*)calloc(1, size);
- memcpy((void*)c2, &ld, size);
-
- /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel
- * architecture(sleipnir) where it happens. */
- /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/
- if(endian==0 && c2[0]==0) { /*little endian*/
- ret = 1;
- goto done;
- }
-
- /* For Cygwin */
- size_cyg = sizeof(long double);
- memset(&ld_cyg, 0, size);
- ld_cyg = (long double)l_cyg;
-
- c2_cyg = (unsigned char*)calloc(1, size_cyg);
- memcpy((void*)c2_cyg, &ld_cyg, size_cyg);
-
- /* Test if the last 4 bytes(roughly) of mantissa are rounded up. Mainly for Cygwin
- * where the values like 0xffffffffffffffff, 0xfffffffffffffffe, ...,
- * 0xfffffffffffff000 ... are rounded up as 0x0000403f8000000000000000
- * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ...,
- * 0x0000403efffffffffffff000 ...
- */
- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0)
- ret = 1;
-
-done:
- if(c1)
- free(c1);
- if(c2)
- free(c2);
- if(c2_cyg)
- free(c2_cyg);
- exit(ret);
-}
-
-#endif
-
-
-#ifdef H5_ULONG_TO_FLOAT_ACCURATE_TEST
-
-int main(void)
-{
- int ret = 0;
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- float f1;
- float f2;
- float f3;
-
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xffffffffffffffffUL;
- l2 = 0xffffffffffff0000UL;
- l3 = 0xf000000000000000UL;
-
- f1 = (float)l1;
- f2 = (float)l2;
- f3 = (float)l3;
-
- if((f1 < 0) || (f2 < 0) || (f3 < 0))
- ret = 1;
- }
-
-done:
- exit(ret);
-}
-
-#endif
-
-#ifdef H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE_TEST
-
-#include <string.h>
-
-
-int main(void)
-{
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- unsigned long l4;
- unsigned long long ld1;
- unsigned long long ld2;
- unsigned long long ld3;
- unsigned long long ld4;
- double d1, d2, d3, d4;
- unsigned char s[8];
- int ret = 0;
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xf000000000000b00UL; /*Round-down case*/
- l2 = 0xf000000000000401UL; /*Round-up case*/
- l3 = 0xf000000000000400UL; /*Round-down case*/
- l4 = 0xf000000000000c00UL; /*Round-up case*/
-
- d1 = (double)l1;
- d2 = (double)l2;
- d3 = (double)l3;
- d4 = (double)l4;
- } else if(sizeof(unsigned long long)==8) {
- ld1 = 0xf000000000000b00ULL; /*Round-down case*/
- ld2 = 0xf000000000000401ULL; /*Round-up case*/
- ld3 = 0xf000000000000400ULL; /*Round-down case*/
- ld4 = 0xf000000000000c00ULL; /*Round-up case*/
-
- d1 = (double)ld1;
- d2 = (double)ld2;
- d3 = (double)ld3;
- d4 = (double)ld4;
- } else {
- ret = 1;
- goto done;
- }
-
- memcpy(s, &d1, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d2, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d3, 8);
- if(s[7]!=0)
- ret = 1;
-
- memcpy(s, &d4, 8);
- if(s[7]!=2)
- ret = 1;
-
-done:
- exit(ret);
-}
-}
-#endif
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index ff05373..c47b7c4 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -36,24 +36,13 @@
/* Define if building universal (internal helper macro) */
#cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@
-/* Define if your system generates wrong code for log2 routine. */
-#cmakedefine H5_BAD_LOG2_CODE_GENERATED @H5_BAD_LOG2_CODE_GENERATED@
-
/* Define if the memory buffers being written to disk should be cleared before
writing. */
#cmakedefine H5_CLEAR_MEMORY @H5_CLEAR_MEMORY@
-/* Define if your system can handle converting denormalized floating-point
- values. */
-#cmakedefine H5_CONVERT_DENORMAL_FLOAT @H5_CONVERT_DENORMAL_FLOAT@
-
/* Define if C++ compiler recognizes offsetof */
#cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@
-/* Define a macro for Cygwin (on XP only) where the compiler has rounding
- problem converting from unsigned long long to long double */
-#cmakedefine H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM @H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM@
-
/* Define the default plugins path to compile */
#cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@"
@@ -74,18 +63,6 @@
/* As FC_FUNC, but for C identifiers containing underscores. */
#define @H5_FC_FUNC_@
-/* Define if your system can handle overflow converting floating-point to
- integer values. */
-#cmakedefine H5_FP_TO_INTEGER_OVERFLOW_WORKS @H5_FP_TO_INTEGER_OVERFLOW_WORKS@
-
-/* Define if your system roundup accurately converting floating-point to
- unsigned long long values. */
-#cmakedefine H5_FP_TO_ULLONG_ACCURATE @H5_FP_TO_ULLONG_ACCURATE@
-
-/* Define if your system has right maximum convert floating-point to unsigned
- long long values. */
-#cmakedefine H5_FP_TO_ULLONG_RIGHT_MAXIMUM @H5_FP_TO_ULLONG_RIGHT_MAXIMUM@
-
/* Define to 1 if you have the `alarm' function. */
#cmakedefine H5_HAVE_ALARM @H5_HAVE_ALARM@
@@ -218,9 +195,6 @@
/* Define to 1 if you have the `dmalloc' library (-ldmalloc). */
#cmakedefine H5_HAVE_LIBDMALLOC @H5_HAVE_LIBDMALLOC@
-/* Define to 1 if you have the `lmpe' library (-llmpe). */
-#cmakedefine H5_HAVE_LIBLMPE @H5_HAVE_LIBLMPE@
-
/* Define to 1 if you have the `m' library (-lm). */
#cmakedefine H5_HAVE_LIBM @H5_HAVE_LIBM@
@@ -449,42 +423,13 @@
/* Define to 1 if you have the `_scrsize' function. */
#cmakedefine H5_HAVE__SCRSIZE @H5_HAVE__SCRSIZE@
-/* Define if your system can't handle converting floating-point values to long
- long. */
-#cmakedefine H5_HW_FP_TO_LLONG_NOT_WORKS @H5_HW_FP_TO_LLONG_NOT_WORKS@
-
/* Define if HDF5's high-level library headers should be included in hdf5.h */
#cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@
-/* Define if your system can accurately convert from integers to long double
- values. */
-#cmakedefine H5_INTEGER_TO_LDOUBLE_ACCURATE @H5_INTEGER_TO_LDOUBLE_ACCURATE@
-
-/* Define if your system can convert long double to integers accurately. */
-#cmakedefine H5_LDOUBLE_TO_INTEGER_ACCURATE @H5_LDOUBLE_TO_INTEGER_ACCURATE@
-
-/* Define if your system can convert from long double to integer values. */
-#cmakedefine H5_LDOUBLE_TO_INTEGER_WORKS @H5_LDOUBLE_TO_INTEGER_WORKS@
-
-/* Define if your system can convert long double to (unsigned) long long
- values correctly. */
-#cmakedefine H5_LDOUBLE_TO_LLONG_ACCURATE @H5_LDOUBLE_TO_LLONG_ACCURATE@
-
/* Define if your system converts long double to (unsigned) long values with
special algorithm. */
#cmakedefine H5_LDOUBLE_TO_LONG_SPECIAL @H5_LDOUBLE_TO_LONG_SPECIAL@
-/* Define if your system can convert long double to unsigned int values
- correctly. */
-#cmakedefine H5_LDOUBLE_TO_UINT_ACCURATE @H5_LDOUBLE_TO_UINT_ACCURATE@
-
-/* Define if your system can compile long long to floating-point casts. */
-#cmakedefine H5_LLONG_TO_FP_CAST_WORKS @H5_LLONG_TO_FP_CAST_WORKS@
-
-/* Define if your system can convert (unsigned) long long to long double
- values correctly. */
-#cmakedefine H5_LLONG_TO_LDOUBLE_CORRECT @H5_LLONG_TO_LDOUBLE_CORRECT@
-
/* Define if your system can convert (unsigned) long to long double values
with special algorithm. */
#cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@
@@ -678,22 +623,6 @@
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#cmakedefine H5_TM_IN_SYS_TIME @H5_TM_IN_SYS_TIME@
-/* Define if your system can compile unsigned long long to floating-point
- casts. */
-#cmakedefine H5_ULLONG_TO_FP_CAST_WORKS @H5_ULLONG_TO_FP_CAST_WORKS@
-
-/* Define if your system can convert unsigned long long to long double with
- correct precision. */
-#cmakedefine H5_ULLONG_TO_LDOUBLE_PRECISION @H5_ULLONG_TO_LDOUBLE_PRECISION@
-
-/* Define if your system accurately converting unsigned long to float values.
- */
-#cmakedefine H5_ULONG_TO_FLOAT_ACCURATE @H5_ULONG_TO_FLOAT_ACCURATE@
-
-/* Define if your system can accurately convert unsigned (long) long values to
- floating-point values. */
-#cmakedefine H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE @H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE@
-
/* Define using v1.6 public API symbols by default */
#cmakedefine H5_USE_16_API_DEFAULT @H5_USE_16_API_DEFAULT@
@@ -708,13 +637,6 @@
/* Version number of package */
#define H5_VERSION "@HDF5_PACKAGE_VERSION_STRING@"
-/* Define if vsnprintf() returns the correct value for formatted strings that
- don't fit into size allowed */
-#cmakedefine H5_VSNPRINTF_WORKS @H5_VSNPRINTF_WORKS@
-
-/* Data accuracy is prefered to speed during data conversions */
-#cmakedefine H5_WANT_DATA_ACCURACY @H5_WANT_DATA_ACCURACY@
-
/* Check exception handling functions during data conversions */
#cmakedefine H5_WANT_DCONV_EXCEPTION @H5_WANT_DCONV_EXCEPTION@
diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in
index efd7c04..d767f51 100644
--- a/config/cmake/HDF518_Examples.cmake.in
+++ b/config/cmake/HDF518_Examples.cmake.in
@@ -13,8 +13,8 @@ set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
set(CTEST_BUILD_CONFIGURATION "Release")
#set(NO_MAC_FORTRAN "true")
#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
-#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON)
-set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}")
+set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON")
+#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}")
###############################################################################################################
# Adjust the following SET Commands as needed
@@ -23,7 +23,7 @@ if(WIN32)
if(STATICLIBRARIES)
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF")
endif(STATICLIBRARIES)
- set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake/hdf5")
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
@@ -31,7 +31,7 @@ else(WIN32)
if(STATICLIBRARIES)
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
endif(STATICLIBRARIES)
- set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake/hdf5")
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
@@ -71,8 +71,8 @@ if(CTEST_USE_TAR_SOURCE)
message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip]")
execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
else(WIN32)
- message(STATUS "extracting... [${CTEST_CMAKE_COMMAND} -E tar -xvf ${CTEST_SOURCE_NAME}.tar.gz]")
- execute_process(COMMAND tar -xvf ${CTEST_SOURCE_NAME}.tar.gz RESULT_VARIABLE rv)
+ message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]")
+ execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
endif(WIN32)
if(NOT rv EQUAL 0)
diff --git a/config/cmake/README.txt.cmake.in b/config/cmake/README.txt.cmake.in
index 4044ce5..cc8baeb 100644
--- a/config/cmake/README.txt.cmake.in
+++ b/config/cmake/README.txt.cmake.in
@@ -24,15 +24,15 @@ Installation
After Installation
===========================================================================
-The compressed examples file HDF5Examples-0.1.1-Source.@BINARY_EXAMPLE_ENDING@, located in the
+The examples folder, HDF5Examples, located in the
HDF5 install folder, can be built and tested with CMake and the supplied
HDF518_Examples.cmake file. The HDF518_Examples.cmake expects HDF5 to have
-been installed in the default location with above compilers. Also, CMake and 7Zip
-utilities should be installed.
+been installed in the default location with above compilers. Also, the CMake
+utility should be installed.
To test the installation with the examples;
Create a directory to run the examples.
- Copy HDF5Examples-0.1.1-Source.@BINARY_EXAMPLE_ENDING@ to this directory, do NOT unzip.
+ Copy HDF5Examples folder to this directory.
Copy HDF518_Examples.cmake to this directory.
Edit HDF518_Examples.cmake line 8 to set INSTALLDIR to where HDF5 is installed.
(The default should be correct unless you installed into a different folder.)
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index e68afe6..87d4fcc 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -10,18 +10,10 @@ set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
-set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
-
-set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
-
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
-set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
-
-set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
-
set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index 8287c7b..da5304d 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -3,63 +3,76 @@
#-----------------------------------------------------------------------------
@PACKAGE_INIT@
+string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME)
+
+set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
+ C
+ CXX
+ Fortran
+ HL
+ CXX_HL
+ Fortran_HL
+ Tools
+)
+
#-----------------------------------------------------------------------------
# User Options
#-----------------------------------------------------------------------------
-set (HDF5_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
-set (HDF5_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
-set (HDF5_ENABLE_F2003 @HDF5_ENABLE_F2003@)
-set (HDF5_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
-set (HDF5_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
-set (HDF5_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
-set (HDF5_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
-set (HDF5_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
-set (HDF5_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
-set (HDF5_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
-set (HDF5_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
+set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
+set (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
+set (${HDF5_PACKAGE_NAME}_ENABLE_F2003 @HDF5_ENABLE_F2003@)
+set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
+set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
+set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
+set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
+set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
+set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
+set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
+set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
+set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
#-----------------------------------------------------------------------------
# Dependencies
#-----------------------------------------------------------------------------
-IF(HDF5_ENABLE_PARALLEL)
- SET(HDF5_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@")
- SET(HDF5_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@")
-ENDIF(HDF5_ENABLE_PARALLEL)
+if (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL)
+ set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@")
+ set (${HDF5_PACKAGE_NAME}_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@")
+endif ()
#-----------------------------------------------------------------------------
# Directories
#-----------------------------------------------------------------------------
-set (HDF5_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${HDF5_MPI_C_INCLUDE_PATH}" )
+set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH}")
-set (HDF5_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@")
-set_and_check (HDF5_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@")
+set (${HDF5_PACKAGE_NAME}_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@")
+set_and_check (${HDF5_PACKAGE_NAME}_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@")
-if (HDF5_BUILD_FORTRAN)
- set (HDF5_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@" )
-endif (HDF5_BUILD_FORTRAN)
+if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
+ set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@")
+endif ()
-if (HDF5_BUILD_CPP_LIB)
- set (HDF5_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" )
-endif (HDF5_BUILD_CPP_LIB)
+if (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB)
+ set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@")
+endif ()
-if (HDF5_BUILD_HL_LIB)
- set (HDF5_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@" )
-endif (HDF5_BUILD_HL_LIB)
+if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB)
+ set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@")
+endif ()
-if (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB)
- set (HDF5_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" )
-endif (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB)
+if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB AND ${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB)
+ set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@")
+endif ()
-if (HDF5_BUILD_TOOLS)
- set (HDF5_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@" )
- set_and_check (HDF5_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin" )
-endif (HDF5_BUILD_TOOLS)
+if (${HDF5_PACKAGE_NAME}_BUILD_TOOLS)
+ set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@")
+ set_and_check (${HDF5_PACKAGE_NAME}_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin")
+endif ()
if (HDF5_BUILD_SHARED_LIBS)
- set (H5_BUILT_AS_DYNAMIC_LIB 1 )
-else (HDF5_BUILD_SHARED_LIBS)
- set (H5_BUILT_AS_STATIC_LIB 1 )
-endif (HDF5_BUILD_SHARED_LIBS)
+ set (H5_BUILT_AS_DYNAMIC_LIB 1)
+else ()
+ set (H5_BUILT_AS_STATIC_LIB 1)
+endif ()
#-----------------------------------------------------------------------------
# Version Strings
@@ -73,14 +86,64 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@)
# project which has already built hdf5 as a subproject
#-----------------------------------------------------------------------------
if (NOT TARGET "@HDF5_PACKAGE@")
- if (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
- include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
- endif (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
- if (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip")
- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
- endif (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip")
+ if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
+ include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
+ endif ()
+ if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip")
+ include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
+ endif ()
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
- set (HDF5_LIBRARIES "@HDF5_LIBRARIES_TO_EXPORT@")
-endif (NOT TARGET "@HDF5_PACKAGE@")
+endif ()
+
+# Handle default component :
+if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL)
+ set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true)
+endif ()
+
+# Handle requested components:
+list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ set (hdf5_comp2)
+ if (${comp} MATCHES "C")
+ set (hdf5_comp "hdf5")
+ elseif (${comp} MATCHES "CXX")
+ set (hdf5_comp "hdf5_cpp")
+ elseif (${comp} MATCHES "HL")
+ set (hdf5_comp "hdf5_hl")
+ elseif (${comp} MATCHES "CXX_HL")
+ set (hdf5_comp "hdf5_hl_cpp")
+ elseif (${comp} MATCHES "Tools")
+ set (hdf5_comp "hdf5_tools")
+ elseif (${comp} MATCHES "Fortran")
+ set (hdf5_comp2 "hdf5_f90cstub")
+ set (hdf5_comp "hdf5_fortran")
+ elseif (${comp} MATCHES "Fortran_HL")
+ set (hdf5_comp2 "hdf5_hl_f90cstub")
+ set (hdf5_comp "hdf5_hl_fortran")
+ endif ()
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
+ if (${HAVE_COMP} LESS 0)
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ else ()
+ if (hdf5_comp2)
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2)
+ if (${HAVE_COMP2} LESS 0)
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ else ()
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2} ${hdf5_comp})
+ endif ()
+ else ()
+ set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp})
+ endif ()
+ endif ()
+ endforeach ()
+
+ check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
-check_required_components(hdf5)
+set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${COMP_LIBRARY}})
+ \ No newline at end of file
diff --git a/config/craynv b/config/craynv
deleted file mode 100644
index 479d5c8..0000000
--- a/config/craynv
+++ /dev/null
@@ -1,198 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-# Disabling Dependency Tracking
-# ---------------------
-#
-# The Cray X1 machines that The HDF Group tests on seem to have trouble doing
-# dependency tracking (probably because they use Cray's C++ compiler,
-# which autoconf may not recognize). Until this is fixed by autoconf
-# or a user complains, disable dependency tracking on Crays.
-enable_dependency_tracking="no"
-
-# Choosing a C Compiler
-# ---------------------
-#
-# The user should be able to specify the compiler by setting the CC
-# environment variable to the name of the compiler and any switches it
-# requires for proper operation. If CC is unset then this script may
-# set it. If CC is unset by time this script completes then configure
-# will try `gcc' and `cc' in that order (perhaps some others too).
-#
-# Note: Code later in this file may depend on the value of $CC_BASENAME
-# in order to distinguish between different compilers when
-# deciding which compiler command-line switches to use. This
-# variable is set based on the incoming value of $CC and is only
-# used within this file.
-
-if test "X-" = "X-$CC"; then
- CC=cc
- CC_BASENAME=cc
-fi
-# no need to use RANLIB
-RANLIB=:
-
-# C Compiler and Preprocessor Flags
-# ---------------------------------
-#
-# Flags that end with `_CFLAGS' are always passed to the compiler.
-# Flags that end with `_CPPFLAGS' are passed to the compiler when
-# compiling but not when linking.
-#
-# DEBUG_CFLAGS Flags to pass to the compiler to create a
-# DEBUG_CPPFLAGS library suitable for use with debugging
-# tools. Usually this list will exclude
-# optimization switches (like `-O') and include
-# switches that turn on symbolic debugging
-# support (like `-g').
-#
-# PROD_CFLAGS Flags to pass to the compiler to create a
-# PROFILE_CPPFLAGS library suitable for performance testing (like
-# `-pg'). This may or may not include debugging
-# or production flags.
-#
-# H5_CFLAGS Flags can be added to this variable which
-# might already be partially initialized. These
-# flags will always be passed to the compiler
-# and should include switches to turn on full
-# warnings. HDF5 attempts to be ANSI and Posix
-# compliant and employ good programming
-# practices resulting in few if any
-# warnings.
-#
-# Warning flags do not have to be added to H5_CFLAGS
-# variable if the compiler is the GNU gcc
-# compiler or a descendent of gcc such as EGCS or PGCC.
-#
-# AM_CFLAGS Flags added directly into this variable will
-# be propogated to the compiler wrapper scripts (h5cc,
-# h5c++, et cetera) in addition to being used to compile
-# the library.
-#
-# These flags should be set according to the compiler being used.
-# There are two ways to check the compiler. You can try using `-v' or
-# `--version' to see if the compiler will print a version string. You
-# can use the value of $CC_BASENAME which is the base name of the
-# first word in $CC (note that the value of CC may have changed
-# above).
-
-case $CC_BASENAME in
- gcc)
- H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- cc)
- H5_CFLAGS="$H5_CFLAGS"
- DEBUG_CFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS=""
- PROD_CPPFLAGS=
- PROFILE_CFLAGS=
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CFLAGS="$H5_CFLAGS -ansi"
- DEBUG_CFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
-
-
-
-# Overriding Configure Tests
-# --------------------------
-#
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
-
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-
-# Set this to the width required by printf() to print type `long
-# long'. For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# Hard set the flag to indicate that converting denormalized floating-point
-# values doesn't work.
-hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
-
-# The default Fortran 90 compiler
-
-if test "X-" = "X-$F9X"; then
- F9X=ftn
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
- # -Wl passes flags to the linker and -M# will ignore warnings with
- # number#. Warning 405 and 412 were stopping the executable from
- # being built.
- # The -em flag enables .mod files, which is what HDF5 builds.
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS -em"
- DEBUG_FCFLAGS="-g"
- PROD_FCFLAGS=""
- PROFILE_FCFLAGS=""
- f9x_flags_set=yes
-fi
-
-# The default C++ compiler
-
-if test -z "$CXX"; then
- CXX="CC"
- CXX_BASENAME=CC
-fi
-
-case $CXX_BASENAME in
- g++)
- H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CXXFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CXXFLAGS="$H5_CXXFLAGS"
- DEBUG_CXXFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS=""
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS=
- PROFILE_CPPFLAGS=
- ;;
-esac
-
diff --git a/config/dec-flags b/config/dec-flags
deleted file mode 100644
index 8f3fa1a..0000000
--- a/config/dec-flags
+++ /dev/null
@@ -1,150 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file should be sourced into configure if the compiler is a DEC
-# compiler. It is careful not to do anything if the compiler is not
-# DEC; otherwise `cc_flags_set' is set to `yes'
-#
-
-# Get the compiler version unless it's already known.
-#
-# cc_vendor: The compiler vendor: DEC
-# cc_version: Version number, like: V5.2-038
-#
-if test X = "X$cc_flags_set"; then
- cc_vendor=DEC
- cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |head -1`"
- case "$cc_version" in
- DEC*)
- cc_version="`echo $cc_version |\
- sed 's/.*DEC C \(V[0-9][-\.0-9]*\).*/\1/'`"
- ;;
- Compaq*)
- cc_version="`echo $cc_version |\
- sed 's/.*Compaq C \(V[0-9][-\.0-9]*\).*/\1/'`"
- ;;
- esac
-
- if test X != "$gcc_version"; then
- echo "compiler '$CC' is $cc_vendor-$cc_version"
- else
- cc_vendor=
- fi
-fi
-
-# Warn about old compilers that don't work right.
-case "$cc_vendor-$cc_version" in
- DEC-V5.2-038)
- cat <<EOF
- **
- ** This compiler may generate incorrect code when optimizations are
- ** enabled. Please upgrade to a newer version (we're not sure which
- ** version actually works) before reporting bugs to the HDF5 team.
- **
-EOF
- sleep 5
- ;;
-esac
-
-# Compiler flags
-case "$cc_vendor-$cc_version" in
- DEC-V5.*)
- # Production
- PROD_CFLAGS="-std -verbose -warnprotos -ieee -misalign -O4 -ansi_args -fp_reorder -readonly_strings -inline speed"
- PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
-
- # Debug
- DEBUG_CFLAGS="-g -std -verbose -warnprotos -ieee -misalign"
- DEBUG_CPPFLAGS=
-
- # Profile
- PROFILE_CFLAGS="-pg -std -verbose -warnprotos -ieee -misalign"
- PROFILE_CPPFLAGS=
-
- # Flags are set
- cc_flags_set=yes
- ;;
-
- DEC-V6.*)
- # Production
- PROD_CFLAGS="-c99 -verbose -warnprotos -ieee -misalign -O4 -fp_reorder -readonly_strings -inline speed"
- PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
-
- # Debug
- DEBUG_CFLAGS="-g -c99 -verbose -warnprotos -ieee -misalign"
- DEBUG_CPPFLAGS=
-
- # Profile
- PROFILE_CFLAGS="-pg -c99 -verbose -warnprotos -ieee -misalign"
- PROFILE_CPPFLAGS=
-
- # Flags are set
- cc_flags_set=yes
- ;;
-esac
-
-# If no flags were set then clear the compiler vendor and version info.
-if test X = "X$cc_flags_set"; then
- cc_vendor=
- cc_version=
-fi
-
-# The default Fortran 90 compiler
-
-if test "X-" = "X-$FC"; then
- FC=f90
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS -Olimit 2048 -std1"
- DEBUG_FCFLAGS="-Olimit 2048 -std1"
- PROD_FCFLAGS="-Olimit 2048 -std1"
- PROFILE_FCFLAGS="-Olimit 2048 -std1"
- f9x_flags_set=yes
-fi
-
-# The default C++ compiler
-
-if test -z "$CXX"; then
- CXX=cxx
- CXX_BASENAME=cxx
-fi
-
-
-case $CXX_BASENAME in
- g++)
- H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CXXFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CXXFLAGS="$H5_CXXFLAGS -tlocal -D__USE_STD_IOSTREAM"
- DEBUG_CXXFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
-
diff --git a/config/hpux11.23 b/config/hpux11.23
deleted file mode 100644
index 339cc84..0000000
--- a/config/hpux11.23
+++ /dev/null
@@ -1,96 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Default compiler is `cc'
-if test "X-" = "X-$CC"; then
- CC=cc
- CC_BASENAME=cc
-fi
-
-# Flags
-case "X-$CC" in
- X-gcc)
- H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O3"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CFLAGS="$H5_CFLAGS -Ae -Wp,-H65536" #increase the size of macro definition table. For test/dtypes.c
- DEBUG_CFLAGS=-g
- DEBUG_CPPFLAGS="-Ae"
- PROD_CFLAGS=-O
- PROD_CPPFLAGS="-Ae"
- PROFILE_CFLAGS=
- PROFILE_CPPFLAGS="-Ae"
- ;;
-esac
-
-# The default Fortran 90 compiler
-
-if test "X$FC" = "X"; then
- FC=f90
-fi
-
-if test "X$f9x_flags_set" = "X"; then
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS -O"
- DEBUG_FCFLAGS="-O"
- PROD_FCFLAGS="-O"
- PROFILE_FCFLAGS="-O"
- f9x_flags_set=yes
-fi
-
-# The default C++ compiler
-
-if test -z "$CXX"; then
- CXX=aCC
- CXX_BASENAME=aCC
-fi
-
-case "X-$CXX" in
- X-aCC)
- # +Z for PIC
- H5_CXXFLAGS="$H5_CXXFLAGS +Z -D_INCLUDE_LONGLONG"
- H5_CFLAGS="$H5_CFLAGS -g +O2"
- DEBUG_CXXFLAGS=-g
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O -s"
- PROD_CPPFLAGS=
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CXXFLAGS="$H5_CXXFLAGS -D_INCLUDE_LONGLONG"
- H5_CFLAGS="$H5_CFLAGS"
- DEBUG_CXXFLAGS=
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS=
- PROD_CPPFLAGS=
- PROFILE_CPPFLAGS=
- ;;
-esac
diff --git a/config/ia64-linux-gnu b/config/ia64-linux-gnu
deleted file mode 100644
index 9f1b262..0000000
--- a/config/ia64-linux-gnu
+++ /dev/null
@@ -1,144 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-# Use Intel C compiler by default (if it's available).
-# Use mpicc for parallel by default.
-if test "X$CC" = "X"; then
- if test "X-$enable_parallel" = "X-yes"; then
- CC=mpicc
- CC_BASENAME=mpicc
- elif which icc > /dev/null; then
- CC=icc
- CC_BASENAME=icc
- fi
-fi
-
-# Define RUNPARALLEL if parallel mode is enabled or a parallel compiler used.
-if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpicc; then
- RUNPARALLEL=${RUNPARALLEL="mpirun -np \$\${NPROCS:=6}"}
-fi
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-
-case $CC_BASENAME in
- ecc|icc)
- . $srcdir/config/intel-flags
- ;;
-
- gcc)
- . $srcdir/config/gnu-flags
- ;;
-
- *)
- H5_CFLAGS="$H5_CFLAGS -ansi"
- DEBUG_CFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
-
-# The default Fortran 90 compiler
-
-# Use Intel Fortran compiler by default.
-if test X-$enable_fortran = X-yes -a "X-$FC" = "X-"; then
- if test "X-$enable_parallel" = "X-yes"; then
- FC=mpif90
- else
- FC="ifort"
- fi
-fi
-
-case $FC in
- *efc|*ifort)
- # this is for efc v7. Older efc do not work with these.
- # -Vaxlib is for non-standard fortran calls like exit().
- MORE_FCFLAGS='-fpp -DDEC$=DEC_ -DMS$=MS_ -Vaxlib'
- H5_FCFLAGS="$H5_FCFLAGS $MORE_FCFLAGS"
- f9x_flags_set=yes
- ;;
-
- *)
- f9x_flags_set=yes
- ;;
-esac
-
-# The following is not right and need work.
-if test "X$f9x_flags_set" = "X"; then
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS"
- DEBUG_FCFLAGS=""
- PROD_FCFLAGS=""
- PROFILE_FCFLAGS=""
- f9x_flags_set=yes
-fi
-
-# The Default settings for C++
-# Intel changed C++ compiler's name from "icc" to "icpc" in version 8.1
-if test -z "$CXX"; then
- CXX=icpc
- CXX_BASENAME=icpc
-fi
-
-# A patch to make g++ getting the default settings.
-# CXX_BASENAME should have been set in configure.
-if test "X$CXX" = "Xg++"; then
- CXX_BASENAME=g++
-fi
-
-
-case $CXX_BASENAME in
- ecc|icc) # Intel compilers
- # Default to C99 standard.
- H5_CXXFLAGS="${H5_CXXFLAGS:--std=c99}"
- DEBUG_CXXFLAGS="-g -w2 -Wall"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="" #Default optimization O2 is used
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
- g++)
- H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CXXFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- # Default to C99 standard.
- H5_CXXFLAGS="${H5_CXXFLAGS:--std=c99}"
- DEBUG_CXXFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
diff --git a/config/irix6.x b/config/irix6.x
deleted file mode 100644
index 8907a66..0000000
--- a/config/irix6.x
+++ /dev/null
@@ -1,178 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Disable dependency tracking on IRIX unless the user specifically asks for
-# it.
-# IRIX's pmake confuses automake (as of version 1.9) if dependency tracking
-# is enabled and it is not an in-place build. Simply disabling dependency
-# tracking on IRIX is simpler to implement than detecting pmake, detecting
-# when a build is not in-place, and then disabling dependency tracking.
-if test -z "${enable_dependency_tracking}"; then
- enable_dependency_tracking="no"
-fi
-
-# Use SGI supplied C compiler by default. There is no ranlib
-if test "X-" = "X-$CC"; then
- CC='cc'
- CC_BASENAME=cc
- # use c99 compiler if available.
- if `c99 -version >/dev/null 2>&1` ; then
- CC='c99'
- fi
-fi
-RANLIB=:
-
-# Compiler flags
-case "X-$CC_BASENAME" in
- X-gcc)
- . $srcdir/config/gnu-flags
- ;;
-
- *)
- if [ "$CC_BASENAME" = "cc" ] || ($CC -version 2>&1 | grep -s "MIPSpro Compilers") 2>&1 > /dev/null; then
- # use these flags if this is the SGI cc compiler or some compiler
- # command that eventually uses the SGI cc compiler.
-
- # Check for old versions of the compiler that don't work right.
- case "`$CC -version 2>&1 |head -1`" in
- "Mongoose Compilers: Version 7.00")
- echo " +---------------------------------------------------+"
- echo " | You have an old version of cc (Mongoose Compilers |"
- echo " | version 7.00). Please upgrade to MIPSpro version |"
- echo " | 7.2.1.2m (patches are available from the SGI web |"
- echo " | site). The 7.00 version may generate incorrect |"
- echo " | code, especially when optimizations are enabled. |"
- echo " +---------------------------------------------------+"
- sleep 5
- ;;
- esac
-
- # Always turn off these compiler warnings for the -64 compiler:
- # 1174: function declared but not used
- # 1196: __vfork() (this is an SGI config problem)
- # 1209: constant expressions
- # 1429: the `long long' type is not standard
- # 1685: turn off warnings about turning off invalid warnings
- # 3201: remark - parameter not referenced
- #H5_CFLAGS="$H5_CFLAGS -woff 1174,1429,1209,1196,1685,3201"
- H5_CFLAGS="$H5_CFLAGS -woff 1209,3201"
-
- # Always turn off these compiler warnings for the old compiler:
- # 799: the `long long' type is not standard
- # 803: turn off warnings about turning off invalid warnings
- # 835: __vfork() (this is an SGI config problem)
- #H5_CFLAGS="$H5_CFLAGS -woff 799,803,835"
-
- # Always turn off these loader warnings:
- # (notice the peculiar syntax)
- # 47: branch instructions that degrade performance on R4000
- # 84: a library is not used
- # 85: duplicate definition preemption (from -lnsl)
- # 134: duplicate weak definition preemption (from -lnsl)
- H5_CFLAGS="$H5_CFLAGS -Wl,-woff,47,-woff,84,-woff,85,-woff,134"
- fi
-
- # Extra debugging flags
- DEBUG_CFLAGS="-g -fullwarn"
- DEBUG_CPPFLAGS=
-
- # Extra production flags
- PROD_CFLAGS="-O -OPT:Olimit=0 -s"
- PROD_CPPFLAGS=
-
- # Extra profiling flags
- PROFILE_CFLAGS=
- PROFILE_CPPFLAGS=
- ;;
-esac
-
-# The default Fortran 90 compiler
-
-if test "X-" = "X-$FC"; then
- FC="f90"
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS -mips4 -O -s"
- DEBUG_FCFLAGS="-mips4 -O -s"
- PROD_FCFLAGS="-mips4 -O -s"
- PROFILE_FCFLAGS="-mips4 -O -s"
- f9x_flags_set=yes
-fi
-
-# The default C++ compiler
-
-# The default compiler is `MIPSpro CC'
-if test -z "$CXX"; then
- CXX=CC
- CXX_BASENAME=CC
-fi
-
-# Try native compiler flags
-if test -z "$cxx_flags_set"; then
- # -LANG:std required for std use; -ptused causes templates used to be
- # instantiated
- AM_CPPFLAGS="$AM_CPPFLAGS -LANG:std"
- H5_CPPFLAGS="$H5_CPPFLAGS -ptused"
-
- # libCio is a default library, since libtool before 1.5 doesn't fully
- # support C++ yet, default libraries must be explicitly specified.
- # A new macro is used for this temporary and specific task so it
- # won't polute the existing configuration
- DEFAULT_LIBS="-lCio"
-
- DEBUG_CXXFLAGS=-g
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O -s"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS=-xpg
- PROFILE_CPPFLAGS=
- cxx_flags_set=yes
-fi
-
-# Hard set flag to indicate that the 'unsigned long long' to floating-point
-# value conversion are broken by the compilers (as of 4/27/04 - QAK)
-hdf5_cv_ulong_to_fp_bottom_bit_accurate=${hdf5_cv_ulong_to_fp_bottom_bit_accurate='no'}
-
-# Set flags to avoid conversion between 'long double' and integers because of
-# SGI's compiler problems. For both IRIX64 6.5 and IRIX 6.5, the compilers
-# have the following problems,
-# long double -> signed char : incorrect rounding
-# long double -> unsigned char : incorrect rounding
-# long double -> short : incorrect rounding
-# long double -> unsigned short : incorrect rounding
-# long double -> long or long long: incorrect value
-# long double -> unsigned long or long long : incorrect value
-#
-# long or long long -> long double : correct value but incorrect bit pattern
-# unsigned long or long long -> long double : correct value but incorrect bit pattern
-# (1/5/05 - SLU)
-hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate='no'}
-hdf5_cv_integer_to_ldouble_accurate=${hdf5_cv_integer_to_ldouble_accurate='no'}
-
-# Set flag to generate alternate code for H5VM_log2_gen, to avoid
-# problems with the MIPSpro compiler 7.30 and IRIX64 6.5 (ie. other
-# combinations might work, but haven't been tested)
-# (9/15/06 - QAK)
-hdf5_cv_bad_log2_code_generated=${hdf5_cv_bad_log2_code_generated='yes'}
diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1
index c18c02d..465bfed 100644
--- a/config/linux-gnulibc1
+++ b/config/linux-gnulibc1
@@ -38,6 +38,9 @@ fi
# Figure out PGI C compiler flags
. $srcdir/config/pgi-flags
+# Figure out CCE C compiler flags
+. $srcdir/config/cce-flags
+
# Figure out Intel C compiler flags
. $srcdir/config/intel-flags
@@ -89,10 +92,13 @@ else
esac
fi
-# Figure out PGI F90 compiler flags
+# Figure out PGI FC compiler flags
. $srcdir/config/pgi-fflags
-# Figure out Intel F90 compiler flags
+# Figure out CCE FC compiler flags
+. $srcdir/config/cce-fflags
+
+# Figure out Intel FC compiler flags
. $srcdir/config/intel-fflags
case $FC_BASENAME in
@@ -125,6 +131,10 @@ if test -z "$CXX"; then
fi
# compiler version strings
+
+# check if the compiler_version_info is already set
+if test -z "$cc_version_info"; then
+
case $CC in
# whatever matches *pgcc* will also match *gcc*, so this one must come first
*pgcc*)
@@ -153,7 +163,11 @@ case $CC in
;;
esac
+fi
+
# get fortran version info
+# check if the compiler_version_info is already set
+if test -z "$fc_version_info"; then
case $FC in
*gfortran*)
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\
@@ -199,9 +213,11 @@ case $FC in
echo "No match to get fc_version_info for $FC"
;;
esac
-
+fi
# get c++ version info
+# check if the compiler_version_info is already set
+if test -z "$cxx_version_info"; then
case $CXX in
*g++*)
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\
@@ -226,4 +242,4 @@ case $CXX in
echo "No match to get cxx_version_info for $CXX"
;;
esac
-
+fi
diff --git a/config/lt_vers.am b/config/lt_vers.am
index 41d7e81..3cb67a4 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -19,7 +19,7 @@
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
## If the API changes *at all*, increment LT_VERS_INTERFACE and
diff --git a/config/nec-superux14.1 b/config/nec-superux14.1
deleted file mode 100644
index dc1a15d..0000000
--- a/config/nec-superux14.1
+++ /dev/null
@@ -1,179 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-# [ak] created for a nec sx6 running superux with native compilers
-# [ak] -xint is neccessary because of src/H5FDmulti.c[H5Pset_fapl_multi]
-# [ak] integer division of unsigned longs for _memb_addr
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-#----------------------------------------------------------------------------
-
-
-# Choosing a C Compiler
-# ---------------------
-#
-# The user should be able to specify the compiler by setting the CC
-# environment variable to the name of the compiler and any switches it
-# requires for proper operation. If CC is unset then this script may
-# set it. If CC is unset by time this script completes then configure
-# will try `gcc' and `cc' in that order (perhaps some others too).
-#
-# Note: Code later in this file may depend on the value of $CC_BASENAME
-# in order to distinguish between different compilers when
-# deciding which compiler command-line switches to use. This
-# variable is set based on the incoming value of $CC and is only
-# used within this file.
-
-if test "X-" = "X-$CC"; then
- CC="sxc++ -Xa -size_t64 -xint -K c99"
- CC_BASENAME=sxc++
-fi
-# The default archiver is `sxar'
-AR=${AR:-sxar}
-RANLIB=${RANLIB:=":"}
-
-if test "X-" = "X-$CXX"; then
- CXX="sxc++ -size_t64 -xint -Kexceptions"
- CXX_BASENAME=sxc++
-fi
-
-if test "X-" = "X-$F9X"; then
- FC="sxf90 -size_t64 -ew "
- FC_BASENAME=sxf90
-fi
-
-# C Compiler and Preprocessor Flags
-# ---------------------------------
-#
-# Flags that end with `_CFLAGS' are always passed to the compiler.
-# Flags that end with `_CPPFLAGS' are passed to the compiler when
-# compiling but not when linking.
-#
-# DEBUG_CFLAGS Flags to pass to the compiler to create a
-# DEBUG_CPPFLAGS library suitable for use with debugging
-# tools. Usually this list will exclude
-# optimization switches (like `-O') and include
-# switches that turn on symbolic debugging
-# support (like `-g').
-#
-# PROD_CFLAGS Flags to pass to the compiler to create a
-# PROD_CPPFLAGS production version of the library. These
-# usualy exclude symbolic debugging switches
-# (like `-g') and include optimization switches
-# (like `-O').
-#
-# PROFILE_CFLAGS Flags to pass to the compiler to create a
-# PROFILE_CPPFLAGS library suitable for performance testing (like
-# `-pg'). This may or may not include debugging
-# or production flags.
-#
-# H5_CFLAGS Flags can be added to this variable which
-# might already be partially initialized. These
-# flags will always be passed to the compiler
-# and should include switches to turn on full
-# warnings. HDF5 attempts to be ANSI and Posix
-# compliant and employ good programming
-# practices resulting in few if any
-# warnings.
-#
-# Warning flags do not have to be added to H5_CFLAGS
-# variable if the compiler is the GNU gcc
-# compiler or a descendent of gcc such as EGCS or PGCC.
-#
-# AM_CFLAGS Flags added directly into this variable will
-# be propogated to the compiler wrapper scripts (h5cc,
-# h5c++, et cetera) in addition to being used to compile
-# the library.
-#
-# These flags should be set according to the compiler being used.
-# There are two ways to check the compiler. You can try using `-v' or
-# `--version' to see if the compiler will print a version string. You
-# can use the value of $CC_BASENAME which is the base name of the
-# first word in $CC (note that the value of CC may have changed
-# above).
-
-case $CC_BASENAME in
- cc)
- H5_CFLAGS="$H5_CFLAGS"
- DEBUG_CFLAGS="-Cdebug -g -wall"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-Cnoopt"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-p"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CFLAGS="$H5_CFLAGS"
- DEBUG_CFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS=""
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-p"
- PROFILE_CPPFLAGS=
- ;;
-esac
-
-case $CXX_BASENAME in
- c++)
- H5_CXXFLAGS="$H5_CXXFLAGS -Tlocal"
- ;;
-
- *)
- H5_CXXFLAGS="$H5_CXXFLAGS"
- ;;
-esac
-
-case $FC_BASENAME in
- f90)
- H5_FCFLAGS="$F9XFLAGS"
- ;;
-
- *)
- H5_FCFLAGS="$F9XFLAGS"
- ;;
-esac
-
-# Overriding Configure Tests
-# --------------------------
-#
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=0}
-hdf5_cv_gettimeofday_tz=no
-# I have to add the follwoing two lines when -K c99 was used
-ac_cv_func_getrusage=no
-ac_cv_func_gethostname=no
-hdf5_cv_vsnprintf_works=no
-hdf5_cv_printf_ll=l
-hdf5_cv_system_scope_threads=no
-hdf5_cv_sw_ldouble_to_integer_works=no
-hdf5_cv_fp_to_ullong_right_maximum=no
-hdf5_cv_fp_to_ullong_bottom_bit_works=yes
-hdf5_cv_fp_to_ullong_right_maximum=no
-hdf5_cv_ldouble_to_uint_work=no
-hdf5_cv_ullong_to_fp_cast_works=yes
-hdf5_cv_ullong_to_ldouble_precision_works=no
-hdf5_cv_fp_to_integer_overflow_works=yes
-hdf5_cv_fp_to_ullong_accurate=no
-hdf5_cv_fp_to_ullong_right_maximum=no
-CONFIGURE_LIBS=/usr/lib/libi90sxe.a
-
-
diff --git a/config/sv1-cray b/config/sv1-cray
deleted file mode 100644
index 1bae48d..0000000
--- a/config/sv1-cray
+++ /dev/null
@@ -1,199 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-#----------------------------------------------------------------------------
-
-
-# Choosing a C Compiler
-# ---------------------
-#
-# The user should be able to specify the compiler by setting the CC
-# environment variable to the name of the compiler and any switches it
-# requires for proper operation. If CC is unset then this script may
-# set it. If CC is unset by time this script completes then configure
-# will try `gcc' and `cc' in that order (perhaps some others too).
-#
-# Note: Code later in this file may depend on the value of $CC_BASENAME
-# in order to distinguish between different compilers when
-# deciding which compiler command-line switches to use. This
-# variable is set based on the incoming value of $CC and is only
-# used within this file.
-
-if test "X-" = "X-$CC"; then
- CC=cc
- CC_BASENAME=cc
-fi
-# no need to use RANLIB
-RANLIB=:
-
-
-# C Compiler and Preprocessor Flags
-# ---------------------------------
-#
-# Flags that end with `_CFLAGS' are always passed to the compiler.
-# Flags that end with `_CPPFLAGS' are passed to the compiler when
-# compiling but not when linking.
-#
-# DEBUG_CFLAGS Flags to pass to the compiler to create a
-# DEBUG_CPPFLAGS library suitable for use with debugging
-# tools. Usually this list will exclude
-# optimization switches (like `-O') and include
-# switches that turn on symbolic debugging
-# support (like `-g').
-#
-# PROD_CFLAGS Flags to pass to the compiler to create a
-# PROD_CPPFLAGS production version of the library. These
-# usualy exclude symbolic debugging switches
-# (like `-g') and include optimization switches
-# (like `-O').
-#
-# PROFILE_CFLAGS Flags to pass to the compiler to create a
-# PROFILE_CPPFLAGS library suitable for performance testing (like
-# `-pg'). This may or may not include debugging
-# or production flags.
-#
-# H5_CFLAGS Flags can be added to this variable which
-# might already be partially initialized. These
-# flags will always be passed to the compiler
-# and should include switches to turn on full
-# warnings. HDF5 attempts to be ANSI and Posix
-# compliant and employ good programming
-# practices resulting in few if any
-# warnings.
-#
-# Warning flags do not have to be added to H5_CFLAGS
-# variable if the compiler is the GNU gcc
-# compiler or a descendent of gcc such as EGCS or PGCC.
-#
-# AM_CFLAGS Flags added directly into this variable will
-# be propogated to the compiler wrapper scripts (h5cc,
-# h5c++, et cetera) in addition to being used to compile
-# the library.
-#
-# These flags should be set according to the compiler being used.
-# There are two ways to check the compiler. You can try using `-v' or
-# `--version' to see if the compiler will print a version string. You
-# can use the value of $CC_BASENAME which is the base name of the
-# first word in $CC (note that the value of CC may have changed
-# above).
-
-case $CC_BASENAME in
- gcc)
- H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- cc)
- H5_CFLAGS="$H5_CFLAGS"
- DEBUG_CFLAGS="-g -h zero"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O2 -h scalar0 -h vector0 -h task1"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CFLAGS="$H5_CFLAGS -ansi"
- DEBUG_CFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
-
-
-# Overriding Configure Tests
-# --------------------------
-#
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
-
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-
-# Set this to the width required by printf() to print type `long
-# long'. For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# Hard set the flag to indicate that converting denormalized floating-point
-# values doesn't work.
-hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
-
-# The default Fortran 90 compiler
-
-if test "X-" = "X-$FC"; then
- FC=f90
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
- H5_FCFLAGS="$H5_FCFLAGS -dp"
- DEBUG_FCFLAGS="-dp"
- PROD_FCFLAGS="-dp"
- PROFILE_FCFLAGS="-dp"
- f9x_flags_set=yes
-fi
-
-# The default C++ compiler
-
-if test -z "$CXX"; then
- CXX="CC"
- CXX_BASENAME=CC
-fi
-
-
-case $CXX_BASENAME in
- g++)
- H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions
- DEBUG_CXXFLAGS="-g -fverbose-asm"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-
- *)
- H5_CXXFLAGS="$H5_CXXFLAGS -h instantiate=used"
- DEBUG_CXXFLAGS="-g"
- DEBUG_CPPFLAGS=
- PROD_CXXFLAGS="-O"
- PROD_CPPFLAGS=
- PROFILE_CXXFLAGS="-pg"
- PROFILE_CPPFLAGS=
- ;;
-esac
diff --git a/config/x86_64-redstorm-linux-gnu b/config/x86_64-redstorm-linux-gnu
deleted file mode 100644
index 76f9711..0000000
--- a/config/x86_64-redstorm-linux-gnu
+++ /dev/null
@@ -1,164 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-
-
-# This file is part of the HDF5 build script. It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# This is for the ASCI RED STORM machine
-
-# Define RUNPARALLEL and RUNSERIAL if parallel mode is enabled or a parallel
-# compiler is used.
-if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpicc; then
- RUNSERIAL=${RUNSERIAL:-"yod -sz 1"}
- RUNPARALLEL=${RUNPARALLEL:-"yod -sz 3"}
- # Disable stream-vfd option. It does not work in parallel mode.
- enable_stream_vfd="${enable_stream_vfd:-no}"
- # Turn off shared lib option. It does not work in parallel mode.
- enable_shared="${enable_shared:-no}"
-fi
-
-H5_CFLAGS="$H5_CFLAGS -DRED_STORM"
-
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=-g
-DEBUG_CPPFLAGS=
-
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=-O
-PROD_CPPFLAGS=
-
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
-
-# Set this to the width required by printf() to print type `long
-# long'. For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# Cache the sizeof of the following types to save configure time.
-# These are verified in test/tconfig in case they change.
-ac_cv_type_char=${ac_cv_type_char=yes}
-ac_cv_sizeof_char=${ac_cv_sizeof_char='1'}
-ac_cv_type_short=${ac_cv_type_short=yes}
-ac_cv_sizeof_short=${ac_cv_sizeof_short='2'}
-ac_cv_type_int=${ac_cv_type_int=yes}
-ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
-ac_cv_type_long=${ac_cv_type_long=yes}
-ac_cv_sizeof_long=${ac_cv_sizeof_long='8'}
-ac_cv_type_float=${ac_cv_type_float=yes}
-ac_cv_sizeof_float=${ac_cv_sizeof_float='4'}
-ac_cv_type_double=${ac_cv_type_double=yes}
-ac_cv_sizeof_double=${ac_cv_sizeof_double='8'}
-ac_cv_type_long_double=${ac_cv_type_long_double=yes}
-# no cache for long double which varies in size in different compilers.
-# gcc defines it as 12 bytes but pgcc defines it as 8 bytes.
-#ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double='8'}
-ac_cv_type_long_long=${ac_cv_type_long_long=yes}
-ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long='8'}
-ac_cv_type_size_t=${ac_cv_type_size_t=yes}
-ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t='8'}
-ac_cv_type_ssize_t=${ac_cv_type_ssize_t=yes}
-ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t='8'}
-ac_cv_type_off_t=${ac_cv_type_off_t=yes}
-ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t='8'}
-
-# Hard set sizeof of the following types to 0 because they are not supported.
-#ac_cv_type___int64=${ac_cv_type___int64=no}
-#ac_cv_sizeof___int64=${ac_cv_sizeof___int64='0'}
-
-# Hard set malloc of zero bytes to no because it does not work.
-hdf5_cv_malloc_works=${hdf5_cv_malloc_works='no'}
-
-# Cache the sizeof of the following types to save configure time.
-# These are verified in test/tconfig in case they change.
-ac_cv_type_int8_t=${ac_cv_type_int8_t=yes}
-ac_cv_type_int16_t=${ac_cv_type_int16_t=yes}
-ac_cv_type_int32_t=${ac_cv_type_int32_t=yes}
-ac_cv_type_int64_t=${ac_cv_type_int64_t=yes}
-ac_cv_type_uint8_t=${ac_cv_type_uint8_t=yes}
-ac_cv_type_uint16_t=${ac_cv_type_uint16_t=yes}
-ac_cv_type_uint32_t=${ac_cv_type_uint32_t=yes}
-ac_cv_type_uint64_t=${ac_cv_type_uint64_t=yes}
-ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='1'}
-ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t='2'}
-ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t='4'}
-ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t='8'}
-ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='1'}
-ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t='2'}
-ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t='4'}
-ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t='8'}
-
-# Cache the sizeof of the following types to save configure time.
-# These are verified in test/tconfig in case they change.
-ac_cv_type_int_least8_t=${ac_cv_type_int_least8_t=yes}
-ac_cv_type_int_least16_t=${ac_cv_type_int_least16_t=yes}
-ac_cv_type_int_least32_t=${ac_cv_type_int_least32_t=yes}
-ac_cv_type_int_least64_t=${ac_cv_type_int_least64_t=yes}
-ac_cv_type_uint_least8_t=${ac_cv_type_uint_least8_t=yes}
-ac_cv_type_uint_least16_t=${ac_cv_type_uint_least16_t=yes}
-ac_cv_type_uint_least32_t=${ac_cv_type_uint_least32_t=yes}
-ac_cv_type_uint_least64_t=${ac_cv_type_uint_least64_t=yes}
-ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t='1'}
-ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t='2'}
-ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t='4'}
-ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t='8'}
-ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t='1'}
-ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t='2'}
-ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t='4'}
-ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t='8'}
-
-# Cache the sizeof of the following types to save configure time.
-# These are verified in test/tconfig in case they change.
-ac_cv_type_int_fast8_t=${ac_cv_type_int_fast8_t=yes}
-ac_cv_type_int_fast16_t=${ac_cv_type_int_fast16_t=yes}
-ac_cv_type_int_fast32_t=${ac_cv_type_int_fast32_t=yes}
-ac_cv_type_int_fast64_t=${ac_cv_type_int_fast64_t=yes}
-ac_cv_type_uint_fast8_t=${ac_cv_type_uint_fast8_t=yes}
-ac_cv_type_uint_fast16_t=${ac_cv_type_uint_fast16_t=yes}
-ac_cv_type_uint_fast32_t=${ac_cv_type_uint_fast32_t=yes}
-ac_cv_type_uint_fast64_t=${ac_cv_type_uint_fast64_t=yes}
-ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t='1'}
-ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t='8'}
-ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t='8'}
-ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t='8'}
-ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t='1'}
-ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t='8'}
-ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t='8'}
-ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t='8'}
-
-hdf5_cv_system_scope_threads=${hdf5_cv_system_scope_threads="no"}
-
-# Hard set MPI_File_set_size() working for files over 2GB to yes
-hdf5_cv_mpi_file_set_size_big=${hdf5_cv_mpi_file_set_size_big='yes'}
-
-# Hard set variables for v1.7 and higher.
-# Set gettimeofday_tz to yes.
-hdf5_cv_gettimeofday_tz=${hdf5_cv_gettimeofday_tz='yes'}
-hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
-hdf5_cv_fp_to_ullong_bottom_bit_works=${hdf5_cv_fp_to_ullong_bottom_bit_works='no'}
-hdf5_cv_fp_to_ullong_right_maximum=${hdf5_cv_fp_to_ullong_right_maximum='yes'}
-hdf5_cv_ldouble_to_uint_works=${hdf5_cv_ldouble_to_uint_works='yes'}
-hdf5_cv_sw_ldouble_to_integer_works=${hdf5_cv_sw_ldouble_to_integer_works='yes'}
-hdf5_cv_sw_ulong_to_fp_bottom_bit_works=${hdf5_cv_sw_ulong_to_fp_bottom_bit_works='no'}
-hdf5_cv_ullong_to_fp_cast_works=${hdf5_cv_ullong_to_fp_cast_works='yes'}
-hdf5_cv_ullong_to_ldouble_precision_works=${hdf5_cv_ullong_to_ldouble_precision_works='yes'}
-hdf5_cv_vsnprintf_works=${hdf5_cv_vsnprintf_works='yes'}
-hdf5_cv_fp_to_integer_overflow_works=${hdf5_cv_fp_to_integer_overflow_works='yes'}
diff --git a/configure b/configure
index 9c37880..661827e 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HDF5 1.9.216-swmr0.
+# Generated by GNU Autoconf 2.69 for HDF5 1.9.217-swmr0.
#
# Report bugs to <help@hdfgroup.org>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='HDF5'
PACKAGE_TARNAME='hdf5'
-PACKAGE_VERSION='1.9.216-swmr0'
-PACKAGE_STRING='HDF5 1.9.216-swmr0'
+PACKAGE_VERSION='1.9.217-swmr0'
+PACKAGE_STRING='HDF5 1.9.217-swmr0'
PACKAGE_BUGREPORT='help@hdfgroup.org'
PACKAGE_URL=''
@@ -640,7 +640,6 @@ LTLIBOBJS
LIBOBJS
HAVE_SHARED_CONDITIONAL_FALSE
HAVE_SHARED_CONDITIONAL_TRUE
-SETX
SEARCH
BUILD_HDF5_HL_CONDITIONAL_FALSE
BUILD_HDF5_HL_CONDITIONAL_TRUE
@@ -655,7 +654,6 @@ DEFAULT_API_VERSION
DEPRECATED_SYMBOLS
BUILD_ALL_CONDITIONAL_FALSE
BUILD_ALL_CONDITIONAL_TRUE
-DYNAMIC_DIRS
ROOT
CXX_VERSION
FC_VERSION
@@ -674,7 +672,6 @@ CLEARFILEBUF
INSTRUMENT_LIBRARY
TRACE_API
DEBUG_PKG
-H5_LONE_COLON
HAVE_PTHREAD
BUILD_SHARED_SZIP_CONDITIONAL_FALSE
BUILD_SHARED_SZIP_CONDITIONAL_TRUE
@@ -694,6 +691,8 @@ DSYMUTIL
MANIFEST_TOOL
RANLIB
ac_ct_AR
+DLLTOOL
+OBJDUMP
LN_S
NM
ac_ct_DUMPBIN
@@ -704,12 +703,6 @@ EGREP
GREP
SED
LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-CXX_SHARED_CONDITIONAL_FALSE
-CXX_SHARED_CONDITIONAL_TRUE
-H5_CXX_SHARED
FORTRAN_SHARED_CONDITIONAL_FALSE
FORTRAN_SHARED_CONDITIONAL_TRUE
H5_FORTRAN_SHARED
@@ -918,7 +911,6 @@ with_mpe
enable_direct_vfd
with_default_plugindir
enable_dconv_exception
-enable_dconv_accuracy
enable_build_all
enable_deprecated_symbols
with_default_api_version
@@ -1480,7 +1472,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HDF5 1.9.216-swmr0 to adapt to many kinds of systems.
+\`configure' configures HDF5 1.9.217-swmr0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1550,7 +1542,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HDF5 1.9.216-swmr0:";;
+ short | recursive ) echo "Configuration of HDF5 1.9.217-swmr0:";;
esac
cat <<\_ACEOF
@@ -1616,8 +1608,6 @@ Optional Features:
--enable-dconv-exception
if exception handling functions is checked during
data conversions [default=yes]
- --enable-dconv-accuracy if data accuracy is guaranteed during data
- conversions [default=yes]
--enable-build-all Build helper programs that only developers should
need [default=no]
--enable-deprecated-symbols
@@ -1741,7 +1731,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HDF5 configure 1.9.216-swmr0
+HDF5 configure 1.9.217-swmr0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2678,7 +2668,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HDF5 $as_me 1.9.216-swmr0, which was
+It was created by HDF5 $as_me 1.9.217-swmr0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3549,7 +3539,7 @@ fi
# Define the identity of the package.
PACKAGE='hdf5'
- VERSION='1.9.216-swmr0'
+ VERSION='1.9.217-swmr0'
cat >>confdefs.h <<_ACEOF
@@ -3830,7 +3820,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-## Make sure flags are set to something (otherwise macros may set them later).
+## Make sure flags are initialized.
AM_CFLAGS="${AM_CFLAGS}"
AM_CXXFLAGS="${AM_CXXFLAGS}"
AM_FCFLAGS="${AM_FCFLAGS}"
@@ -3851,12 +3841,6 @@ saved_user_FCFLAGS="$FCFLAGS"
saved_user_LDFLAGS="$LDFLAGS"
saved_user_CPPFLAGS="$CPPFLAGS"
-## Different compilers may need default libraries. They are specified in
-## the config/* files, so we put this statement here so that it'll be
-## set by the code which follows...
-##
-DEFAULT_LIBS=""
-
## Support F9X variable to define Fortran compiler if FC variable is
## not used. This should be deprecated in the future.
if test "x" = "x$FC"; then
@@ -3915,15 +3899,9 @@ $as_echo "done" >&6; }
## ----------------------------------------------------------------------
## Some platforms have broken basename, and/or xargs programs. Check
## that it actually does what it's supposed to do. Catch this early
-## since configure relies upon them heavily and there's no use continuing
-## if it's broken.
+## since configure and scripts relies upon them heavily and there's
+## no use continuing if it's broken.
##
-
-## Avoid depending upon Character Ranges.
-## These are defined by autoconf.
-## as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-## as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if basename works" >&5
$as_echo_n "checking if basename works... " >&6; }
BASENAME_TEST="`basename /foo/bar/baz/qux/basename_works`"
@@ -3934,6 +3912,7 @@ else
$as_echo "yes" >&6; }
fi
+## xargs basename used in configure to get the CC_BASENAME value
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if xargs works" >&5
$as_echo_n "checking if xargs works... " >&6; }
XARGS_TEST="`echo /foo/bar/baz/qux/xargs_works | xargs basename`"
@@ -3989,12 +3968,6 @@ case $host_os in
freebsd*)
host_os_novers=freebsd
;;
- irix5.*)
- host_os_novers=irix5.x
- ;;
- irix6.*)
- host_os_novers=irix6.x
- ;;
osf4.*)
host_os_novers=osf4.x
;;
@@ -7602,6 +7575,7 @@ fi
## ----------------------------------------------------------------------
## Set up ${TR} which is used to process DEBUG_PKG.
+
# Extract the first word of "tr", so it can be a program name with args.
set dummy tr; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -7765,395 +7739,13 @@ fi
## ----------------------------------------------------------------------
-## Disable C++ shared libraries if +DD64 flag is detected.
-##
-
-H5_CXX_SHARED="no"
-if test "X${HDF_CXX}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if shared C++ libraries are supported" >&5
-$as_echo_n "checking if shared C++ libraries are supported... " >&6; }
- H5_CXX_SHARED="yes"
-
- ## Disable C++ shared libraries if DD64 flag is being used.
-
- if (echo dummy ${CXX} ${CXXLD} ${CFLAGS} ${CXXFLAGS} ${LDFLAGS} | grep 'DD64') > /dev/null; then
- H5_CXX_SHARED="no"
- CHECK_WARN="Shared C++ libraries not currently supported with +DD64 flag."
- fi
-
- ## Report results of check(s)
-
- if test "X${H5_CXX_SHARED}" = "Xno"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $CHECK_WARN" >&5
-$as_echo "$as_me: WARNING: $CHECK_WARN" >&2;}
- if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling shared C++ libraries." >&5
-$as_echo "$as_me: WARNING: Disabling shared C++ libraries." >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: To override this behavior, please use --enable-unsupported configure option." >&5
-$as_echo "$as_me: WARNING: To override this behavior, please use --enable-unsupported configure option." >&2;}
- if test "X${enable_static}" = "Xno"; then
- as_fn_error $? "both static and shared C++ libraries are disabled" "$LINENO" 5
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Allowing unsupported C++ shared librares due to use of --enable-unsupported flag" >&5
-$as_echo "$as_me: WARNING: Allowing unsupported C++ shared librares due to use of --enable-unsupported flag" >&2;}
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
-fi
-
- if test "X$H5_CXX_SHARED" = "Xyes"; then
- CXX_SHARED_CONDITIONAL_TRUE=
- CXX_SHARED_CONDITIONAL_FALSE='#'
-else
- CXX_SHARED_CONDITIONAL_TRUE='#'
- CXX_SHARED_CONDITIONAL_FALSE=
-fi
-
-
-## ----------------------------------------------------------------------
-## pgcc version 6.0x have optimization (-O, -O2 or -O3) problem. Detect
-## these versions and add option "-Mx,28,0x8" to the compiler to avoid
-## the problem if optimization is enabled.
-##
-
-if (${CC-cc} -V 2>&1 | grep '^pgcc 6.0') > /dev/null && test "X$enable_production" = "Xyes"; then
- echo 'adding compiler flag to avoid optimization problem in pgcc'
- CC="${CC-cc} -Mx,28,0x8"
-fi
-
-## ----------------------------------------------------------------------
-## Shared libraries are not currently supported under Cygwin, so configure
-## disables them unless --enable-unsupported has been supplied by the user.
-
-if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
- case "`uname`" in
- CYGWIN*)
- if test "X${enable_shared}" = "Xyes"; then
- echo ' warning: shared libraries are not supported on Cygwin!'
- echo ' disabling shared libraries'
- echo ' use --enable-unsupported to override this warning and keep shared libraries enabled'
- fi
- enable_shared="no"
- ;;
- esac
-fi
-
-## ----------------------------------------------------------------------
-## Windows won't create DLLs without the following macro.
-##
-enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AS="as"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_AS" = x; then
- AS="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AS=$ac_ct_AS
- fi
-else
- AS="$ac_cv_prog_AS"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
- ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-## ----------------------------------------------------------------------
## Create libtool. If shared/static libraries are going to be enabled
## or disabled, it should happen before these macros.
+
+## ----------------------------------------------------------------------
+## dlopen - This will use an improved version of libtool
+## win32-dll - This will build clean dlls on win32 platforms.
case `pwd` in
*\ * | *\ *)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
@@ -9285,6 +8877,9 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if ${lt_cv_deplibs_check_method+:} false; then :
@@ -9629,6 +9224,9 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
@@ -11702,6 +11300,8 @@ enable_dlopen=yes
+ enable_win32_dll=no
+
# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then :
@@ -21914,84 +21514,6 @@ $as_echo "error" >&6; }
esac
## ----------------------------------------------------------------------
-## Sometimes makes think the `.PATH:' appearing before the first rule
-## with an action should override the `all' default target. So we have
-## to decide what the proper syntax is.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how make searches directories" >&5
-$as_echo_n "checking how make searches directories... " >&6; }
-while true; do #for break
- ## The most common method is `VPATH=DIR1 DIR2 ...'
- cat >maketest <<EOF
-VPATH=$srcdir/config $srcdir/src $srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='VPATH='
- SEARCH_SEP=' '
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: VPATH=DIR1 DIR2 ..." >&5
-$as_echo "VPATH=DIR1 DIR2 ..." >&6; }
- break
- fi
-
- ## The second most common method is like above except with the
- ## directories separated by colons.
- cat >maketest <<EOF
-VPATH=$srcdir/config:$srcdir/src:$srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='VPATH='
- SEARCH_SEP=':'
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: VPATH=DIR1:DIR2:..." >&5
-$as_echo "VPATH=DIR1:DIR2:..." >&6; }
- break
- fi
-
- ## pmake uses the construct `.PATH: DIR1 DIR2
- cat >maketest <<EOF
-.PATH: $srcdir/config $srcdir/src $srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='.PATH: '
- SEARCH_SEP=' '
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: .PATH: DIR1 DIR2 ..." >&5
-$as_echo ".PATH: DIR1 DIR2 ..." >&6; }
- break
- fi
-
- ## No way for make to search directories
- SEARCH_RULE='## SEARCH DISABLED: '
- SEARCH_SEP=' '
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: it doesn't" >&5
-$as_echo "it doesn't" >&6; }
- if test ! -f configure; then
- as_fn_error $? "${MAKE-make} requires the build and source directories to be the same" "$LINENO" 5
- fi
- break
-done
-rm maketest
-
-## ----------------------------------------------------------------------
## pmake will throw an error if variables are undefined in a Makefile.
## These errors can be changed to warnings using the -V flag.
##
@@ -22291,7 +21813,6 @@ fi
fi
-
## ----------------------------------------------------------------------
## Check for system header files.
##
@@ -22663,7 +22184,7 @@ fi
done
;;
- mips*-sgi*-irix*)
+ mips*-sgi*)
## The <sys/fpu.h> is needed on the SGI machines to turn off
## denormalized floating-point values going to zero. We do *not*
## attempt to locate these files on other systems because there
@@ -22946,6 +22467,11 @@ case "$host_cpu-$host_vendor-$host_os" in
## however, we do not do this since it breaks the big test on some
## older platforms.
H5_CPPFLAGS="-D_BSD_SOURCE $H5_CPPFLAGS"
+
+ ## _BSD_SOURCE is deprecated as of glibc 2.20, in favor of _DEFAULT_SOURCE.
+ ## To avoid warnings, we define _DEFAULT_SOURCE in addition to _BSD_SOURCE,
+ ## which should work for all versions of glibc.
+ H5_CPPFLAGS="-D_DEFAULT_SOURCE $H5_CPPFLAGS"
;;
esac
@@ -25013,15 +24539,6 @@ $as_echo "suppressed" >&6; }
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$dmalloc_inc" = "X/usr/include"; then
- dmalloc_inc=""
- fi
- if test "X$dmalloc_lib" = "X/usr/lib"; then
- dmalloc_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -25220,8 +24737,8 @@ fi
;;
no)
HAVE_ZLIB="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU zlib" >&5
-$as_echo_n "checking for GNU zlib... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5
+$as_echo_n "checking for zlib... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5
$as_echo "suppressed" >&6; }
;;
@@ -25240,15 +24757,6 @@ $as_echo "suppressed" >&6; }
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$zlib_inc" = "X/usr/include"; then
- zlib_inc=""
- fi
- if test "X$zlib_lib" = "X/usr/lib"; then
- zlib_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -25481,15 +24989,6 @@ $as_echo "suppressed" >&6; }
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$szlib_inc" = "X/usr/include"; then
- szlib_inc=""
- fi
- if test "X$szlib_lib" = "X/usr/lib"; then
- szlib_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -25612,16 +25111,29 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <szlib.h>
+ #include "szlib.h"
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
- int main(void)
- {
/* SZ_encoder_enabled returns 1 if encoder is present */
- if(SZ_encoder_enabled() == 1)
- exit(0);
- else
- exit(1);
- }
+ if(SZ_encoder_enabled() == 1)
+ exit(0);
+ else
+ exit(1);
+
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -25633,6 +25145,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+
fi
@@ -25928,15 +25441,6 @@ fi
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$pthread_inc" = "X/usr/include"; then
- pthread_inc=""
- fi
- if test "X$pthread_lib" = "X/usr/lib"; then
- pthread_lib=""
- fi
-
if test -n "$pthread_inc"; then
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
@@ -26134,15 +25638,12 @@ int
main ()
{
- int main(void)
- {
pthread_attr_t attribute;
int ret;
pthread_attr_init(&attribute);
ret=pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM);
exit(ret==0 ? 0 : 1);
- }
;
return 0;
@@ -26620,7 +26121,7 @@ _ACEOF
fi
done
-for ac_func in tmpfile asprintf vasprintf waitpid
+for ac_func in tmpfile asprintf vasprintf vsnprintf waitpid
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -26633,124 +26134,6 @@ fi
done
-## Check for vsnprintf() separately, so we can detect situations where it
-## doesn't return the correct size for formatted strings that are too large
-## for the buffer provided
-for ac_func in vsnprintf
-do :
- ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf"
-if test "x$ac_cv_func_vsnprintf" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_VSNPRINTF 1
-_ACEOF
- ## Check if vsnprintf() returns correct size for strings that don't fit
- ## into the size allowed. If vsnprintf() works correctly on this platform,
- ## it should return a value of 42 for the test below
- ##
- ## Note that vsnprintf fails in two different ways:
- ## - In IRIX64, calls to vnsprintf() with a formatted string that
- ## is larger than the buffer size allowed incorrectly
- ## return the size of the buffer minus one.
- ## - In HP/UX, calls to vsnprintf() with a formatted string that
- ## is larger than the buffer size allowed incorrectly
- ## return (-1)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if vsnprintf returns correct value" >&5
-$as_echo_n "checking if vsnprintf returns correct value... " >&6; }
-
- if ${hdf5_cv_vsnprintf_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-int test_vsnprintf(const char *fmt,...)
-{
- va_list ap;
- char *s = malloc(16);
- int ret;
-
- va_start(ap, fmt);
- ret=vsnprintf(s,16,"%s",ap);
- va_end(ap);
-
- return(ret!=42 ? 1 : 0);
-}
-
-int main(void)
-{
- exit(test_vsnprintf("%s","A string that is longer than 16 characters"));
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_vsnprintf_works=yes
-else
- hdf5_cv_vsnprintf_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-
- if test ${hdf5_cv_vsnprintf_works} = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define VSNPRINTF_WORKS 1" >>confdefs.h
-
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
-
-fi
-done
-
-
-## ----------------------------------------------------------------------
-## Check that a lone colon can be used as an argument
-## This is not true on Cray X1, which interprets a lone colon as a
-## system command.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lone colon can be used as an argument" >&5
-$as_echo_n "checking if lone colon can be used as an argument... " >&6; }
-if ${hdf5_cv_lone_colon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo "int main(int argc, char * argv) {return 0;}" > conftest.c
- $CC $CFLAGS conftest.c -o a.out> /dev/null 2> /dev/null
- echo "./a.out :" > conftest.sh
- chmod 700 conftest.sh
-
- ./conftest.sh 2> conftest.out
- rm -f a.out
- TEST_OUTPUT=`cat conftest.out`
-
- if test "X$TEST_OUTPUT" = "X"; then
- hdf5_cv_lone_colon=yes
- else
- hdf5_cv_lone_colon=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hdf5_cv_lone_colon" >&5
-$as_echo "$hdf5_cv_lone_colon" >&6; }
-
- H5_LONE_COLON="$hdf5_cv_lone_colon"
-
## ----------------------------------------------------------------------
## Check compiler characteristics
##
@@ -27043,17 +26426,30 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
- int main(void)
- {
- char *s = malloc(128);
- long long x = (long long)1048576 * (long long)1048576;
- sprintf(s,"%${hdf5_cv_printf_ll}d",x);
- exit(strcmp(s,"1099511627776"));
- }
+ char *s = malloc(128);
+ long long x = (long long)1048576 * (long long)1048576;
+ sprintf(s,"%${hdf5_cv_printf_ll}d",x);
+ exit(strcmp(s,"1099511627776"));
+
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -27759,15 +27155,6 @@ fi
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$mpe_inc" = "X/usr/include"; then
- mpe_inc=""
- fi
- if test "X$mpe_lib" = "X/usr/lib"; then
- mpe_lib=""
- fi
-
if test -n "$mpe_inc"; then
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
@@ -28063,85 +27450,6 @@ $as_echo "no" >&6; }
fi
## ----------------------------------------------------------------------
-## Decide whether the data accuracy has higher priority during data
-## conversions. If not, some hard conversions will still be prefered even
-## though the data may be wrong (for example, some compilers don't
-## support denormalized floating values) to maximize speed.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether data accuracy is guaranteed during data conversions" >&5
-$as_echo_n "checking whether data accuracy is guaranteed during data conversions... " >&6; }
-# Check whether --enable-dconv-accuracy was given.
-if test "${enable_dconv_accuracy+set}" = set; then :
- enableval=$enable_dconv_accuracy; DATA_ACCURACY=$enableval
-else
- DATA_ACCURACY=yes
-fi
-
-
-if test "$DATA_ACCURACY" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define WANT_DATA_ACCURACY 1" >>confdefs.h
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
-## denormalized floating-point values.
-## (This flag should be set for all machines, except for the Crays, where
-## the cache value is set in it's config file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting denormalized floating-point values is possible" >&5
-$as_echo_n "checking if converting denormalized floating-point values is possible... " >&6; }
-if ${hdf5_cv_convert_denormal_float+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_convert_denormal_float=yes
-fi
-
-
-if test ${hdf5_cv_convert_denormal_float} = "yes"; then
-
-$as_echo "#define CONVERT_DENORMAL_FLOAT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
-## floating-point to long long values.
-## (This flag should be _unset_ for all machines, except for Windows, where
-## it's set in the custom Windows H5pubconf.h file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting floating-point values to long long is not working" >&5
-$as_echo_n "checking if converting floating-point values to long long is not working... " >&6; }
-if ${hdf5_cv_convert_float_llong_not_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_convert_float_llong_not_works=no
-fi
-
-
-if test ${hdf5_cv_convert_float_llong_not_works} = "yes"; then
-
-$as_echo "#define HW_FP_TO_LLONG_NOT_WORKS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: true" >&5
-$as_echo "true" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: false" >&5
-$as_echo "false" >&6; }
-fi
-
-## ----------------------------------------------------------------------
## Set the flag to indicate that the machine has window style pathname,
## that is, "drive-letter:\" (e.g. "C:") or "drive-letter:/" (e.g. "C:/").
## (This flag should be _unset_ for all machines, except for Windows, where
@@ -28164,764 +27472,6 @@ $as_echo "no" >&6; }
;;
esac
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## long double to integers accurately. This flag should be set "yes" for
-## all machines except all SGIs. For SGIs, some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting from long double to integers is accurate" >&5
-$as_echo_n "checking if converting from long double to integers is accurate... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate=no}
-else
- if ${hdf5_cv_ldouble_to_integer_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_ldouble_to_integer_accurate=yes
-fi
-
-fi
-
-if test "${hdf5_cv_ldouble_to_integer_accurate}" = "yes"; then
-
-$as_echo "#define LDOUBLE_TO_INTEGER_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can do conversion from
-## long double to integers regardless of accuracy. This flag should be
-## set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
-## compiler has 'floating exception' when converting 'long double' to all
-## integers except 'unsigned long long'. Other HP-UX systems are unknown
-## yet. (1/8/05 - SLU)
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting from long double to integers works" >&5
-$as_echo_n "checking if converting from long double to integers works... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_works=${hdf5_cv_ldouble_to_integer_works=no}
-else
- if ${hdf5_cv_ldouble_to_integer_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- void *align;
- long double ld= 9701917572145405952.00L;
- unsigned char v1;
- short v2;
- unsigned int v3;
- int ret = 0;
-
- align = (void*)malloc(sizeof(long double));
- memcpy(align, &ld, sizeof(long double));
-
- /*For HU-UX11.00, there's floating exception(core dump) when doing some of casting
- *from 'long double' to integers*/
- v1=(unsigned char)(*((long double*)align));
- v2=(short)(*((long double*)align));
- v3=(unsigned int)(*((long double*)align));
-
- done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ldouble_to_integer_works=yes
-else
- hdf5_cv_ldouble_to_integer_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-fi
-
-if test ${hdf5_cv_ldouble_to_integer_works} = "yes"; then
-
-$as_echo "#define LDOUBLE_TO_INTEGER_WORKS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## integers to long double. (This flag should be set "yes" for all
-## machines except all SGIs, where some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if accurately converting from integers to long double" >&5
-$as_echo_n "checking if accurately converting from integers to long double... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_integer_to_ldouble_accurate=${hdf5_cv_integer_to_ldouble_accurate=no}
-else
- if ${hdf5_cv_integer_to_ldouble_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_integer_to_ldouble_accurate=yes
-fi
-
-fi
-
-if test ${hdf5_cv_integer_to_ldouble_accurate} = "yes"; then
-
-$as_echo "#define INTEGER_TO_LDOUBLE_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'unsigned long' to 'float' values.
-## (This flag should be set for all machines, except for Pathscale compiler
-## on Sandia's Linux machine where the compiler interprets 'unsigned long'
-## values as negative when the first bit of 'unsigned long' is on during
-## the conversion to float.)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if accurately converting unsigned long to float values" >&5
-$as_echo_n "checking if accurately converting unsigned long to float values... " >&6; }
-
-if ${hdf5_cv_ulong_to_float_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- int ret = 0;
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- float f1;
- float f2;
- float f3;
-
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xffffffffffffffffUL;
- l2 = 0xffffffffffff0000UL;
- l3 = 0xf000000000000000UL;
-
- f1 = (float)l1;
- f2 = (float)l2;
- f3 = (float)l3;
-
- if((f1 < 0) || (f2 < 0) || (f3 < 0))
- ret = 1;
- }
-
-done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ulong_to_float_accurate=yes
-else
- hdf5_cv_ulong_to_float_accurate=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-
-if test ${hdf5_cv_ulong_to_float_accurate} = "yes"; then
-
-$as_echo "#define ULONG_TO_FLOAT_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'unsigned (long) long' values to 'float' and 'double' values.
-## (This flag should be set for all machines, except for the SGIs, where
-## the cache value is set in the config/irix6.x config file) and Solaris
-## 64-bit machines, where the short program below tests if round-up is
-## correctly handled.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if accurately converting unsigned long long to floating-point values" >&5
-$as_echo_n "checking if accurately converting unsigned long long to floating-point values... " >&6; }
-
-if test ${host_os_novers} = "solaris2.x"; then
- if ${hdf5_cv_ulong_to_fp_bottom_bit_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- unsigned long l4;
- unsigned long long ld1;
- unsigned long long ld2;
- unsigned long long ld3;
- unsigned long long ld4;
- double d1, d2, d3, d4;
- unsigned char s[8];
- int ret = 0;
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xf000000000000b00UL; /*Round-down case*/
- l2 = 0xf000000000000401UL; /*Round-up case*/
- l3 = 0xf000000000000400UL; /*Round-down case*/
- l4 = 0xf000000000000c00UL; /*Round-up case*/
-
- d1 = (double)l1;
- d2 = (double)l2;
- d3 = (double)l3;
- d4 = (double)l4;
- } else if(sizeof(unsigned long long)==8) {
- ld1 = 0xf000000000000b00ULL; /*Round-down case*/
- ld2 = 0xf000000000000401ULL; /*Round-up case*/
- ld3 = 0xf000000000000400ULL; /*Round-down case*/
- ld4 = 0xf000000000000c00ULL; /*Round-up case*/
-
- d1 = (double)ld1;
- d2 = (double)ld2;
- d3 = (double)ld3;
- d4 = (double)ld4;
- } else {
- ret = 1;
- goto done;
- }
-
- memcpy(s, &d1, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d2, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d3, 8);
- if(s[7]!=0)
- ret = 1;
-
- memcpy(s, &d4, 8);
- if(s[7]!=2)
- ret = 1;
-
-done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ulong_to_fp_bottom_bit_accurate=yes
-else
- hdf5_cv_ulong_to_fp_bottom_bit_accurate=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-else
- if ${hdf5_cv_ulong_to_fp_bottom_bit_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_ulong_to_fp_bottom_bit_accurate=yes
-fi
-
-fi
-
-if test ${hdf5_cv_ulong_to_fp_bottom_bit_accurate} = "yes"; then
-
-$as_echo "#define ULONG_TO_FP_BOTTOM_BIT_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'float' or 'double' to 'unsigned long long' values.
-## (This flag should be set for all machines, except for PGI compiler
-## where round-up happens when the fraction of float-point value is greater
-## than 0.5.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if accurately roundup converting floating-point to unsigned long long values" >&5
-$as_echo_n "checking if accurately roundup converting floating-point to unsigned long long values... " >&6; }
-
-if ${hdf5_cv_fp_to_ullong_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- float f = 111.60f;
- double d = 222.55L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d;
- int ret = 0;
-
- if(l1 == 112)
- ret = 1;
- if(l2 == 223)
- ret = 1;
-
-done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_fp_to_ullong_accurate=yes
-else
- hdf5_cv_fp_to_ullong_accurate=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-
-if test ${hdf5_cv_fp_to_ullong_accurate} = "yes"; then
-
-$as_echo "#define FP_TO_ULLONG_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'float', 'double' or 'long double' to 'unsigned long long' values.
-## (This flag should be set for all machines, except for HP-UX machines
-## where the maximal number for unsigned long long is 0x7fffffffffffffff
-## during conversion.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if right maximum converting floating-point to unsigned long long values" >&5
-$as_echo_n "checking if right maximum converting floating-point to unsigned long long values... " >&6; }
-
-if ${hdf5_cv_fp_to_ullong_right_maximum+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- float f = 9701917572145405952.00f;
- double d1 = 9701917572145405952.00L;
- long double d2 = 9701917572145405952.00L;
- double d3 = 2e40L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d1;
- unsigned long long l3 = (unsigned long long)d2;
- unsigned long long l4;
- unsigned long long l5 = 0x7fffffffffffffffULL;
- int ret = 0;
-
- if(l1 <= l5 || l2 <= l5 || l3 <= l5)
- ret = 1;
-
- l4 = (unsigned long long)d3;
- if(l4 <= l5)
- ret = 1;
-
-done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_fp_to_ullong_right_maximum=yes
-else
- hdf5_cv_fp_to_ullong_right_maximum=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-
-if test ${hdf5_cv_fp_to_ullong_right_maximum} = "yes"; then
-
-$as_echo "#define FP_TO_ULLONG_RIGHT_MAXIMUM 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'long double' to 'unsigned int' values. (This flag should be set for
-## all machines, except for some Intel compilers on some Linux.)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting long double to unsigned int values" >&5
-$as_echo_n "checking if correctly converting long double to unsigned int values... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_uint_accurate=${hdf5_cv_ldouble_to_uint_accurate=no}
-else
- if ${hdf5_cv_ldouble_to_uint_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- long double ld = 2733248032.9183987530L;
- unsigned int i;
- int ret = 0;
-
- i = (unsigned int)ld;
- if(i!=2733248032 && i!=2733248031 && i!=2733248033)
- ret = 1;
-
- done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ldouble_to_uint_accurate=yes
-else
- hdf5_cv_ldouble_to_uint_accurate=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-fi
-
-if test ${hdf5_cv_ldouble_to_uint_accurate} = "yes"; then
-
-$as_echo "#define LDOUBLE_TO_UINT_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'unsigned long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiling unsigned long long to floating-point typecasts work" >&5
-$as_echo_n "checking if compiling unsigned long long to floating-point typecasts work... " >&6; }
-if ${hdf5_cv_ullong_to_fp_cast_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_ullong_to_fp_cast_works=yes
-fi
-
-
-if test ${hdf5_cv_ullong_to_fp_cast_works} = "yes"; then
-
-$as_echo "#define ULLONG_TO_FP_CAST_WORKS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiling long long to floating-point typecasts work" >&5
-$as_echo_n "checking if compiling long long to floating-point typecasts work... " >&6; }
-if ${hdf5_cv_llong_to_fp_cast_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_llong_to_fp_cast_works=yes
-fi
-
-
-if test ${hdf5_cv_llong_to_fp_cast_works} = "yes"; then
-
-$as_echo "#define LLONG_TO_FP_CAST_WORKS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can convert from
-## 'unsigned long long' to 'long double' without precision loss.
-## (This flag should be set for all machines, except for FreeBSD(sleipnir)
-## where the last 2 bytes of mantissa are lost when compiler tries to do
-## the conversion, and Cygwin where compiler doesn't do rounding correctly.)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting unsigned long long to long double with precision" >&5
-$as_echo_n "checking if converting unsigned long long to long double with precision... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ullong_to_ldouble_precision=${hdf5_cv_ullong_to_ldouble_precision=no}
-else
- if ${hdf5_cv_ullong_to_ldouble_precision+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <stdlib.h>
- #include <string.h>
-
- int main(void)
- {
- /* General variables */
- int endian;
- int tst_value = 1;
- int ret = 0;
-
- /* For FreeBSD */
- unsigned long long l = 0xa601e80bda85fcefULL;
- long double ld;
- unsigned char *c1, *c2;
- size_t size;
-
- /* For Cygwin */
- unsigned long long l_cyg = 0xfffffffffffffff0ULL;
- long double ld_cyg;
- unsigned char *c2_cyg;
- size_t size_cyg;
-
-
- /* Determine this system's endianess */
- c1 = (unsigned char*)calloc(1, sizeof(int));
- memcpy((void*)c1, &tst_value, sizeof(int));
- if(c1[0]==1)
- endian = 0; /* little endian */
- else
- endian = 1; /* big endian */
-
- /* For FreeBSD */
- size = sizeof(long double);
- memset(&ld, 0, size);
- ld = (long double)l;
-
- c2 = (unsigned char*)calloc(1, size);
- memcpy((void*)c2, &ld, size);
-
- /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel
- * architecture(sleipnir) where it happens. */
- /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/
- if(endian==0 && c2[0]==0) { /*little endian*/
- ret = 1;
- goto done;
- }
-
- /* For Cygwin */
- size_cyg = sizeof(long double);
- memset(&ld_cyg, 0, size);
- ld_cyg = (long double)l_cyg;
-
- c2_cyg = (unsigned char*)calloc(1, size_cyg);
- memcpy((void*)c2_cyg, &ld_cyg, size_cyg);
-
- /* Test if the last 4 bytes(roughly) of mantissa are rounded up. Mainly for Cygwin
- * where the values like 0xffffffffffffffff, 0xfffffffffffffffe, ...,
- * 0xfffffffffffff000 ... are rounded up as 0x0000403f8000000000000000
- * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ...,
- * 0x0000403efffffffffffff000 ...
- */
- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0)
- ret = 1;
-
- done:
- if(c1)
- free(c1);
- if(c2)
- free(c2);
- if(c2_cyg)
- free(c2_cyg);
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ullong_to_ldouble_precision=yes
-else
- hdf5_cv_ullong_to_ldouble_precision=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-fi
-
-if test ${hdf5_cv_ullong_to_ldouble_precision} = "yes"; then
-
-$as_echo "#define ULLONG_TO_LDOUBLE_PRECISION 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle overflow converting
-## all floating-point to all integer types.
-## (This flag should be set for all machines, except for Cray X1 where
-## floating exception is generated when the floating-point value is greater
-## than the maximal integer value).
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if overflows normally converting floating-point to integer values" >&5
-$as_echo_n "checking if overflows normally converting floating-point to integer values... " >&6; }
-
-if ${hdf5_cv_fp_to_integer_overflow_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- int main(void)
- {
- float f = 2147483648.0f;
- int i;
-
- i = (int)f;
-
-done:
- exit(0);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_fp_to_integer_overflow_works=yes
-else
- hdf5_cv_fp_to_integer_overflow_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-
-if test ${hdf5_cv_fp_to_integer_overflow_works} = "yes"; then
-
-$as_echo "#define FP_TO_INTEGER_OVERFLOW_WORKS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
## ----------------------------------------------------------------------
## Set the flag to indicate that the machine is using a special algorithm to convert
## 'long double' to '(unsigned) long' values. (This flag should only be set for
@@ -28949,59 +27499,72 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- int main(void)
- {
- long double ld = 20041683600089727.779961L;
- long ll;
- unsigned long ull;
- unsigned char s[16];
- unsigned char s2[8];
- int ret = 1;
-
- if(sizeof(long double) == 16 && sizeof(long) == 8) {
- /*make sure the long double type has 16 bytes in size and
- * 11 bits of exponent. If it is,
- *the bit sequence should be like below. It's not
- *a decent way to check but this info isn't available. */
- memcpy(s, &ld, 16);
- if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
- s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
- s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
-
- /* Assign the hexadecimal value of long double type. */
- s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
- s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
- s[8]=0xbf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
- s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
-
- memcpy(&ld, s, 16);
-
- ll = (long)ld;
- memcpy(s2, &ll, 8);
-
- /* The library's algorithm converts it to 0x 00 47 33 ce 17 af 22 82
- * and gets wrong value 20041683600089730 on the IBM Power6 Linux.
- * But the IBM Power6 Linux converts it to 0x00 47 33 ce 17 af 22 7f
- * and gets the correct value 20041683600089727. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
- s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
- ret = 0;
+ #include <string.h>
- ull = (unsigned long)ld;
- memcpy(s2, &ull, 8);
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
- /* The unsigned long is the same as signed long. */
- if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
- s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
- ret = 0;
+ long double ld = 20041683600089727.779961L;
+ long ll;
+ unsigned long ull;
+ unsigned char s[16];
+ unsigned char s2[8];
+ int ret = 1;
+
+ if(sizeof(long double) == 16 && sizeof(long) == 8) {
+ /*make sure the long double type has 16 bytes in size and
+ * 11 bits of exponent. If it is,
+ *the bit sequence should be like below. It's not
+ *a decent way to check but this info isn't available. */
+ memcpy(s, &ld, 16);
+ if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
+ s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
+ s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
+
+ /* Assign the hexadecimal value of long double type. */
+ s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
+ s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
+ s[8]=0xbf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
+ s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
+
+ memcpy(&ld, s, 16);
+
+ ll = (long)ld;
+ memcpy(s2, &ll, 8);
+
+ /* The library's algorithm converts it to 0x 00 47 33 ce 17 af 22 82
+ * and gets wrong value 20041683600089730 on the IBM Power6 Linux.
+ * But the IBM Power6 Linux converts it to 0x00 47 33 ce 17 af 22 7f
+ * and gets the correct value 20041683600089727. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
+ s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
+ ret = 0;
+
+ ull = (unsigned long)ld;
+ memcpy(s2, &ull, 8);
+
+ /* The unsigned long is the same as signed long. */
+ if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
+ s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
+ ret = 0;
+ }
}
- }
+ exit(ret);
- done:
- exit(ret);
- }
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -29054,248 +27617,81 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- int main(void)
- {
- long double ld;
- long ll;
- unsigned long ull;
- unsigned char s[16];
- int flag=0, ret=1;
-
- /*Determine if long double has 16 byte in size, 11 bit exponent, and
- *the bias is 0x3ff */
- if(sizeof(long double) == 16) {
- ld = 1.0L;
- memcpy(s, &ld, 16);
- if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
- flag = 1;
- }
-
- if(flag==1 && sizeof(long)==8) {
- ll = 0x003fffffffffffffL;
- ld = (long double)ll;
- memcpy(s, &ld, 16);
- /* The library converts the value to 0x434fffffffffffff8000000000000000.
- * In decimal it is 18014398509481982.000000, one value short of the original.
- * The IBM Power6 Linux converts it to 0x4350000000000000bff0000000000000.
- * The value is correct in decimal. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s[0]==0x43 && s[1]==0x50 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
- s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
- s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
- ret = 0;
- }
- if(flag==1 && sizeof(unsigned long)==8) {
- ull = 0xffffffffffffffffUL;
- ld = (long double)ull;
- memcpy(s, &ld, 16);
- /* Use a different value from signed long to test. The problem is the same
- * for both long and unsigned long. The value is 18446744073709551615.
- * The library converts the value to 0x43effffffffffffffe000000000000000.
- * In decimal it's 18446744073709548544.000000, very different from the original.
- * The IBM Power6 Linux converts it to 0x43f0000000000000bff0000000000000.
- * The value is correct in decimal. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s[0]==0x43 && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
- s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
- s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
- ret = 0;
- }
- done:
- exit(ret);
- }
+ #include <string.h>
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_long_to_ldouble_special=yes
-else
- hdf5_cv_long_to_ldouble_special=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-
-fi
-
-if test ${hdf5_cv_long_to_ldouble_special} = "yes"; then
-
-$as_echo "#define LONG_TO_LDOUBLE_SPECIAL 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'long double' to '(unsigned) long long' values. (This flag should be set for
-## all machines, except for Mac OS 10.4 and SGI IRIX64 6.5. When the bit sequence
-## of long double is 0x4351ccf385ebc8a0bfcc2a3c..., the values of (unsigned)long long
-## start to go wrong on these two machines. Adjusting it higher to
-## 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted
-## values wildly wrong. This test detects this wrong behavior and disable the test.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting long double to (unsigned) long long values" >&5
-$as_echo_n "checking if correctly converting long double to (unsigned) long long values... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_llong_accurate=${hdf5_cv_ldouble_to_llong_accurate=no}
-else
- if ${hdf5_cv_ldouble_to_llong_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
- int main(void)
- {
- long double ld = 20041683600089727.779961L;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int ret = 0;
-
- if(sizeof(long double) == 16) {
- /*make sure the long double type is the same as the failing type
- *which has 16 bytes in size and 11 bits of exponent. If it is,
- *the bit sequence should be like below. It's not
- *a decent way to check but this info isn't available. */
- memcpy(s, &ld, 16);
- if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
- s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
- s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
-
- /*slightly adjust the bit sequence (s[8]=0xdf). The converted
- *values will go wild on Mac OS 10.4 and IRIX64 6.5.*/
- s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
- s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
- s[8]=0xdf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
- s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
-
- memcpy(&ld, s, 16);
- ll = (long long)ld;
- ull = (unsigned long long)ld;
-
- if(ll != 20041683600089728 || ull != 20041683600089728)
- ret = 1;
+ long double ld;
+ long ll;
+ unsigned long ull;
+ unsigned char s[16];
+ int flag=0, ret=1;
+
+ /*Determine if long double has 16 byte in size, 11 bit exponent, and
+ *the bias is 0x3ff */
+ if(sizeof(long double) == 16) {
+ ld = 1.0L;
+ memcpy(s, &ld, 16);
+ if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
+ flag = 1;
}
- }
- done:
- exit(ret);
- }
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_ldouble_to_llong_accurate=yes
-else
- hdf5_cv_ldouble_to_llong_accurate=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-fi
-
-fi
-
-if test ${hdf5_cv_ldouble_to_llong_accurate} = "yes"; then
-
-$as_echo "#define LDOUBLE_TO_LLONG_ACCURATE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## '(unsigned) long long' to 'long double' values. (This flag should be set for
-## all machines, except for Mac OS 10.4, when the bit sequences are 003fff...,
-## 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice
-## as big as they should be.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting (unsigned) long long to long double values" >&5
-$as_echo_n "checking if correctly converting (unsigned) long long to long double values... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_llong_to_ldouble_correct=${hdf5_cv_llong_to_ldouble_correct=no}
-else
- if ${hdf5_cv_llong_to_ldouble_correct+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ if(flag==1 && sizeof(long)==8) {
+ ll = 0x003fffffffffffffL;
+ ld = (long double)ll;
+ memcpy(s, &ld, 16);
+ /* The library converts the value to 0x434fffffffffffff8000000000000000.
+ * In decimal it is 18014398509481982.000000, one value short of the original.
+ * The IBM Power6 Linux converts it to 0x4350000000000000bff0000000000000.
+ * The value is correct in decimal. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s[0]==0x43 && s[1]==0x50 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
+ s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
+ s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
+ ret = 0;
+ }
+ if(flag==1 && sizeof(unsigned long)==8) {
+ ull = 0xffffffffffffffffUL;
+ ld = (long double)ull;
+ memcpy(s, &ld, 16);
+ /* Use a different value from signed long to test. The problem is the same
+ * for both long and unsigned long. The value is 18446744073709551615.
+ * The library converts the value to 0x43effffffffffffffe000000000000000.
+ * In decimal it's 18446744073709548544.000000, very different from the original.
+ * The IBM Power6 Linux converts it to 0x43f0000000000000bff0000000000000.
+ * The value is correct in decimal. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s[0]==0x43 && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
+ s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
+ s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
+ ret = 0;
+ }
+ exit(ret);
- int main(void)
- {
- long double ld;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int flag=0, ret=0;
-
- /*Determine if long double has 16 byte in size, 11 bit exponent, and
- *the bias is 0x3ff */
- if(sizeof(long double) == 16) {
- ld = 1.0L;
- memcpy(s, &ld, 16);
- if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
- flag = 1;
- }
-
- if(flag==1 && sizeof(long long)==8) {
- ll = 0x01ffffffffffffffLL;
- ld = (long double)ll;
- memcpy(s, &ld, 16);
- /*Check if the bit sequence is as supposed to be*/
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
- if(flag==1 && sizeof(unsigned long long)==8) {
- ull = 0x01ffffffffffffffULL;
- ld = (long double)ull;
- memcpy(s, &ld, 16);
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
- done:
- exit(ret);
- }
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
- hdf5_cv_llong_to_ldouble_correct=yes
+ hdf5_cv_long_to_ldouble_special=yes
else
- hdf5_cv_llong_to_ldouble_correct=no
+ hdf5_cv_long_to_ldouble_special=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -29305,35 +27701,9 @@ fi
fi
-if test ${hdf5_cv_llong_to_ldouble_correct} = "yes"; then
-
-$as_echo "#define LLONG_TO_LDOUBLE_CORRECT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine generates bad code
-## for the H5VM_log2_gen() routine in src/H5VMprivate.h
-## (This flag should be set to no for all machines, except for SGI IRIX64,
-## where the cache value is set to yes in it's config file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if bad code for log2 routine is generated" >&5
-$as_echo_n "checking if bad code for log2 routine is generated... " >&6; }
-if ${hdf5_cv_bad_log2_code_generated+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_bad_log2_code_generated=no
-fi
-
-
-if test ${hdf5_cv_bad_log2_code_generated} = "yes"; then
+if test ${hdf5_cv_long_to_ldouble_special} = "yes"; then
-$as_echo "#define BAD_LOG2_CODE_GENERATED 1" >>confdefs.h
+$as_echo "#define LONG_TO_LDOUBLE_SPECIAL 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -29344,7 +27714,7 @@ fi
## ----------------------------------------------------------------------
## Set some variables for general configuration information to be saved
-## and installed with the libraries.
+## and installed with the libraries (used to generate libhdf5.settings).
##
## HDF5 version from the first line of the README.txt file.
@@ -29455,53 +27825,6 @@ fi
ROOT="`$pwd`"
## ----------------------------------------------------------------------
-## Move any compiler-specific libraries into the main LIBS varaible.
-##
-LIBS="$DEFAULT_LIBS $LIBS"
-
-## ----------------------------------------------------------------------
-## Determine the runtime libraries we may need to include in the
-## libtools command so that executables will find the correct dynamic
-## libraries.
-##
- DYNAMIC_DIRS=""
-
-if test -n "$AM_LDFLAGS $LDFLAGS"; then
- for d in $AM_LDFLAGS $LDFLAGS ; do
- case "$d" in
- -L*)
- d="`echo $d | sed -e 's/-L//g'`"
- case "$d" in
- .*)
- ## If the path isn't absolute, make it so by
- ## prepending the ROOT directory to it.
- d=${ROOT}/$d
- ;;
- esac
- DYNAMIC_DIRS="-R${d} $DYNAMIC_DIRS"
- ;;
- esac
- done
-fi
-
-if test -n "$AM_CPPFLAGS"; then
- TEMP_CPPFLAGS=""
- for d in $AM_CPPFLAGS ; do
- case "$d" in
- -I.*)
- ## If the path isn't absolute, make it so by prepending
- ## the ROOT directory to it.
- d="`echo $d | sed -e 's/-I//g'`"
- d="-I${ROOT}/${d}"
- ;;
- esac
- TEMP_CPPFLAGS="$d $TEMP_CPPFLAGS"
- done
- AM_CPPFLAGS=$TEMP_CPPFLAGS
-fi
-
-
-## ----------------------------------------------------------------------
## Some programs shouldn't be built by default (e.g., programs to generate
## data files used by tests, some optional tests).
## Check if they want such programs built anyway.
@@ -29805,18 +28128,8 @@ fi
## The directory search list
SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src'
-cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"'
-SEARCH="$SEARCH_RULE`eval $cmd`"
export SEARCH
-## We don't need to say when we're entering directories if we're using
-## GNU make because make does it for us.
-if test "X$GMAKE" = "Xyes"; then
- SETX=":"
-else
- SETX="set -x"
-fi
-
## Some cleanup stuff
rm -f conftest conftest.o conftest.c dummy.o *.mod
@@ -30249,7 +28562,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-HDF5 config.lt 1.9.216-swmr0
+HDF5 config.lt 1.9.217-swmr0
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -30292,9 +28605,6 @@ cat >>"$CONFIG_LT" <<_LTEOF
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
-AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
@@ -30328,10 +28638,12 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
@@ -30539,10 +28851,7 @@ _LTECHO_EOF'
}
# Quote evaled strings.
-for var in AS \
-DLLTOOL \
-OBJDUMP \
-SHELL \
+for var in SHELL \
ECHO \
PATH_SEPARATOR \
SED \
@@ -30555,10 +28864,12 @@ LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
+OBJDUMP \
deplibs_check_method \
file_magic_cmd \
file_magic_glob \
want_nocaseglob \
+DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
AR_FLAGS \
@@ -30805,15 +29116,6 @@ available_tags="CXX FC "
# ### BEGIN LIBTOOL CONFIG
-# Assembler program.
-AS=$lt_AS
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$lt_OBJDUMP
-
# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision
@@ -30894,6 +29196,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -30906,6 +29211,9 @@ file_magic_glob=$lt_file_magic_glob
# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
want_nocaseglob=$lt_want_nocaseglob
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
# Command to associate shared and link libraries.
sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
@@ -31936,10 +30244,6 @@ if test -z "${FORTRAN_SHARED_CONDITIONAL_TRUE}" && test -z "${FORTRAN_SHARED_CON
as_fn_error $? "conditional \"FORTRAN_SHARED_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${CXX_SHARED_CONDITIONAL_TRUE}" && test -z "${CXX_SHARED_CONDITIONAL_FALSE}"; then
- as_fn_error $? "conditional \"CXX_SHARED_CONDITIONAL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_PLUGINS_CONDITIONAL_TRUE}" && test -z "${USE_PLUGINS_CONDITIONAL_FALSE}"; then
as_fn_error $? "conditional \"USE_PLUGINS_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32374,7 +30678,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HDF5 $as_me 1.9.216-swmr0, which was
+This file was extended by HDF5 $as_me 1.9.217-swmr0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -32440,7 +30744,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HDF5 config.status 1.9.216-swmr0
+HDF5 config.status 1.9.217-swmr0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -32569,9 +30873,6 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
-AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
@@ -32605,10 +30906,12 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
@@ -32816,10 +31119,7 @@ _LTECHO_EOF'
}
# Quote evaled strings.
-for var in AS \
-DLLTOOL \
-OBJDUMP \
-SHELL \
+for var in SHELL \
ECHO \
PATH_SEPARATOR \
SED \
@@ -32832,10 +31132,12 @@ LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
+OBJDUMP \
deplibs_check_method \
file_magic_cmd \
file_magic_glob \
want_nocaseglob \
+DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
AR_FLAGS \
@@ -33878,15 +32180,6 @@ available_tags="CXX FC "
# ### BEGIN LIBTOOL CONFIG
-# Assembler program.
-AS=$lt_AS
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$lt_OBJDUMP
-
# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision
@@ -33967,6 +32260,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -33979,6 +32275,9 @@ file_magic_glob=$lt_file_magic_glob
# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
want_nocaseglob=$lt_want_nocaseglob
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
# Command to associate shared and link libraries.
sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
diff --git a/configure.ac b/configure.ac
index 1982f4c..7d173e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ AC_PREREQ([2.69])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
-AC_INIT([HDF5], [1.9.216-swmr0], [help@hdfgroup.org])
+AC_INIT([HDF5], [1.9.217-swmr0], [help@hdfgroup.org])
AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADER([src/H5config.h])
@@ -110,7 +110,7 @@ AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_LDFLAGS])
-## Make sure flags are set to something (otherwise macros may set them later).
+## Make sure flags are initialized.
AM_CFLAGS="${AM_CFLAGS}"
AM_CXXFLAGS="${AM_CXXFLAGS}"
AM_FCFLAGS="${AM_FCFLAGS}"
@@ -131,12 +131,6 @@ saved_user_FCFLAGS="$FCFLAGS"
saved_user_LDFLAGS="$LDFLAGS"
saved_user_CPPFLAGS="$CPPFLAGS"
-## Different compilers may need default libraries. They are specified in
-## the config/* files, so we put this statement here so that it'll be
-## set by the code which follows...
-##
-DEFAULT_LIBS=""
-
## Support F9X variable to define Fortran compiler if FC variable is
## not used. This should be deprecated in the future.
if test "x" = "x$FC"; then
@@ -193,15 +187,9 @@ AC_SUBST([UNAME_INFO]) UNAME_INFO=`uname -a`
## ----------------------------------------------------------------------
## Some platforms have broken basename, and/or xargs programs. Check
## that it actually does what it's supposed to do. Catch this early
-## since configure relies upon them heavily and there's no use continuing
-## if it's broken.
+## since configure and scripts relies upon them heavily and there's
+## no use continuing if it's broken.
##
-
-## Avoid depending upon Character Ranges.
-## These are defined by autoconf.
-## as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-## as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
AC_MSG_CHECKING([if basename works])
BASENAME_TEST="`basename /foo/bar/baz/qux/basename_works`"
if test $BASENAME_TEST != "basename_works"; then
@@ -210,6 +198,7 @@ else
AC_MSG_RESULT([yes])
fi
+## xargs basename used in configure to get the CC_BASENAME value
AC_MSG_CHECKING([if xargs works])
XARGS_TEST="`echo /foo/bar/baz/qux/xargs_works | xargs basename`"
if test $XARGS_TEST != "xargs_works"; then
@@ -255,12 +244,6 @@ case $host_os in
freebsd*)
host_os_novers=freebsd
;;
- irix5.*)
- host_os_novers=irix5.x
- ;;
- irix6.*)
- host_os_novers=irix6.x
- ;;
osf4.*)
host_os_novers=osf4.x
;;
@@ -587,6 +570,7 @@ AC_PROG_INSTALL
## ----------------------------------------------------------------------
## Set up ${TR} which is used to process DEBUG_PKG.
+
AC_PATH_PROG([TR], [tr])
@@ -694,80 +678,14 @@ fi
AM_CONDITIONAL([FORTRAN_SHARED_CONDITIONAL], [test "X$H5_FORTRAN_SHARED" = "Xyes"])
## ----------------------------------------------------------------------
-## Disable C++ shared libraries if +DD64 flag is detected.
-##
-AC_SUBST([H5_CXX_SHARED])
-H5_CXX_SHARED="no"
-if test "X${HDF_CXX}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
- AC_MSG_CHECKING([if shared C++ libraries are supported])
- H5_CXX_SHARED="yes"
-
- ## Disable C++ shared libraries if DD64 flag is being used.
-
- if (echo dummy ${CXX} ${CXXLD} ${CFLAGS} ${CXXFLAGS} ${LDFLAGS} | grep 'DD64') > /dev/null; then
- H5_CXX_SHARED="no"
- CHECK_WARN="Shared C++ libraries not currently supported with +DD64 flag."
- fi
-
- ## Report results of check(s)
-
- if test "X${H5_CXX_SHARED}" = "Xno"; then
- AC_MSG_RESULT([no])
- AC_MSG_WARN([$CHECK_WARN])
- if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
- AC_MSG_WARN([Disabling shared C++ libraries.])
- AC_MSG_WARN([To override this behavior, please use --enable-unsupported configure option.])
- if test "X${enable_static}" = "Xno"; then
- AC_MSG_ERROR([both static and shared C++ libraries are disabled])
- fi
- else
- AC_MSG_WARN([Allowing unsupported C++ shared librares due to use of --enable-unsupported flag])
- fi
- else
- AC_MSG_RESULT([yes])
- fi
-fi
-
-AM_CONDITIONAL([CXX_SHARED_CONDITIONAL], [test "X$H5_CXX_SHARED" = "Xyes"])
-
-## ----------------------------------------------------------------------
-## pgcc version 6.0x have optimization (-O, -O2 or -O3) problem. Detect
-## these versions and add option "-Mx,28,0x8" to the compiler to avoid
-## the problem if optimization is enabled.
-##
-
-if (${CC-cc} -V 2>&1 | grep '^pgcc 6.0') > /dev/null && test "X$enable_production" = "Xyes"; then
- echo 'adding compiler flag to avoid optimization problem in pgcc'
- CC="${CC-cc} -Mx,28,0x8"
-fi
-
-## ----------------------------------------------------------------------
-## Shared libraries are not currently supported under Cygwin, so configure
-## disables them unless --enable-unsupported has been supplied by the user.
-
-if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
- case "`uname`" in
- CYGWIN*)
- if test "X${enable_shared}" = "Xyes"; then
- echo ' warning: shared libraries are not supported on Cygwin!'
- echo ' disabling shared libraries'
- echo ' use --enable-unsupported to override this warning and keep shared libraries enabled'
- fi
- enable_shared="no"
- ;;
- esac
-fi
-
-## ----------------------------------------------------------------------
-## Windows won't create DLLs without the following macro.
-##
-AC_LIBTOOL_WIN32_DLL
-
-## ----------------------------------------------------------------------
## Create libtool. If shared/static libraries are going to be enabled
## or disabled, it should happen before these macros.
LT_PREREQ([2.2])
-LT_INIT([dlopen])
+
+## ----------------------------------------------------------------------
+## dlopen - This will use an improved version of libtool
+## win32-dll - This will build clean dlls on win32 platforms.
+LT_INIT([dlopen,win32-dll])
## ----------------------------------------------------------------------
## Check if we should install only statically linked executables.
@@ -835,79 +753,6 @@ case "X-$RPATH" in
esac
## ----------------------------------------------------------------------
-## Sometimes makes think the `.PATH:' appearing before the first rule
-## with an action should override the `all' default target. So we have
-## to decide what the proper syntax is.
-##
-AC_MSG_CHECKING([how make searches directories])
-while true; do #for break
- ## The most common method is `VPATH=DIR1 DIR2 ...'
- cat >maketest <<EOF
-VPATH=$srcdir/config $srcdir/src $srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='VPATH='
- SEARCH_SEP=' '
- AC_MSG_RESULT([VPATH=DIR1 DIR2 ...])
- break
- fi
-
- ## The second most common method is like above except with the
- ## directories separated by colons.
- cat >maketest <<EOF
-VPATH=$srcdir/config:$srcdir/src:$srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='VPATH='
- SEARCH_SEP=':'
- AC_MSG_RESULT([VPATH=DIR1:DIR2:...])
- break
- fi
-
- ## pmake uses the construct `.PATH: DIR1 DIR2
- cat >maketest <<EOF
-.PATH: $srcdir/config $srcdir/src $srcdir/bin
-.c.o:
- cp $< H5.o
-
-foo: H5.o
- rm -f H5.o
- @echo works
-EOF
-
- if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
- SEARCH_RULE='.PATH: '
- SEARCH_SEP=' '
- AC_MSG_RESULT([.PATH: DIR1 DIR2 ...])
- break
- fi
-
- ## No way for make to search directories
- SEARCH_RULE='## SEARCH DISABLED: '
- SEARCH_SEP=' '
- AC_MSG_RESULT([it doesn't])
- if test ! -f configure; then
- AC_MSG_ERROR([${MAKE-make} requires the build and source directories to be the same])
- fi
- break
-done
-rm maketest
-
-## ----------------------------------------------------------------------
## pmake will throw an error if variables are undefined in a Makefile.
## These errors can be changed to warnings using the -V flag.
##
@@ -989,8 +834,6 @@ if test "`uname`" = "SunOS" -o "`uname -sr`" = "HP-UX B.11.00"; then
AC_CHECK_LIB([nsl], [xdr_int])
fi
-dnl AC_CHECK_LIB([coug], [main]) ## ...for ASCI/Red
-
## ----------------------------------------------------------------------
## Check for system header files.
##
@@ -1035,7 +878,7 @@ case "$host" in
## many problems with including them.
AC_CHECK_HEADERS([sys/sysinfo.h sys/proc.h])
;;
- mips*-sgi*-irix*)
+ mips*-sgi*)
## The <sys/fpu.h> is needed on the SGI machines to turn off
## denormalized floating-point values going to zero. We do *not*
## attempt to locate these files on other systems because there
@@ -1132,6 +975,11 @@ case "$host_cpu-$host_vendor-$host_os" in
## however, we do not do this since it breaks the big test on some
## older platforms.
H5_CPPFLAGS="-D_BSD_SOURCE $H5_CPPFLAGS"
+
+ ## _BSD_SOURCE is deprecated as of glibc 2.20, in favor of _DEFAULT_SOURCE.
+ ## To avoid warnings, we define _DEFAULT_SOURCE in addition to _BSD_SOURCE,
+ ## which should work for all versions of glibc.
+ H5_CPPFLAGS="-D_DEFAULT_SOURCE $H5_CPPFLAGS"
;;
esac
@@ -1307,15 +1155,6 @@ case $withval in
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$dmalloc_inc" = "X/usr/include"; then
- dmalloc_inc=""
- fi
- if test "X$dmalloc_lib" = "X/usr/lib"; then
- dmalloc_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -1373,7 +1212,7 @@ case $withval in
;;
no)
HAVE_ZLIB="no"
- AC_MSG_CHECKING([for GNU zlib])
+ AC_MSG_CHECKING([for zlib])
AC_MSG_RESULT([suppressed])
;;
*)
@@ -1391,15 +1230,6 @@ case $withval in
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$zlib_inc" = "X/usr/include"; then
- zlib_inc=""
- fi
- if test "X$zlib_lib" = "X/usr/lib"; then
- zlib_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -1490,15 +1320,6 @@ case $withval in
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$szlib_inc" = "X/usr/include"; then
- szlib_inc=""
- fi
- if test "X$szlib_lib" = "X/usr/lib"; then
- szlib_lib=""
- fi
-
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
@@ -1545,18 +1366,18 @@ if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
AC_SUBST([LL_PATH]) LL_PATH="$LD_LIBRARY_PATH"
AC_CACHE_VAL([hdf5_cv_szlib_can_encode],
- [AC_TRY_RUN([
- #include <szlib.h>
-
- int main(void)
- {
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([
+ #include "szlib.h"
+ ],[[
/* SZ_encoder_enabled returns 1 if encoder is present */
- if(SZ_encoder_enabled() == 1)
- exit(0);
- else
- exit(1);
- }
- ], [hdf5_cv_szlib_can_encode=yes], [hdf5_cv_szlib_can_encode=no],)])
+ if(SZ_encoder_enabled() == 1)
+ exit(0);
+ else
+ exit(1);
+ ]])]
+ , [hdf5_cv_szlib_can_encode=yes], [hdf5_cv_szlib_can_encode=no],)]
+ )
AC_DEFINE([HAVE_FILTER_SZIP], [1],
[Define if support for szip filter is enabled])
@@ -1681,15 +1502,6 @@ if test "X$THREADSAFE" = "Xyes"; then
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$pthread_inc" = "X/usr/include"; then
- pthread_inc=""
- fi
- if test "X$pthread_lib" = "X/usr/lib"; then
- pthread_lib=""
- fi
-
if test -n "$pthread_inc"; then
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
@@ -1735,15 +1547,12 @@ if test "X$THREADSAFE" = "Xyes"; then
#include <pthread.h>
#endif
],[
- int main(void)
- {
pthread_attr_t attribute;
int ret;
pthread_attr_init(&attribute);
ret=pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM);
exit(ret==0 ? 0 : 1);
- }
])]
, [hdf5_cv_system_scope_threads=yes], [hdf5_cv_system_scope_threads=no], [hdf5_cv_system_scope_threads=no])])
@@ -1861,85 +1670,7 @@ AC_CHECK_FUNCS([gethostname getpwuid getrusage gettimeofday])
AC_CHECK_FUNCS([lstat rand_r random setsysinfo])
AC_CHECK_FUNCS([signal longjmp setjmp siglongjmp sigsetjmp sigprocmask])
AC_CHECK_FUNCS([snprintf srandom strdup symlink system])
-AC_CHECK_FUNCS([tmpfile asprintf vasprintf waitpid])
-
-## Check for vsnprintf() separately, so we can detect situations where it
-## doesn't return the correct size for formatted strings that are too large
-## for the buffer provided
-AC_CHECK_FUNCS([vsnprintf],
-
- ## Check if vsnprintf() returns correct size for strings that don't fit
- ## into the size allowed. If vsnprintf() works correctly on this platform,
- ## it should return a value of 42 for the test below
- ##
- ## Note that vsnprintf fails in two different ways:
- ## - In IRIX64, calls to vnsprintf() with a formatted string that
- ## is larger than the buffer size allowed incorrectly
- ## return the size of the buffer minus one.
- ## - In HP/UX, calls to vsnprintf() with a formatted string that
- ## is larger than the buffer size allowed incorrectly
- ## return (-1)
- AC_MSG_CHECKING([if vsnprintf returns correct value])
-
- AC_CACHE_VAL([hdf5_cv_vsnprintf_works],
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-int test_vsnprintf(const char *fmt,...)
-{
- va_list ap;
- char *s = malloc(16);
- int ret;
-
- va_start(ap, fmt);
- ret=vsnprintf(s,16,"%s",ap);
- va_end(ap);
-
- return(ret!=42 ? 1 : 0);
-}
-
-int main(void)
-{
- exit(test_vsnprintf("%s","A string that is longer than 16 characters"));
-}
- ],[hdf5_cv_vsnprintf_works=yes],[hdf5_cv_vsnprintf_works=no],))
-
- if test ${hdf5_cv_vsnprintf_works} = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([VSNPRINTF_WORKS], [1],
- [Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed])
- else
- AC_MSG_RESULT([no])
- fi
- ,)
-
-## ----------------------------------------------------------------------
-## Check that a lone colon can be used as an argument
-## This is not true on Cray X1, which interprets a lone colon as a
-## system command.
-##
-AC_CACHE_CHECK([if lone colon can be used as an argument],
- [hdf5_cv_lone_colon],
- [
- echo "int main(int argc, char * argv[]) {return 0;}" > conftest.c
- $CC $CFLAGS conftest.c -o a.out> /dev/null 2> /dev/null
- echo "./a.out :" > conftest.sh
- chmod 700 conftest.sh
-
- ./conftest.sh 2> conftest.out
- rm -f a.out
- TEST_OUTPUT=`cat conftest.out`
-
- if test "X$TEST_OUTPUT" = "X"; then
- hdf5_cv_lone_colon=yes
- else
- hdf5_cv_lone_colon=no
- fi
- ])
-
-AC_SUBST([H5_LONE_COLON]) H5_LONE_COLON="$hdf5_cv_lone_colon"
+AC_CHECK_FUNCS([tmpfile asprintf vasprintf vsnprintf waitpid])
## ----------------------------------------------------------------------
## Check compiler characteristics
@@ -1990,19 +1721,18 @@ AC_MSG_CHECKING([how to print long long])
AC_CACHE_VAL([hdf5_cv_printf_ll], [
for hdf5_cv_printf_ll in l ll L q unknown; do
- AC_TRY_RUN([
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- int main(void)
- {
- char *s = malloc(128);
- long long x = (long long)1048576 * (long long)1048576;
- sprintf(s,"%${hdf5_cv_printf_ll}d",x);
- exit(strcmp(s,"1099511627776"));
- }
- ], [break],,[continue])
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ ],[[
+ char *s = malloc(128);
+ long long x = (long long)1048576 * (long long)1048576;
+ sprintf(s,"%${hdf5_cv_printf_ll}d",x);
+ exit(strcmp(s,"1099511627776"));
+ ]])]
+ , [break],,[continue])
done])
AC_MSG_RESULT([%${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u])
@@ -2392,15 +2122,6 @@ if test -n "$PARALLEL"; then
;;
esac
- ## Trying to include -I/usr/include and -L/usr/lib is redundant and
- ## can mess some compilers up.
- if test "X$mpe_inc" = "X/usr/include"; then
- mpe_inc=""
- fi
- if test "X$mpe_lib" = "X/usr/lib"; then
- mpe_lib=""
- fi
-
if test -n "$mpe_inc"; then
saved_CPPFLAGS="$CPPFLAGS"
saved_AM_CPPFLAGS="$AM_CPPFLAGS"
@@ -2513,61 +2234,6 @@ else
fi
## ----------------------------------------------------------------------
-## Decide whether the data accuracy has higher priority during data
-## conversions. If not, some hard conversions will still be prefered even
-## though the data may be wrong (for example, some compilers don't
-## support denormalized floating values) to maximize speed.
-##
-AC_MSG_CHECKING([whether data accuracy is guaranteed during data conversions])
-AC_ARG_ENABLE([dconv-accuracy],
- [AS_HELP_STRING([--enable-dconv-accuracy],
- [if data accuracy is guaranteed during
- data conversions [default=yes]])],
- [DATA_ACCURACY=$enableval], [DATA_ACCURACY=yes])
-
-if test "$DATA_ACCURACY" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([WANT_DATA_ACCURACY], [1],
- [Data accuracy is prefered to speed during data conversions])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
-## denormalized floating-point values.
-## (This flag should be set for all machines, except for the Crays, where
-## the cache value is set in it's config file)
-##
-AC_MSG_CHECKING([if converting denormalized floating-point values is possible])
-AC_CACHE_VAL([hdf5_cv_convert_denormal_float], [hdf5_cv_convert_denormal_float=yes])
-
-if test ${hdf5_cv_convert_denormal_float} = "yes"; then
- AC_DEFINE([CONVERT_DENORMAL_FLOAT], [1],
- [Define if your system can handle converting denormalized floating-point values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
-## floating-point to long long values.
-## (This flag should be _unset_ for all machines, except for Windows, where
-## it's set in the custom Windows H5pubconf.h file)
-##
-AC_MSG_CHECKING([if converting floating-point values to long long is not working])
-AC_CACHE_VAL([hdf5_cv_convert_float_llong_not_works], [hdf5_cv_convert_float_llong_not_works=no])
-
-if test ${hdf5_cv_convert_float_llong_not_works} = "yes"; then
- AC_DEFINE([HW_FP_TO_LLONG_NOT_WORKS], [1],
- [Define if your system can't handle converting floating-point values to long long.])
- AC_MSG_RESULT([true])
-else
- AC_MSG_RESULT([false])
-fi
-
-## ----------------------------------------------------------------------
## Set the flag to indicate that the machine has window style pathname,
## that is, "drive-letter:\" (e.g. "C:") or "drive-letter:/" (e.g. "C:/").
## (This flag should be _unset_ for all machines, except for Windows, where
@@ -2586,515 +2252,6 @@ case "`uname`" in
;;
esac
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## long double to integers accurately. This flag should be set "yes" for
-## all machines except all SGIs. For SGIs, some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x.
-##
-AC_MSG_CHECKING([if converting from long double to integers is accurate])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate=no}
-else
- AC_CACHE_VAL([hdf5_cv_ldouble_to_integer_accurate], [hdf5_cv_ldouble_to_integer_accurate=yes])
-fi
-
-if test "${hdf5_cv_ldouble_to_integer_accurate}" = "yes"; then
- AC_DEFINE([LDOUBLE_TO_INTEGER_ACCURATE], [1],
- [Define if your system can convert long double to integers accurately.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can do conversion from
-## long double to integers regardless of accuracy. This flag should be
-## set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
-## compiler has 'floating exception' when converting 'long double' to all
-## integers except 'unsigned long long'. Other HP-UX systems are unknown
-## yet. (1/8/05 - SLU)
-
-AC_MSG_CHECKING([if converting from long double to integers works])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_works=${hdf5_cv_ldouble_to_integer_works=no}
-else
- AC_CACHE_VAL([hdf5_cv_ldouble_to_integer_works],
- [AC_TRY_RUN([
- int main(void)
- {
- void *align;
- long double ld= 9701917572145405952.00L;
- unsigned char v1;
- short v2;
- unsigned int v3;
- int ret = 0;
-
- align = (void*)malloc(sizeof(long double));
- memcpy(align, &ld, sizeof(long double));
-
- /*For HU-UX11.00, there's floating exception(core dump) when doing some of casting
- *from 'long double' to integers*/
- v1=(unsigned char)(*((long double*)align));
- v2=(short)(*((long double*)align));
- v3=(unsigned int)(*((long double*)align));
-
- done:
- exit(ret);
- }
- ], [hdf5_cv_ldouble_to_integer_works=yes], [hdf5_cv_ldouble_to_integer_works=no],)])
-fi
-
-if test ${hdf5_cv_ldouble_to_integer_works} = "yes"; then
- AC_DEFINE([LDOUBLE_TO_INTEGER_WORKS], [1],
- [Define if your system can convert from long double to integer values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## integers to long double. (This flag should be set "yes" for all
-## machines except all SGIs, where some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x)
-##
-AC_MSG_CHECKING([if accurately converting from integers to long double])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_integer_to_ldouble_accurate=${hdf5_cv_integer_to_ldouble_accurate=no}
-else
- AC_CACHE_VAL([hdf5_cv_integer_to_ldouble_accurate], [hdf5_cv_integer_to_ldouble_accurate=yes])
-fi
-
-if test ${hdf5_cv_integer_to_ldouble_accurate} = "yes"; then
- AC_DEFINE([INTEGER_TO_LDOUBLE_ACCURATE], [1],
- [Define if your system can accurately convert from integers to long double values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'unsigned long' to 'float' values.
-## (This flag should be set for all machines, except for Pathscale compiler
-## on Sandia's Linux machine where the compiler interprets 'unsigned long'
-## values as negative when the first bit of 'unsigned long' is on during
-## the conversion to float.)
-##
-AC_MSG_CHECKING([if accurately converting unsigned long to float values])
-
-AC_CACHE_VAL([hdf5_cv_ulong_to_float_accurate],
- [AC_TRY_RUN([
- int main(void)
- {
- int ret = 0;
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- float f1;
- float f2;
- float f3;
-
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xffffffffffffffffUL;
- l2 = 0xffffffffffff0000UL;
- l3 = 0xf000000000000000UL;
-
- f1 = (float)l1;
- f2 = (float)l2;
- f3 = (float)l3;
-
- if((f1 < 0) || (f2 < 0) || (f3 < 0))
- ret = 1;
- }
-
-done:
- exit(ret);
- }
- ], [hdf5_cv_ulong_to_float_accurate=yes], [hdf5_cv_ulong_to_float_accurate=no],)])
-
-if test ${hdf5_cv_ulong_to_float_accurate} = "yes"; then
- AC_DEFINE([ULONG_TO_FLOAT_ACCURATE], [1],
- [Define if your system accurately converting unsigned long to float values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'unsigned (long) long' values to 'float' and 'double' values.
-## (This flag should be set for all machines, except for the SGIs, where
-## the cache value is set in the config/irix6.x config file) and Solaris
-## 64-bit machines, where the short program below tests if round-up is
-## correctly handled.
-##
-AC_MSG_CHECKING([if accurately converting unsigned long long to floating-point values])
-
-if test ${host_os_novers} = "solaris2.x"; then
- AC_CACHE_VAL([hdf5_cv_ulong_to_fp_bottom_bit_accurate],
- [AC_TRY_RUN([
- int main(void)
- {
- unsigned long l1;
- unsigned long l2;
- unsigned long l3;
- unsigned long l4;
- unsigned long long ld1;
- unsigned long long ld2;
- unsigned long long ld3;
- unsigned long long ld4;
- double d1, d2, d3, d4;
- unsigned char s[8];
- int ret = 0;
-
- if(sizeof(unsigned long)==8) {
- l1 = 0xf000000000000b00UL; /*Round-down case*/
- l2 = 0xf000000000000401UL; /*Round-up case*/
- l3 = 0xf000000000000400UL; /*Round-down case*/
- l4 = 0xf000000000000c00UL; /*Round-up case*/
-
- d1 = (double)l1;
- d2 = (double)l2;
- d3 = (double)l3;
- d4 = (double)l4;
- } else if(sizeof(unsigned long long)==8) {
- ld1 = 0xf000000000000b00ULL; /*Round-down case*/
- ld2 = 0xf000000000000401ULL; /*Round-up case*/
- ld3 = 0xf000000000000400ULL; /*Round-down case*/
- ld4 = 0xf000000000000c00ULL; /*Round-up case*/
-
- d1 = (double)ld1;
- d2 = (double)ld2;
- d3 = (double)ld3;
- d4 = (double)ld4;
- } else {
- ret = 1;
- goto done;
- }
-
- memcpy(s, &d1, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d2, 8);
- if(s[7]!=1)
- ret = 1;
-
- memcpy(s, &d3, 8);
- if(s[7]!=0)
- ret = 1;
-
- memcpy(s, &d4, 8);
- if(s[7]!=2)
- ret = 1;
-
-done:
- exit(ret);
- }
- ], [hdf5_cv_ulong_to_fp_bottom_bit_accurate=yes], [hdf5_cv_ulong_to_fp_bottom_bit_accurate=no],)])
-else
- AC_CACHE_VAL([hdf5_cv_ulong_to_fp_bottom_bit_accurate], [hdf5_cv_ulong_to_fp_bottom_bit_accurate=yes])
-fi
-
-if test ${hdf5_cv_ulong_to_fp_bottom_bit_accurate} = "yes"; then
- AC_DEFINE([ULONG_TO_FP_BOTTOM_BIT_ACCURATE], [1],
- [Define if your system can accurately convert unsigned (long) long values to floating-point values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'float' or 'double' to 'unsigned long long' values.
-## (This flag should be set for all machines, except for PGI compiler
-## where round-up happens when the fraction of float-point value is greater
-## than 0.5.
-##
-AC_MSG_CHECKING([if accurately roundup converting floating-point to unsigned long long values])
-
-AC_CACHE_VAL([hdf5_cv_fp_to_ullong_accurate],
- [AC_TRY_RUN([
- int main(void)
- {
- float f = 111.60f;
- double d = 222.55L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d;
- int ret = 0;
-
- if(l1 == 112)
- ret = 1;
- if(l2 == 223)
- ret = 1;
-
-done:
- exit(ret);
- }
- ], [hdf5_cv_fp_to_ullong_accurate=yes], [hdf5_cv_fp_to_ullong_accurate=no],)])
-
-if test ${hdf5_cv_fp_to_ullong_accurate} = "yes"; then
- AC_DEFINE([FP_TO_ULLONG_ACCURATE], [1],
- [Define if your system roundup accurately converting floating-point to unsigned long long values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'float', 'double' or 'long double' to 'unsigned long long' values.
-## (This flag should be set for all machines, except for HP-UX machines
-## where the maximal number for unsigned long long is 0x7fffffffffffffff
-## during conversion.
-##
-AC_MSG_CHECKING([if right maximum converting floating-point to unsigned long long values])
-
-AC_CACHE_VAL([hdf5_cv_fp_to_ullong_right_maximum],
- [AC_TRY_RUN([
- int main(void)
- {
- float f = 9701917572145405952.00f;
- double d1 = 9701917572145405952.00L;
- long double d2 = 9701917572145405952.00L;
- double d3 = 2e40L;
- unsigned long long l1 = (unsigned long long)f;
- unsigned long long l2 = (unsigned long long)d1;
- unsigned long long l3 = (unsigned long long)d2;
- unsigned long long l4;
- unsigned long long l5 = 0x7fffffffffffffffULL;
- int ret = 0;
-
- if(l1 <= l5 || l2 <= l5 || l3 <= l5)
- ret = 1;
-
- l4 = (unsigned long long)d3;
- if(l4 <= l5)
- ret = 1;
-
-done:
- exit(ret);
- }
- ], [hdf5_cv_fp_to_ullong_right_maximum=yes], [hdf5_cv_fp_to_ullong_right_maximum=no],)])
-
-if test ${hdf5_cv_fp_to_ullong_right_maximum} = "yes"; then
- AC_DEFINE([FP_TO_ULLONG_RIGHT_MAXIMUM], [1],
- [Define if your system has right maximum convert floating-point to unsigned long long values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'long double' to 'unsigned int' values. (This flag should be set for
-## all machines, except for some Intel compilers on some Linux.)
-##
-AC_MSG_CHECKING([if correctly converting long double to unsigned int values])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_uint_accurate=${hdf5_cv_ldouble_to_uint_accurate=no}
-else
- AC_CACHE_VAL([hdf5_cv_ldouble_to_uint_accurate],
- [AC_TRY_RUN([
- int main(void)
- {
- long double ld = 2733248032.9183987530L;
- unsigned int i;
- int ret = 0;
-
- i = (unsigned int)ld;
- if(i!=2733248032 && i!=2733248031 && i!=2733248033)
- ret = 1;
-
- done:
- exit(ret);
- }
- ], [hdf5_cv_ldouble_to_uint_accurate=yes], [hdf5_cv_ldouble_to_uint_accurate=no],)])
-fi
-
-if test ${hdf5_cv_ldouble_to_uint_accurate} = "yes"; then
- AC_DEFINE([LDOUBLE_TO_UINT_ACCURATE], [1],
- [Define if your system can convert long double to unsigned int values correctly.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'unsigned long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-AC_MSG_CHECKING([if compiling unsigned long long to floating-point typecasts work])
-AC_CACHE_VAL([hdf5_cv_ullong_to_fp_cast_works], [hdf5_cv_ullong_to_fp_cast_works=yes])
-
-if test ${hdf5_cv_ullong_to_fp_cast_works} = "yes"; then
- AC_DEFINE([ULLONG_TO_FP_CAST_WORKS], [1],
- [Define if your system can compile unsigned long long to floating-point casts.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-AC_MSG_CHECKING([if compiling long long to floating-point typecasts work])
-AC_CACHE_VAL([hdf5_cv_llong_to_fp_cast_works], [hdf5_cv_llong_to_fp_cast_works=yes])
-
-if test ${hdf5_cv_llong_to_fp_cast_works} = "yes"; then
- AC_DEFINE([LLONG_TO_FP_CAST_WORKS], [1],
- [Define if your system can compile long long to floating-point casts.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can convert from
-## 'unsigned long long' to 'long double' without precision loss.
-## (This flag should be set for all machines, except for FreeBSD(sleipnir)
-## where the last 2 bytes of mantissa are lost when compiler tries to do
-## the conversion, and Cygwin where compiler doesn't do rounding correctly.)
-##
-AC_MSG_CHECKING([if converting unsigned long long to long double with precision])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ullong_to_ldouble_precision=${hdf5_cv_ullong_to_ldouble_precision=no}
-else
- AC_CACHE_VAL([hdf5_cv_ullong_to_ldouble_precision],
- [AC_TRY_RUN([
- #include <stdlib.h>
- #include <string.h>
-
- int main(void)
- {
- /* General variables */
- int endian;
- int tst_value = 1;
- int ret = 0;
-
- /* For FreeBSD */
- unsigned long long l = 0xa601e80bda85fcefULL;
- long double ld;
- unsigned char *c1, *c2;
- size_t size;
-
- /* For Cygwin */
- unsigned long long l_cyg = 0xfffffffffffffff0ULL;
- long double ld_cyg;
- unsigned char *c2_cyg;
- size_t size_cyg;
-
-
- /* Determine this system's endianess */
- c1 = (unsigned char*)calloc(1, sizeof(int));
- memcpy((void*)c1, &tst_value, sizeof(int));
- if(c1[0]==1)
- endian = 0; /* little endian */
- else
- endian = 1; /* big endian */
-
- /* For FreeBSD */
- size = sizeof(long double);
- memset(&ld, 0, size);
- ld = (long double)l;
-
- c2 = (unsigned char*)calloc(1, size);
- memcpy((void*)c2, &ld, size);
-
- /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel
- * architecture(sleipnir) where it happens. */
- /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/
- if(endian==0 && c2[0]==0) { /*little endian*/
- ret = 1;
- goto done;
- }
-
- /* For Cygwin */
- size_cyg = sizeof(long double);
- memset(&ld_cyg, 0, size);
- ld_cyg = (long double)l_cyg;
-
- c2_cyg = (unsigned char*)calloc(1, size_cyg);
- memcpy((void*)c2_cyg, &ld_cyg, size_cyg);
-
- /* Test if the last 4 bytes(roughly) of mantissa are rounded up. Mainly for Cygwin
- * where the values like 0xffffffffffffffff, 0xfffffffffffffffe, ...,
- * 0xfffffffffffff000 ... are rounded up as 0x0000403f8000000000000000
- * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ...,
- * 0x0000403efffffffffffff000 ...
- */
- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0)
- ret = 1;
-
- done:
- if(c1)
- free(c1);
- if(c2)
- free(c2);
- if(c2_cyg)
- free(c2_cyg);
- exit(ret);
- }
- ], [hdf5_cv_ullong_to_ldouble_precision=yes], [hdf5_cv_ullong_to_ldouble_precision=no],)])
-fi
-
-if test ${hdf5_cv_ullong_to_ldouble_precision} = "yes"; then
- AC_DEFINE([ULLONG_TO_LDOUBLE_PRECISION], [1],
- [Define if your system can convert unsigned long long to long double with correct precision.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle overflow converting
-## all floating-point to all integer types.
-## (This flag should be set for all machines, except for Cray X1 where
-## floating exception is generated when the floating-point value is greater
-## than the maximal integer value).
-##
-AC_MSG_CHECKING([if overflows normally converting floating-point to integer values])
-
-AC_CACHE_VAL([hdf5_cv_fp_to_integer_overflow_works],
- [AC_TRY_RUN([
- int main(void)
- {
- float f = 2147483648.0f;
- int i;
-
- i = (int)f;
-
-done:
- exit(0);
- }
- ], [hdf5_cv_fp_to_integer_overflow_works=yes], [hdf5_cv_fp_to_integer_overflow_works=no],)])
-
-if test ${hdf5_cv_fp_to_integer_overflow_works} = "yes"; then
- AC_DEFINE([FP_TO_INTEGER_OVERFLOW_WORKS], [1],
- [Define if your system can handle overflow converting floating-point to integer values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
## ----------------------------------------------------------------------
## Set the flag to indicate that the machine is using a special algorithm to convert
## 'long double' to '(unsigned) long' values. (This flag should only be set for
@@ -3110,61 +2267,60 @@ if test ${ac_cv_sizeof_long_double} = 0; then
hdf5_cv_ldouble_to_long_special=${hdf5_cv_ldouble_to_long_special=no}
else
AC_CACHE_VAL([hdf5_cv_ldouble_to_long_special],
- [AC_TRY_RUN([
- int main(void)
- {
- long double ld = 20041683600089727.779961L;
- long ll;
- unsigned long ull;
- unsigned char s[16];
- unsigned char s2[8];
- int ret = 1;
-
- if(sizeof(long double) == 16 && sizeof(long) == 8) {
- /*make sure the long double type has 16 bytes in size and
- * 11 bits of exponent. If it is,
- *the bit sequence should be like below. It's not
- *a decent way to check but this info isn't available. */
- memcpy(s, &ld, 16);
- if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
- s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
- s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
-
- /* Assign the hexadecimal value of long double type. */
- s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
- s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
- s[8]=0xbf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
- s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
-
- memcpy(&ld, s, 16);
-
- ll = (long)ld;
- memcpy(s2, &ll, 8);
-
- /* The library's algorithm converts it to 0x 00 47 33 ce 17 af 22 82
- * and gets wrong value 20041683600089730 on the IBM Power6 Linux.
- * But the IBM Power6 Linux converts it to 0x00 47 33 ce 17 af 22 7f
- * and gets the correct value 20041683600089727. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
- s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
- ret = 0;
-
- ull = (unsigned long)ld;
- memcpy(s2, &ull, 8);
-
- /* The unsigned long is the same as signed long. */
- if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
- s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
- ret = 0;
- }
- }
-
- done:
- exit(ret);
- }
- ], [hdf5_cv_ldouble_to_long_special=yes], [hdf5_cv_ldouble_to_long_special=no],)])
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([
+ #include <string.h>
+ ],[[
+ long double ld = 20041683600089727.779961L;
+ long ll;
+ unsigned long ull;
+ unsigned char s[16];
+ unsigned char s2[8];
+ int ret = 1;
+
+ if(sizeof(long double) == 16 && sizeof(long) == 8) {
+ /*make sure the long double type has 16 bytes in size and
+ * 11 bits of exponent. If it is,
+ *the bit sequence should be like below. It's not
+ *a decent way to check but this info isn't available. */
+ memcpy(s, &ld, 16);
+ if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
+ s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
+ s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
+
+ /* Assign the hexadecimal value of long double type. */
+ s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
+ s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
+ s[8]=0xbf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
+ s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
+
+ memcpy(&ld, s, 16);
+
+ ll = (long)ld;
+ memcpy(s2, &ll, 8);
+
+ /* The library's algorithm converts it to 0x 00 47 33 ce 17 af 22 82
+ * and gets wrong value 20041683600089730 on the IBM Power6 Linux.
+ * But the IBM Power6 Linux converts it to 0x00 47 33 ce 17 af 22 7f
+ * and gets the correct value 20041683600089727. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
+ s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
+ ret = 0;
+
+ ull = (unsigned long)ld;
+ memcpy(s2, &ull, 8);
+
+ /* The unsigned long is the same as signed long. */
+ if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce &&
+ s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f)
+ ret = 0;
+ }
+ }
+ exit(ret);
+ ]])]
+ , [hdf5_cv_ldouble_to_long_special=yes], [hdf5_cv_ldouble_to_long_special=no],)])
fi
if test ${hdf5_cv_ldouble_to_long_special} = "yes"; then
@@ -3189,63 +2345,63 @@ if test ${ac_cv_sizeof_long_double} = 0; then
hdf5_cv_long_to_ldouble_special=${hdf5_cv_long_to_ldouble_special=no}
else
AC_CACHE_VAL([hdf5_cv_long_to_ldouble_special],
- [AC_TRY_RUN([
- int main(void)
- {
- long double ld;
- long ll;
- unsigned long ull;
- unsigned char s[16];
- int flag=0, ret=1;
-
- /*Determine if long double has 16 byte in size, 11 bit exponent, and
- *the bias is 0x3ff */
- if(sizeof(long double) == 16) {
- ld = 1.0L;
- memcpy(s, &ld, 16);
- if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
- flag = 1;
- }
-
- if(flag==1 && sizeof(long)==8) {
- ll = 0x003fffffffffffffL;
- ld = (long double)ll;
- memcpy(s, &ld, 16);
- /* The library converts the value to 0x434fffffffffffff8000000000000000.
- * In decimal it is 18014398509481982.000000, one value short of the original.
- * The IBM Power6 Linux converts it to 0x4350000000000000bff0000000000000.
- * The value is correct in decimal. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s[0]==0x43 && s[1]==0x50 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
- s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
- s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
- ret = 0;
- }
- if(flag==1 && sizeof(unsigned long)==8) {
- ull = 0xffffffffffffffffUL;
- ld = (long double)ull;
- memcpy(s, &ld, 16);
- /* Use a different value from signed long to test. The problem is the same
- * for both long and unsigned long. The value is 18446744073709551615.
- * The library converts the value to 0x43effffffffffffffe000000000000000.
- * In decimal it's 18446744073709548544.000000, very different from the original.
- * The IBM Power6 Linux converts it to 0x43f0000000000000bff0000000000000.
- * The value is correct in decimal. It uses some special
- * algorithm. We're going to define the macro and skip the test until
- * we can figure out how they do it. */
- if(s[0]==0x43 && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
- s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
- s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
- ret = 0;
- }
- done:
- exit(ret);
- }
- ], [hdf5_cv_long_to_ldouble_special=yes], [hdf5_cv_long_to_ldouble_special=no],)])
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([
+ #include <string.h>
+ ],[[
+ long double ld;
+ long ll;
+ unsigned long ull;
+ unsigned char s[16];
+ int flag=0, ret=1;
+
+ /*Determine if long double has 16 byte in size, 11 bit exponent, and
+ *the bias is 0x3ff */
+ if(sizeof(long double) == 16) {
+ ld = 1.0L;
+ memcpy(s, &ld, 16);
+ if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
+ flag = 1;
+ }
+
+ if(flag==1 && sizeof(long)==8) {
+ ll = 0x003fffffffffffffL;
+ ld = (long double)ll;
+ memcpy(s, &ld, 16);
+ /* The library converts the value to 0x434fffffffffffff8000000000000000.
+ * In decimal it is 18014398509481982.000000, one value short of the original.
+ * The IBM Power6 Linux converts it to 0x4350000000000000bff0000000000000.
+ * The value is correct in decimal. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s[0]==0x43 && s[1]==0x50 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
+ s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
+ s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
+ ret = 0;
+ }
+ if(flag==1 && sizeof(unsigned long)==8) {
+ ull = 0xffffffffffffffffUL;
+ ld = (long double)ull;
+ memcpy(s, &ld, 16);
+ /* Use a different value from signed long to test. The problem is the same
+ * for both long and unsigned long. The value is 18446744073709551615.
+ * The library converts the value to 0x43effffffffffffffe000000000000000.
+ * In decimal it's 18446744073709548544.000000, very different from the original.
+ * The IBM Power6 Linux converts it to 0x43f0000000000000bff0000000000000.
+ * The value is correct in decimal. It uses some special
+ * algorithm. We're going to define the macro and skip the test until
+ * we can figure out how they do it. */
+ if(s[0]==0x43 && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
+ s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 &&
+ s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 &&
+ s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00)
+ ret = 0;
+ }
+ exit(ret);
+ ]])]
+ , [hdf5_cv_long_to_ldouble_special=yes], [hdf5_cv_long_to_ldouble_special=no],)])
fi
if test ${hdf5_cv_long_to_ldouble_special} = "yes"; then
@@ -3257,154 +2413,8 @@ else
fi
## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## 'long double' to '(unsigned) long long' values. (This flag should be set for
-## all machines, except for Mac OS 10.4 and SGI IRIX64 6.5. When the bit sequence
-## of long double is 0x4351ccf385ebc8a0bfcc2a3c..., the values of (unsigned)long long
-## start to go wrong on these two machines. Adjusting it higher to
-## 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted
-## values wildly wrong. This test detects this wrong behavior and disable the test.
-##
-AC_MSG_CHECKING([if correctly converting long double to (unsigned) long long values])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_llong_accurate=${hdf5_cv_ldouble_to_llong_accurate=no}
-else
- AC_CACHE_VAL([hdf5_cv_ldouble_to_llong_accurate],
- [AC_TRY_RUN([
- int main(void)
- {
- long double ld = 20041683600089727.779961L;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int ret = 0;
-
- if(sizeof(long double) == 16) {
- /*make sure the long double type is the same as the failing type
- *which has 16 bytes in size and 11 bits of exponent. If it is,
- *the bit sequence should be like below. It's not
- *a decent way to check but this info isn't available. */
- memcpy(s, &ld, 16);
- if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 &&
- s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 &&
- s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) {
-
- /*slightly adjust the bit sequence (s[8]=0xdf). The converted
- *values will go wild on Mac OS 10.4 and IRIX64 6.5.*/
- s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3;
- s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0;
- s[8]=0xdf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c;
- s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20;
-
- memcpy(&ld, s, 16);
- ll = (long long)ld;
- ull = (unsigned long long)ld;
-
- if(ll != 20041683600089728 || ull != 20041683600089728)
- ret = 1;
- }
- }
- done:
- exit(ret);
- }
- ], [hdf5_cv_ldouble_to_llong_accurate=yes], [hdf5_cv_ldouble_to_llong_accurate=no],)])
-fi
-
-if test ${hdf5_cv_ldouble_to_llong_accurate} = "yes"; then
- AC_DEFINE([LDOUBLE_TO_LLONG_ACCURATE], [1],
- [Define if your system can convert long double to (unsigned) long long values correctly.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can accurately convert
-## '(unsigned) long long' to 'long double' values. (This flag should be set for
-## all machines, except for Mac OS 10.4, when the bit sequences are 003fff...,
-## 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice
-## as big as they should be.
-##
-AC_MSG_CHECKING([if correctly converting (unsigned) long long to long double values])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_llong_to_ldouble_correct=${hdf5_cv_llong_to_ldouble_correct=no}
-else
- AC_CACHE_VAL([hdf5_cv_llong_to_ldouble_correct],
- [AC_TRY_RUN([
- int main(void)
- {
- long double ld;
- long long ll;
- unsigned long long ull;
- unsigned char s[16];
- int flag=0, ret=0;
-
- /*Determine if long double has 16 byte in size, 11 bit exponent, and
- *the bias is 0x3ff */
- if(sizeof(long double) == 16) {
- ld = 1.0L;
- memcpy(s, &ld, 16);
- if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 &&
- s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00)
- flag = 1;
- }
-
- if(flag==1 && sizeof(long long)==8) {
- ll = 0x01ffffffffffffffLL;
- ld = (long double)ll;
- memcpy(s, &ld, 16);
- /*Check if the bit sequence is as supposed to be*/
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
- if(flag==1 && sizeof(unsigned long long)==8) {
- ull = 0x01ffffffffffffffULL;
- ld = (long double)ull;
- memcpy(s, &ld, 16);
- if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff ||
- s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff ||
- s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00)
- ret = 1;
- }
- done:
- exit(ret);
- }
- ], [hdf5_cv_llong_to_ldouble_correct=yes], [hdf5_cv_llong_to_ldouble_correct=no],)])
-fi
-
-if test ${hdf5_cv_llong_to_ldouble_correct} = "yes"; then
- AC_DEFINE([LLONG_TO_LDOUBLE_CORRECT], [1],
- [Define if your system can convert (unsigned) long long to long double values correctly.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine generates bad code
-## for the H5VM_log2_gen() routine in src/H5VMprivate.h
-## (This flag should be set to no for all machines, except for SGI IRIX64,
-## where the cache value is set to yes in it's config file)
-##
-AC_MSG_CHECKING([if bad code for log2 routine is generated])
-AC_CACHE_VAL([hdf5_cv_bad_log2_code_generated], [hdf5_cv_bad_log2_code_generated=no])
-
-if test ${hdf5_cv_bad_log2_code_generated} = "yes"; then
- AC_DEFINE([BAD_LOG2_CODE_GENERATED], [1],
- [Define if your system generates wrong code for log2 routine.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
## Set some variables for general configuration information to be saved
-## and installed with the libraries.
+## and installed with the libraries (used to generate libhdf5.settings).
##
## HDF5 version from the first line of the README.txt file.
@@ -3515,53 +2525,6 @@ fi
AC_SUBST([ROOT]) ROOT="`$pwd`"
## ----------------------------------------------------------------------
-## Move any compiler-specific libraries into the main LIBS varaible.
-##
-LIBS="$DEFAULT_LIBS $LIBS"
-
-## ----------------------------------------------------------------------
-## Determine the runtime libraries we may need to include in the
-## libtools command so that executables will find the correct dynamic
-## libraries.
-##
-AC_SUBST([DYNAMIC_DIRS]) DYNAMIC_DIRS=""
-
-if test -n "$AM_LDFLAGS $LDFLAGS"; then
- for d in $AM_LDFLAGS $LDFLAGS ; do
- case "$d" in
- -L*)
- d="`echo $d | sed -e 's/-L//g'`"
- case "$d" in
- .*)
- ## If the path isn't absolute, make it so by
- ## prepending the ROOT directory to it.
- d=${ROOT}/$d
- ;;
- esac
- DYNAMIC_DIRS="-R${d} $DYNAMIC_DIRS"
- ;;
- esac
- done
-fi
-
-if test -n "$AM_CPPFLAGS"; then
- TEMP_CPPFLAGS=""
- for d in $AM_CPPFLAGS ; do
- case "$d" in
- -I.*)
- ## If the path isn't absolute, make it so by prepending
- ## the ROOT directory to it.
- d="`echo $d | sed -e 's/-I//g'`"
- d="-I${ROOT}/${d}"
- ;;
- esac
- TEMP_CPPFLAGS="$d $TEMP_CPPFLAGS"
- done
- AM_CPPFLAGS=$TEMP_CPPFLAGS
-fi
-
-
-## ----------------------------------------------------------------------
## Some programs shouldn't be built by default (e.g., programs to generate
## data files used by tests, some optional tests).
## Check if they want such programs built anyway.
@@ -3767,18 +2730,8 @@ AM_CONDITIONAL([BUILD_HDF5_HL_CONDITIONAL], [test "X$HDF5_HL" = "Xyes"])
## The directory search list
AC_SUBST([SEARCH]) SEARCH='$(srcdir) $(top_builddir)/src $(top_srcdir)/src'
-cmd='echo $SEARCH |sed "s/ /'$SEARCH_SEP'/g"'
-SEARCH="$SEARCH_RULE`eval $cmd`"
export SEARCH
-## We don't need to say when we're entering directories if we're using
-## GNU make because make does it for us.
-if test "X$GMAKE" = "Xyes"; then
- AC_SUBST([SETX]) SETX=":"
-else
- AC_SUBST([SETX]) SETX="set -x"
-fi
-
## Some cleanup stuff
rm -f conftest conftest.o conftest.c dummy.o *.mod
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index da8174b..1f33f04 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -39,7 +39,7 @@ set (examples
foreach (example ${examples})
add_executable (${example} ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
TARGET_NAMING (${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${example} " " " ")
+ TARGET_C_PROPERTIES (${example} ${LIB_TYPE} " " " ")
target_link_libraries (${example} ${HDF5_LIB_TARGET})
set_target_properties (${example} PROPERTIES FOLDER examples)
endforeach (example ${examples})
@@ -47,7 +47,7 @@ endforeach (example ${examples})
if (H5_HAVE_PARALLEL)
add_executable (ph5example ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
TARGET_NAMING (ph5example ${LIB_TYPE})
- TARGET_C_PROPERTIES (ph5example " " " ")
+ TARGET_C_PROPERTIES (ph5example ${LIB_TYPE} " " " ")
target_link_libraries (ph5example ${HDF5_LIB_TARGET})
set_target_properties (ph5example PROPERTIES FOLDER examples)
endif (H5_HAVE_PARALLEL)
diff --git a/examples/Makefile.in b/examples/Makefile.in
index d0b3423..5d76be3 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -353,7 +353,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -385,7 +384,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -409,11 +407,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -476,7 +472,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/examples/run-c-ex.sh.in b/examples/run-c-ex.sh.in
index 9b2a2bb..6b5d0f7 100644
--- a/examples/run-c-ex.sh.in
+++ b/examples/run-c-ex.sh.in
@@ -33,7 +33,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../}"
+prefix="${prefix:-@prefix@}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 9812745..55ede05 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -409,7 +409,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -441,7 +440,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -465,11 +463,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -532,7 +528,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/fortran/examples/CMakeLists.txt b/fortran/examples/CMakeLists.txt
index 1f59f32..2bf0bf6 100644
--- a/fortran/examples/CMakeLists.txt
+++ b/fortran/examples/CMakeLists.txt
@@ -8,7 +8,7 @@ PROJECT (HDF5_F90_EXAMPLES C CXX Fortran)
#-----------------------------------------------------------------------------
# Setup include Directories
#-----------------------------------------------------------------------------
-INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
#-----------------------------------------------------------------------------
# Define Sources
@@ -41,57 +41,52 @@ set (F2003_examples
foreach (example ${examples})
add_executable (f90_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
TARGET_NAMING (f90_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f90_ex_${example} " " " ")
- if (WIN32)
- set_property (TARGET f90_ex_${example}
- APPEND PROPERTY COMPILE_DEFINITIONS
- HDF5F90_WINDOWS
- )
- endif (WIN32)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (f90_ex_${example}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
)
- set_target_properties (f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
- set_target_properties (f90_ex_${example} PROPERTIES FOLDER examples/fortran)
+ target_include_directories (f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ set_target_properties (f90_ex_${example} PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ )
endforeach (example ${examples})
if (HDF5_ENABLE_F2003)
foreach (example ${F2003_examples})
add_executable (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
TARGET_NAMING (f03_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f03_ex_${example} " " " ")
- if (WIN32)
- set_property (TARGET f03_ex_${example}
- APPEND PROPERTY COMPILE_DEFINITIONS HDF5F90_WINDOWS
- )
- endif (WIN32)
+ TARGET_FORTRAN_PROPERTIES (f03_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (f03_ex_${example}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
)
- set_target_properties (f03_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
- set_target_properties (f03_ex_${example} PROPERTIES FOLDER examples/fortran03)
+ target_include_directories (f03_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ set_target_properties (f03_ex_${example} PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran03
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ )
endforeach (example ${F2003_examples})
endif (HDF5_ENABLE_F2003)
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
add_executable (f90_ex_ph5example ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
TARGET_NAMING (f90_ex_ph5example ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example " " " ")
- if (WIN32)
- set_property (TARGET f90_ex_ph5example
- APPEND PROPERTY COMPILE_DEFINITIONS
- HDF5F90_WINDOWS
- )
- endif (WIN32)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example ${LIB_TYPE} " " " ")
target_link_libraries (f90_ex_ph5example
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
${MPI_Fortran_LIBRARIES}
)
- set_target_properties (f90_ex_ph5example PROPERTIES LINKER_LANGUAGE Fortran)
- set_target_properties (f90_ex_ph5example PROPERTIES FOLDER examples/fortran)
+ target_include_directories (f90_ex_ph5example PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ set_target_properties (f90_ex_ph5example PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ )
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
if (BUILD_TESTING)
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index fb56b0d..dd2fb46 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -361,7 +361,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -393,7 +392,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -417,11 +415,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -484,7 +480,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/fortran/examples/run-fortran-ex.sh.in b/fortran/examples/run-fortran-ex.sh.in
index ead7361..a4d4550 100644
--- a/fortran/examples/run-fortran-ex.sh.in
+++ b/fortran/examples/run-fortran-ex.sh.in
@@ -34,7 +34,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../}"
+prefix="${prefix:-@prefix@}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"
diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt
index 22a091e..c015072 100644
--- a/fortran/src/CMakeLists.txt
+++ b/fortran/src/CMakeLists.txt
@@ -54,7 +54,10 @@ if (WIN32 AND MSVC)
LINK_FLAGS "/SUBSYSTEM:CONSOLE"
)
endif (WIN32 AND MSVC)
-set_target_properties (H5test_FortranHavekind PROPERTIES LINKER_LANGUAGE Fortran)
+set_target_properties (H5test_FortranHavekind PROPERTIES
+ LINKER_LANGUAGE Fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
set (CMD $<TARGET_FILE:H5test_FortranHavekind>)
add_custom_command (
@@ -142,7 +145,7 @@ set (f90CStub_C_HDRS
)
add_library (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
-TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} ${LIB_TYPE})
@@ -247,8 +250,7 @@ if (WIN32)
HDF5F90_WINDOWS
)
endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} " " ${SHARED_LINK_FLAGS})
-set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES LINKER_LANGUAGE Fortran)
+TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
target_link_libraries (${HDF5_F90_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET})
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
target_link_libraries (${HDF5_F90_LIB_TARGET} ${MPI_Fortran_LIBRARIES})
@@ -259,6 +261,7 @@ set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES
FOLDER libraries/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
#-----------------------------------------------------------------------------
@@ -278,100 +281,50 @@ install (
)
if (WIN32)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5fortran_types.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/hdf5.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5global.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5a.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5d.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5e.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5f.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5g.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5i.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5l.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5lib.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5o.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5p.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5r.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5s.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5t.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5z.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5a_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5d_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5e_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5f_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5l_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5lib_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5o_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5p_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5r_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5t_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5_dble_interface.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
- if (H5_TEST_KIND_NAME)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/${H5_TEST_KIND_NAME}.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
- endif (H5_TEST_KIND_NAME)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
else (WIN32)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5fortran_types.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/hdf5.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5global.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5f.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5a.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5d.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5e.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5f.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5g.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5i.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5l.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5lib.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5o.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5p.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5r.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5s.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5t.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5z.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5a_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5d_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5e_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5f_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5l_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5lib_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5o_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5p_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5r_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5t_provisional.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5_dble_interface.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
- if (H5_TEST_KIND_NAME)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/${H5_TEST_KIND_NAME}.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
- endif (H5_TEST_KIND_NAME)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
endif (WIN32)
+set (mod_files
+ ${MOD_BUILD_DIR}/h5fortran_types.mod
+ ${MOD_BUILD_DIR}/hdf5.mod
+ ${MOD_BUILD_DIR}/h5global.mod
+ ${MOD_BUILD_DIR}/h5a.mod
+ ${MOD_BUILD_DIR}/h5d.mod
+ ${MOD_BUILD_DIR}/h5e.mod
+ ${MOD_BUILD_DIR}/h5f.mod
+ ${MOD_BUILD_DIR}/h5g.mod
+ ${MOD_BUILD_DIR}/h5i.mod
+ ${MOD_BUILD_DIR}/h5l.mod
+ ${MOD_BUILD_DIR}/h5lib.mod
+ ${MOD_BUILD_DIR}/h5o.mod
+ ${MOD_BUILD_DIR}/h5p.mod
+ ${MOD_BUILD_DIR}/h5r.mod
+ ${MOD_BUILD_DIR}/h5s.mod
+ ${MOD_BUILD_DIR}/h5t.mod
+ ${MOD_BUILD_DIR}/h5z.mod
+ ${MOD_BUILD_DIR}/h5a_provisional.mod
+ ${MOD_BUILD_DIR}/h5d_provisional.mod
+ ${MOD_BUILD_DIR}/h5e_provisional.mod
+ ${MOD_BUILD_DIR}/h5f_provisional.mod
+ ${MOD_BUILD_DIR}/h5l_provisional.mod
+ ${MOD_BUILD_DIR}/h5lib_provisional.mod
+ ${MOD_BUILD_DIR}/h5o_provisional.mod
+ ${MOD_BUILD_DIR}/h5p_provisional.mod
+ ${MOD_BUILD_DIR}/h5r_provisional.mod
+ ${MOD_BUILD_DIR}/h5t_provisional.mod
+ ${MOD_BUILD_DIR}/h5_dble_interface.mod
+)
+install (
+ FILES
+ ${mod_files}
+ DESTINATION
+ ${HDF5_INSTALL_INCLUDE_DIR}
+ COMPONENT
+ fortheaders
+)
+
#-----------------------------------------------------------------------------
# Add Target(s) to CMake Install for import into other projects
#-----------------------------------------------------------------------------
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index a108384..f4082a9 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -632,7 +632,7 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
* Allocate temporary buffer and copy references from Fortran.
*/
n = (unsigned int)*dims;
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n));
+ buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*n);
if ( buf_c != NULL ) {
for (i = 0; i < n; i++)
HDmemcpy(&buf_c[i], &buf[i], sizeof(haddr_t));
@@ -699,7 +699,7 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
/*
* Allocate temporary buffer and copy references from Fortran.
*/
- buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*(n));
+ buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*n);
if ( buf_c != NULL ) {
for (i = 0; i < n; i++) {
HDmemcpy(&buf_c[i], buf, H5R_DSET_REG_REF_BUF_SIZE);
@@ -1722,7 +1722,7 @@ nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_s
max_len = (size_t)dims[0];
num_elem = H5Sget_select_npoints(c_mem_space_id);
- if(num_elem != dims[1]) return ret_value;
+ if(num_elem != (hssize_t)dims[1]) return ret_value;
c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
@@ -2037,7 +2037,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac
max_len = (size_t)dims[0];
num_elem = H5Sget_select_npoints(c_mem_space_id);
- if(num_elem != dims[1]) return ret_value;
+ if(num_elem != (hssize_t)dims[1]) return ret_value;
c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
diff --git a/fortran/src/H5Ff.c b/fortran/src/H5Ff.c
index 7455fca..1696672 100644
--- a/fortran/src/H5Ff.c
+++ b/fortran/src/H5Ff.c
@@ -632,7 +632,7 @@ nh5fget_name_c(hid_t_f *obj_id, size_t_f *size, _fcd buf, size_t_f *buflen)
/*
* Call H5Fget_name function
*/
- if ((size_c = (size_t_f)H5Fget_name((hid_t)*obj_id, c_buf, (size_t)*buflen)) < 0)
+ if ((size_c = H5Fget_name((hid_t)*obj_id, c_buf, (size_t)*buflen)) < 0)
HGOTO_DONE(FAIL);
/*
@@ -703,13 +703,16 @@ h5fget_file_image_c(hid_t_f *file_id, void *buf_ptr, size_t_f *buf_len, size_t_f
/******/
{
herr_t ret_value=0; /* Return value */
-
+ ssize_t c_buf_req;
/*
* Call h5fget_file_image function
*/
- if ((*buf_req = (size_t_f)H5Fget_file_image((hid_t)*file_id, buf_ptr, (size_t)*buf_len)) < 0)
+
+ if ( (c_buf_req = H5Fget_file_image((hid_t)*file_id, buf_ptr, (size_t)*buf_len)) < 0)
HGOTO_DONE(FAIL);
+ *buf_req = (size_t_f)c_buf_req;
+
done:
return ret_value;
}
diff --git a/fortran/src/H5Gf.c b/fortran/src/H5Gf.c
index ad3ea49..7f755b3 100644
--- a/fortran/src/H5Gf.c
+++ b/fortran/src/H5Gf.c
@@ -67,7 +67,7 @@ nh5gcreate_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint,
/*
* Call H5Gcreate function.
*/
- if(*size_hint == OBJECT_NAMELEN_DEFAULT_F ){
+ if(*size_hint == (size_t_f)OBJECT_NAMELEN_DEFAULT_F ){
c_grp_id = H5Gcreate2((hid_t)*loc_id, c_name,(hid_t)*lcpl_id,(hid_t)*gcpl_id,(hid_t)*gapl_id);}
else {
/* Create the group creation property list */
diff --git a/fortran/src/H5Lf.c b/fortran/src/H5Lf.c
index 7efa10a..6523ab4 100644
--- a/fortran/src/H5Lf.c
+++ b/fortran/src/H5Lf.c
@@ -677,9 +677,9 @@ done:
/****if* H5Lf/h5lget_name_by_idx_c
* NAME
- * h5lget_name_by_idx_c
+ * h5lget_name_by_idx_c
* PURPOSE
- * Call H5Lget_name_by_idx
+ * Call H5Lget_name_by_idx
* INPUTS
*
* loc_id - File or group identifier specifying location of subject group
@@ -694,10 +694,10 @@ done:
* name - Buffer in which link value is returned
* size - The size of the link name on success
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 10, 2008
+ * March 10, 2008
* SOURCE
*/
int_f
@@ -706,9 +706,10 @@ nh5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
size_t_f *size, _fcd name, hid_t_f *lapl_id)
/******/
{
- char *c_group_name = NULL; /* Buffer to hold C string */
+ char *c_group_name = NULL; /* Buffer to hold C string */
char *c_name = NULL; /* Buffer to hold C string */
size_t c_size;
+ ssize_t c_size_link;
int_f ret_value = 0; /* Return value */
/*
@@ -725,10 +726,12 @@ nh5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
if(NULL == (c_name = (char *)HDmalloc(c_size)))
HGOTO_DONE(FAIL)
- if((*size = (size_t_f)H5Lget_name_by_idx((hid_t)*loc_id, c_group_name, (H5_index_t)*index_field,
+ if((c_size_link = H5Lget_name_by_idx((hid_t)*loc_id, c_group_name, (H5_index_t)*index_field,
(H5_iter_order_t)*order, (hsize_t)*n,c_name, c_size, (hid_t)*lapl_id)) < 0)
HGOTO_DONE(FAIL)
+ *size = (size_t_f)c_size_link;
+
/*
* Convert C name to FORTRAN and place it in the given buffer
*/
diff --git a/fortran/src/H5Of.c b/fortran/src/H5Of.c
index ad8b7ed..ae344a5 100644
--- a/fortran/src/H5Of.c
+++ b/fortran/src/H5Of.c
@@ -23,6 +23,8 @@
#include "H5f90.h"
#include "H5Eprivate.h"
+int_f
+fill_h5o_info_t_f(H5O_info_t Oinfo, H5O_info_t_f *object_info);
int_f
fill_h5o_info_t_f(H5O_info_t Oinfo, H5O_info_t_f *object_info) {
@@ -874,6 +876,7 @@ nh5oget_comment_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *name_size,
char *c_comment = NULL; /* Buffer to hold C string */
char *c_name = NULL; /* Buffer to hold C string */
int_f ret_value = 0; /* Return value */
+ ssize_t c_bufsize;
size_t c_commentsize;
/*
@@ -895,9 +898,11 @@ nh5oget_comment_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *name_size,
* Call H5Oget_comment_by_name function.
*/
- if((*bufsize = (size_t_f)H5Oget_comment_by_name((hid_t)*loc_id, c_name, c_comment, (size_t)*commentsize,(hid_t)*lapl_id )) < 0)
+ if((c_bufsize = H5Oget_comment_by_name((hid_t)*loc_id, c_name, c_comment, (size_t)*commentsize,(hid_t)*lapl_id )) < 0)
HGOTO_DONE(FAIL);
+ *bufsize = (size_t_f)c_bufsize;
+
/*
* Convert C name to FORTRAN and place it in the given buffer
*/
diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c
index fa4dc5b..e9082d6 100644
--- a/fortran/src/H5Pf.c
+++ b/fortran/src/H5Pf.c
@@ -160,41 +160,32 @@ done:
/****if* H5Pf/h5pget_class_c
* NAME
- * h5pget_class_c
+ * h5pget_class_c
* PURPOSE
- * Call H5Pget_class to determine property list class
+ * Call H5Pget_class to determine property list class
* INPUTS
- * prp_id - identifier of the dataspace
+ * prp_id - identifier of the dataspace
* OUTPUTS
- * classtype - class type; possible values are:
- * H5P_ROOT_F -1
- * H5P_FILE_CREATE_F 0
- * H5P_FILE_ACCESS_F 1
- * H5P_DATASET_CREATE_F 2
- * H5P_DATASET_XFER_F 3
- * H5P_FILE_MOUNT_F 4
+ * classtype - class type
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* SOURCE
*/
int_f
-nh5pget_class_c ( hid_t_f *prp_id , int_f *classtype)
+nh5pget_class_c ( hid_t_f *prp_id , hid_t_f *classtype)
/******/
{
hid_t c_classtype;
int_f ret_value = 0;
- c_classtype = H5Pget_class((hid_t)*prp_id);
- if(c_classtype == H5P_ROOT) {
- *classtype = H5P_ROOT;
+ if( (c_classtype = H5Pget_class((hid_t)*prp_id)) < 0)
HGOTO_DONE(FAIL)
- }
- *classtype = (int_f)c_classtype;
+ *classtype = (hid_t_f)c_classtype;
done:
return ret_value;
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90
index 0d85252..3409f15 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.f90
@@ -237,18 +237,10 @@ CONTAINS
! Returns the property list class for a property list.
!
! INPUTS
-!
! prp_id - property list identifier
+!
! OUTPUTS
-!
! classtype - property list class
-! Possible values are:
-! H5P_ROOT_F
-! H5P_FILE_CREATE_F
-! H5P_FILE_ACCESS_F
-! H5P_DATASET_CREATE_F
-! H5P_DATASET_XFER_F
-! H5P_FILE_MOUNT_F
! hdferr: - error code
! Success: 0
! Failure: -1
@@ -265,30 +257,21 @@ CONTAINS
! Fortran90 Interface:
SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(OUT) :: classtype ! The type of the property list
- ! to be created. Possible values are:
- ! H5P_ROOT_F
- ! H5P_FILE_CREATE_F
- ! H5P_FILE_ACCESS_F
- ! H5P_DATASET_CREATE_F
- ! H5P_DATASET_XFER_F
- ! H5P_FILE_MOUNT_F
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(OUT) :: classtype ! The type of the property list
+ ! to be created.
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_class_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
INTEGER FUNCTION h5pget_class_c(prp_id, classtype)
USE H5GLOBAL
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CLASS_C'::h5pget_class_c
!DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER, INTENT(OUT) :: classtype
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER(HID_T), INTENT(OUT) :: classtype
END FUNCTION h5pget_class_c
END INTERFACE
@@ -1449,7 +1432,7 @@ CONTAINS
!****s* H5P/h5pget_fapl_core_f
! NAME
-! h5pget_fapl_core_f
+! h5pget_fapl_core_f
!
! PURPOSE
! Queries core file driver properties.
@@ -1487,9 +1470,6 @@ CONTAINS
!*****
INTEGER :: backing_store_flag
-! INTEGER, EXTERNAL :: h5pget_fapl_core_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
INTEGER FUNCTION h5pget_fapl_core_c(prp_id, increment, backing_store_flag)
USE H5GLOBAL
@@ -3644,7 +3624,7 @@ CONTAINS
! size - Actual length of the class name
! NOTE: If provided buffer "name" is smaller,
! than name will be truncated to fit into
-! provided user buffer
+! provided user buffer.
! hdferr: - error code
! Success: 0
! Failure: -1
@@ -4222,50 +4202,46 @@ CONTAINS
! Fortran90 Interface:
SUBROUTINE h5pset_fapl_multi_l(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map ! Mapping array
- INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_fapl ! Property list for each memory usage type
- CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_name ! Names of member file
- REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_addr
- LOGICAL, INTENT(IN) :: relax ! Flag
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER, DIMENSION(*), INTENT(IN) :: memb_map
+ INTEGER(HID_T), DIMENSION(*), INTENT(IN) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: memb_name
+ REAL, DIMENSION(*), INTENT(IN) :: memb_addr
+ LOGICAL, INTENT(IN) :: relax
+ INTEGER, INTENT(OUT) :: hdferr
!*****
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
+ INTEGER, DIMENSION(1:H5FD_MEM_NTYPES_F) :: lenm
INTEGER :: maxlen
- INTEGER :: flag
+ INTEGER :: flag = 0
INTEGER :: i
-! INTEGER, EXTERNAL :: h5pset_fapl_multi_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
INTEGER FUNCTION h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
maxlen, memb_addr, flag)
USE H5GLOBAL
+ IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_C'::h5pset_fapl_multi_c
!DEC$ENDIF
!DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map
- INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_name
- REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_addr
- !INTEGER(HADDR_T), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(IN) :: memb_addr
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
+ INTEGER, DIMENSION(*), INTENT(IN) :: memb_map
+ INTEGER(HID_T), DIMENSION(*), INTENT(IN) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: memb_name
+ REAL, DIMENSION(*), INTENT(IN) :: memb_addr
+ INTEGER, DIMENSION(*) :: lenm
INTEGER :: maxlen
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_fapl_multi_c
END INTERFACE
+
maxlen = LEN(memb_name(1))
- DO i=0, H5FD_MEM_NTYPES_F-1
+ DO i=1, H5FD_MEM_NTYPES_F
lenm(i) = LEN_TRIM(memb_name(i))
ENDDO
- flag = 0
- IF (relax) flag = 1
- hdferr = h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag)
-
+ IF(relax) flag = 1
+ hdferr = h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag)
+
END SUBROUTINE h5pset_fapl_multi_l
!****s* H5P/h5pset_fapl_multi_s
! NAME
@@ -4303,6 +4279,7 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5pset_fapl_multi_sc(prp_id,flag)
USE H5GLOBAL
+ IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_SC'::h5pset_fapl_multi_sc
!DEC$ENDIF
@@ -4346,51 +4323,50 @@ CONTAINS
SUBROUTINE h5pget_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr, maxlen_out)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_map
- INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_name
- !INTEGER(HADDR_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_addr
- REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_addr
+ INTEGER, DIMENSION(*), INTENT(OUT) :: memb_map
+ INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: memb_name
+ REAL, DIMENSION(*), INTENT(OUT) :: memb_addr
INTEGER, OPTIONAL, INTENT(OUT) :: maxlen_out
LOGICAL, INTENT(OUT) :: relax
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
+ INTEGER, DIMENSION(1:H5FD_MEM_NTYPES_F) :: lenm
INTEGER :: maxlen
INTEGER :: c_maxlen_out
INTEGER :: flag
INTEGER :: i
-
-! INTEGER, EXTERNAL :: h5pget_fapl_multi_c
-! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
maxlen, memb_addr, flag, c_maxlen_out)
USE H5GLOBAL
+ IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_MULTI_C'::h5pget_fapl_multi_c
!DEC$ENDIF
!DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_map
- INTEGER(HID_T), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_name
- REAL, DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_addr
- INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
+ INTEGER, DIMENSION(*), INTENT(OUT) :: memb_map
+ INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: memb_name
+ REAL, DIMENSION(*), INTENT(OUT) :: memb_addr
+ INTEGER, DIMENSION(*) :: lenm
INTEGER :: maxlen
INTEGER :: c_maxlen_out
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pget_fapl_multi_c
END INTERFACE
- maxlen = LEN(memb_name(0))
- DO i=0, H5FD_MEM_NTYPES_F-1
+
+ maxlen = LEN(memb_name(1))
+ DO i=1, H5FD_MEM_NTYPES_F
lenm(i) = LEN_TRIM(memb_name(i))
ENDDO
- hdferr = h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag, c_maxlen_out)
+ hdferr = h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag, c_maxlen_out)
+
relax = .TRUE.
- IF(flag .EQ. 0) relax = .FALSE.
+ IF(flag .EQ. 0) relax = .FALSE.
IF(PRESENT(maxlen_out)) maxlen_out = c_maxlen_out
END SUBROUTINE h5pget_fapl_multi_f
!****s* H5P/h5pset_szip_f
diff --git a/fortran/src/H5Rf.c b/fortran/src/H5Rf.c
index 19fa6b1..068f24e 100644
--- a/fortran/src/H5Rf.c
+++ b/fortran/src/H5Rf.c
@@ -148,13 +148,11 @@ h5rcreate_ptr_c (void *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *r
{
int ret_value = -1;
char *c_name;
- size_t c_namelen;
/*
* Convert FORTRAN name to C name
*/
- c_namelen = (size_t)*namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
/*
diff --git a/fortran/src/H5Rff_F03.f90 b/fortran/src/H5Rff_F03.f90
index 9ee815f..8f40607 100644
--- a/fortran/src/H5Rff_F03.f90
+++ b/fortran/src/H5Rff_F03.f90
@@ -551,7 +551,7 @@ CONTAINS
INTEGER(HID_T), INTENT(IN) :: loc_id
TYPE(hobj_ref_t_f), INTENT(IN), TARGET :: ref
INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(LEN=*), INTENT(INOUT) :: name
INTEGER, INTENT(OUT) :: hdferr
!*****
@@ -598,7 +598,7 @@ CONTAINS
INTEGER(HID_T), INTENT(IN) :: loc_id
TYPE(hdset_reg_ref_t_f), INTENT(IN), TARGET :: ref
INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(LEN=*), INTENT(INOUT) :: name
INTEGER, INTENT(OUT) :: hdferr
!*****
INTEGER(SIZE_T) :: size_default
@@ -647,7 +647,7 @@ CONTAINS
INTEGER(HID_T), INTENT(IN) :: loc_id
INTEGER, INTENT(IN) :: ref_type
TYPE(C_PTR), INTENT(IN) :: ref
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(LEN=*), INTENT(INOUT) :: name
INTEGER, INTENT(OUT) :: hdferr
INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size
!*****
diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c
index f6803ac..6947d64 100644
--- a/fortran/src/H5Sf.c
+++ b/fortran/src/H5Sf.c
@@ -298,7 +298,7 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f *startblock,
if (rank < 0 ) return ret_value;
c_startblock = (hsize_t)*startblock;
- c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_blocks*2*rank));
+ c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_blocks*2*(hsize_t)rank));
if (!c_buf) return ret_value;
ret_value = H5Sget_select_hyper_blocklist(c_space_id, c_startblock,
@@ -425,7 +425,7 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
if (rank < 0 ) return ret_value;
c_startpoint = (hsize_t)*startpoint;
- c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_points*rank));
+ c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_points*(hsize_t)rank));
if (!c_buf) return ret_value;
ret_value = H5Sget_select_elem_pointlist(c_space_id, c_startpoint,
c_num_points, c_buf);
@@ -434,7 +434,7 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
/* and add 1 to account for array's starting at one in Fortran */
i2 = 0;
for( i = 0; i < c_num_points; i++) {
- i1 = rank*(i+1);
+ i1 = (hsize_t)rank*(i+1);
for(j = 0; j < rank; j++) {
buf[i2] = (hsize_t_f)(c_buf[i1-1]+1);
i2 = i2 + 1;
@@ -442,10 +442,6 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
}
}
-/* for( i = 0; i < c_num_points*rank; i++) { */
-/* printf("%i \n", (int)c_buf[i]+1); */
-/* } */
-
if (ret_value >= 0 ) ret_value = 0;
HDfree(c_buf);
@@ -453,8 +449,6 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
return ret_value;
}
-
-
/****if* H5Sf/h5sselect_all_c
* NAME
* h5sselect_all_c
@@ -1230,7 +1224,8 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsi
H5S_seloper_t c_op;
herr_t status;
int rank;
- int i, j;
+ size_t i;
+ int j;
hsize_t *c_coord;
size_t c_nelements;
@@ -1239,11 +1234,11 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsi
c_space_id = *space_id;
rank = H5Sget_simple_extent_ndims(c_space_id);
- c_coord = (hsize_t *)HDmalloc(sizeof(hsize_t)*rank*(*nelements));
+ c_coord = (hsize_t *)HDmalloc(sizeof(hsize_t)*(size_t)rank*((size_t)*nelements));
if(!c_coord) return ret_value;
- for (i=0; i< *nelements; i++) {
+ for (i=0; i< (size_t)*nelements; i++) {
for (j = 0; j < rank; j++) {
- c_coord[j+i*rank] = (hsize_t)coord[j + i*rank];
+ c_coord[(size_t)j+i*(size_t)rank] = (hsize_t)coord[(size_t)j + i*(size_t)rank];
}
}
diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c
index 878119f..7e1aa42 100644
--- a/fortran/src/H5Tf.c
+++ b/fortran/src/H5Tf.c
@@ -26,9 +26,9 @@
/****if* H5Tf/h5topen_c
* NAME
- * h5topen_c
+ * h5topen_c
* PURPOSE
- * Call H5Topen2 to open a datatype
+ * Call H5Topen2 to open a datatype
* INPUTS
* loc_id - file or group identifier
* name - name of the datatype within file or group
@@ -78,9 +78,9 @@ done:
/****if* H5Tf/h5tcommit_c
* NAME
- * h5tcommit_c
+ * h5tcommit_c
* PURPOSE
- * Call H5Tcommit2 to commit a datatype
+ * Call H5Tcommit2 to commit a datatype
* INPUTS
* loc_id - file or group identifier
* name - name of the datatype within file or group
@@ -126,9 +126,9 @@ done:
/****if* H5Tf/h5tclose_c
* NAME
- * h5tclose_c
+ * h5tclose_c
* PURPOSE
- * Call H5Tclose to close the datatype
+ * Call H5Tclose to close the datatype
* INPUTS
* type_id - identifier of the datatype to be closed
* RETURNS
@@ -156,9 +156,9 @@ nh5tclose_c ( hid_t_f *type_id )
/****if* H5Tf/h5tcopy_c
* NAME
- * h5tcopy_c
+ * h5tcopy_c
* PURPOSE
- * Call H5Tcopy to copy a datatype
+ * Call H5Tcopy to copy a datatype
* INPUTS
* type_id - identifier of the datatype to be copied
* OUTPUTS
@@ -190,9 +190,9 @@ nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id)
/****if* H5Tf/h5tequal_c
* NAME
- * h5tequal_c
+ * h5tequal_c
* PURPOSE
- * Call H5Tequal to copy a datatype
+ * Call H5Tequal to copy a datatype
* INPUTS
* type1_id - datatype identifier
* type2_id - datatype identifier
@@ -289,9 +289,9 @@ nh5tget_class_c ( hid_t_f *type_id , int_f *classtype)
/****if* H5Tf/h5tget_order_c
* NAME
- * h5tget_order_c
+ * h5tget_order_c
* PURPOSE
- * Call H5Tget_order to determine byte order
+ * Call H5Tget_order to determine byte order
* INPUTS
* type_id - identifier of the dataspace
* OUTPUTS
@@ -333,9 +333,9 @@ nh5tget_order_c ( hid_t_f *type_id , int_f *order)
/****if* H5Tf/h5tset_order_c
* NAME
- * h5tset_order_c
+ * h5tset_order_c
* PURPOSE
- * Call H5Tset_order to set byte order
+ * Call H5Tset_order to set byte order
* INPUTS
* type_id - identifier of the dataspace
* order; possible values are:
@@ -374,9 +374,9 @@ nh5tset_order_c ( hid_t_f *type_id , int_f *order)
/****if* H5Tf/h5tget_size_c
* NAME
- * h5tget_size_c
+ * h5tget_size_c
* PURPOSE
- * Call H5Tget_size to get size of the datatype
+ * Call H5Tget_size to get size of the datatype
* INPUTS
* type_id - identifier of the dataspace
* OUTPUTS
@@ -409,9 +409,9 @@ nh5tget_size_c ( hid_t_f *type_id , size_t_f *size)
/****if* H5Tf/h5tset_size_c
* NAME
- * h5tset_size_c
+ * h5tset_size_c
* PURPOSE
- * Call H5Tget_size to get size of the datatype
+ * Call H5Tget_size to get size of the datatype
* INPUTS
* type_id - identifier of the dataspace
* OUTPUTS
@@ -445,9 +445,9 @@ nh5tset_size_c ( hid_t_f *type_id , size_t_f *size)
/****if* H5Tf/h5tget_precision_c
* NAME
- * h5tget_precision_c
+ * h5tget_precision_c
* PURPOSE
- * Call H5Tget_precision to get precision of the datatype
+ * Call H5Tget_precision to get precision of the datatype
* INPUTS
* type_id - identifier of the dataspace
* OUTPUTS
@@ -480,9 +480,9 @@ nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision)
/****if* H5Tf/h5tset_precision_c
* NAME
- * h5tset_precision_c
+ * h5tset_precision_c
* PURPOSE
- * Call H5Tset_precision to set precision of the datatype
+ * Call H5Tset_precision to set precision of the datatype
* INPUTS
* type_id - identifier of the dataspace
* precision - number of significant bits
@@ -515,9 +515,9 @@ nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision)
/****if* H5Tf/h5tget_offset_c
* NAME
- * h5tget_offset_c
+ * h5tget_offset_c
* PURPOSE
- * Call H5Tget_offset to get bit offset of the first
+ * Call H5Tget_offset to get bit offset of the first
* significant bit of the datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -552,9 +552,9 @@ nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset)
/****if* H5Tf/h5tset_offset_c
* NAME
- * h5tset_offset_c
+ * h5tset_offset_c
* PURPOSE
- * Call H5Tset_offset to set bit offset of the first
+ * Call H5Tset_offset to set bit offset of the first
* significant bit of the datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -588,9 +588,9 @@ nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset)
/****if* H5Tf/h5tget_pad_c
* NAME
- * h5tget_pad_c
+ * h5tget_pad_c
* PURPOSE
- * Call H5Tget_pad to get the padding type of the least and
+ * Call H5Tget_pad to get the padding type of the least and
* most-significant bit padding
*
* INPUTS
@@ -629,11 +629,11 @@ nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad)
/****if* H5Tf/h5tset_pad_c
* NAME
- * h5tset_pad_c
+ * h5tset_pad_c
* INPUTS
* type_id - identifier of the dataspace
* PURPOSE
- * Call H5Tset_pad to set the padding type of the least and
+ * Call H5Tset_pad to set the padding type of the least and
* most-significant bit padding
*
* INPUTS
@@ -670,9 +670,9 @@ nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f* msbpad )
/****if* H5Tf/h5tget_sign_c
* NAME
- * h5tget_sign_c
+ * h5tget_sign_c
* PURPOSE
- * Call H5Tget_sign to get sign type for an integer type
+ * Call H5Tget_sign to get sign type for an integer type
* INPUTS
* type_id - identifier of the dataspace
* OUTPUTS
@@ -705,9 +705,9 @@ nh5tget_sign_c ( hid_t_f *type_id , int_f *sign)
/****if* H5Tf/h5tset_sign_c
* NAME
- * h5tset_sign_c
+ * h5tset_sign_c
* PURPOSE
- * Call H5Tset_sign to set sign type for an integer type
+ * Call H5Tset_sign to set sign type for an integer type
* INPUTS
* type_id - identifier of the dataspace
* sign - sign type for an integer typ
@@ -741,9 +741,9 @@ nh5tset_sign_c ( hid_t_f *type_id , int_f* sign)
/****if* H5Tf/h5tget_fields_c
* NAME
- * h5tget_fields_c
+ * h5tget_fields_c
* PURPOSE
- * Call H5Tget_fields to get floating point datatype
+ * Call H5Tget_fields to get floating point datatype
* bit field information
* INPUTS
* type_id - identifier of the dataspace
@@ -785,9 +785,9 @@ nh5tget_fields_c ( hid_t_f *type_id , size_t_f *spos, size_t_f *epos, size_t_f*
/****if* H5Tf/h5tset_fields_c
* NAME
- * h5tset_fields_c
+ * h5tset_fields_c
* PURPOSE
- * Call H5Tset_fields to set floating point datatype
+ * Call H5Tset_fields to set floating point datatype
* bit field information
* INPUTS
* type_id - identifier of the dataspace
@@ -829,9 +829,9 @@ nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* e
/****if* H5Tf/h5tget_ebias_c
* NAME
- * h5tget_ebias_c
+ * h5tget_ebias_c
* PURPOSE
- * Call H5Tget_ebias to get exponent bias of a
+ * Call H5Tget_ebias to get exponent bias of a
* floating-point type of the datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -866,9 +866,9 @@ nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
/****if* H5Tf/h5tset_ebias_c
* NAME
- * h5tset_ebias_c
+ * h5tset_ebias_c
* PURPOSE
- * Call H5Tset_ebias to set exponent bias of a
+ * Call H5Tset_ebias to set exponent bias of a
* floating-point type of the datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -903,9 +903,9 @@ nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
/****if* H5Tf/h5tget_norm_c
* NAME
- * h5tget_norm_c
+ * h5tget_norm_c
* PURPOSE
- * Call H5Tget_norm to get mantissa normalization
+ * Call H5Tget_norm to get mantissa normalization
* of a floating-point datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -940,9 +940,9 @@ nh5tget_norm_c ( hid_t_f *type_id , int_f *norm)
/****if* H5Tf/h5tset_norm_c
* NAME
- * h5tset_norm_c
+ * h5tset_norm_c
* PURPOSE
- * Call H5Tset_norm to set mantissa normalization of
+ * Call H5Tset_norm to set mantissa normalization of
* floating-point type of the datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -977,9 +977,9 @@ nh5tset_norm_c ( hid_t_f *type_id , int_f *norm)
/****if* H5Tf/h5tget_inpad_c
* NAME
- * h5tget_inpad_c
+ * h5tget_inpad_c
* PURPOSE
- * Call H5Tget_inpad to get the padding type for
+ * Call H5Tget_inpad to get the padding type for
* unused bits in floating-point datatypes
*
* INPUTS
@@ -1016,11 +1016,11 @@ nh5tget_inpad_c ( hid_t_f *type_id , int_f * padtype)
/****if* H5Tf/h5tset_inpad_c
* NAME
- * h5tset_inpad_c
+ * h5tset_inpad_c
* INPUTS
* type_id - identifier of the dataspace
* PURPOSE
- * Call H5Tset_inpad to set the padding type
+ * Call H5Tset_inpad to set the padding type
* unused bits in floating-point datatype
*
* INPUTS
@@ -1057,9 +1057,9 @@ nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype)
/****if* H5Tf/h5tget_cset_c
* NAME
- * h5tget_cset_c
+ * h5tget_cset_c
* PURPOSE
- * Call H5Tget_cset to get character set
+ * Call H5Tget_cset to get character set
* type of a string datatype
*
* INPUTS
@@ -1095,11 +1095,11 @@ nh5tget_cset_c ( hid_t_f *type_id , int_f * cset)
/****if* H5Tf/h5tset_cset_c
* NAME
- * h5tset_cset_c
+ * h5tset_cset_c
* INPUTS
* type_id - identifier of the dataspace
* PURPOSE
- * Call H5Tset_cset to set character set
+ * Call H5Tset_cset to set character set
* type of a string datatype
*
* INPUTS
@@ -1135,9 +1135,9 @@ nh5tset_cset_c ( hid_t_f *type_id, int_f * cset)
/****if* H5Tf/h5tget_strpad_c
* NAME
- * h5tget_strpad_c
+ * h5tget_strpad_c
* PURPOSE
- * Call H5Tget_strpad to get string padding method
+ * Call H5Tget_strpad to get string padding method
* for a string datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -1171,11 +1171,11 @@ nh5tget_strpad_c ( hid_t_f *type_id , int_f * strpad)
/****if* H5Tf/h5tset_strpad_c
* NAME
- * h5tset_strpad_c
+ * h5tset_strpad_c
* INPUTS
* type_id - identifier of the dataspace
* PURPOSE
- * Call H5Tset_strpad to set string padding method
+ * Call H5Tset_strpad to set string padding method
* for a string datatype
*
* INPUTS
@@ -1211,9 +1211,9 @@ nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad)
/****if* H5Tf/h5tget_nmembers_c
* NAME
- * h5tget_nmembers_c
+ * h5tget_nmembers_c
* PURPOSE
- * Call H5Tget_nmembers to get number of fields
+ * Call H5Tget_nmembers to get number of fields
* in a compound datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -1246,9 +1246,9 @@ nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members)
/****if* H5Tf/h5tget_member_name_c
* NAME
- * h5tget_member_name_c
+ * h5tget_member_name_c
* PURPOSE
- * Call H5Tget_member_name to get name
+ * Call H5Tget_member_name to get name
* of a compound datatype
* INPUTS
* type_id - identifier of the dataspace
@@ -1287,9 +1287,9 @@ nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *n
}
/****if* H5Tf/h5tget_member_index_c
* NAME
- * h5tget_member_index_c
+ * h5tget_member_index_c
* PURPOSE
- * Call H5Tget_member_index to get an index of
+ * Call H5Tget_member_index to get an index of
* the specified datatype filed or member.
* INPUTS
* type_id - datatype identifier
@@ -1301,7 +1301,7 @@ nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *n
* 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, September 26, 2002
+ * Thursday, September 26, 2002
* HISTORY
*
* SOURCE
@@ -1312,15 +1312,13 @@ nh5tget_member_index_c (hid_t_f *type_id, _fcd name, int_f *namelen, int_f *idx)
{
int ret_value = -1;
char *c_name;
- size_t c_namelen;
hid_t c_type_id;
int c_index;
/*
* Convert FORTRAN name to C name
*/
- c_namelen = *namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
/*
@@ -1340,9 +1338,9 @@ DONE:
/****if* H5Tf/h5tget_member_offset_c
* NAME
- * h5tget_member_offset_c
+ * h5tget_member_offset_c
* PURPOSE
- * Call H5Tget_member_offset to get byte offset of the
+ * Call H5Tget_member_offset to get byte offset of the
* beginning of a field within a compound datatype with
* respect to the beginning of the compound data type datum
* INPUTS
@@ -1367,12 +1365,8 @@ nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f * offset)
{
int ret_value = -1;
size_t c_offset;
- hid_t c_type_id;
- unsigned c_member_no;
- c_type_id = *type_id;
- c_member_no = *member_no;
- c_offset = H5Tget_member_offset(c_type_id, c_member_no);
+ c_offset = H5Tget_member_offset((hid_t)*type_id, (unsigned)*member_no);
*offset = (size_t_f)c_offset;
ret_value = 0;
return ret_value;
@@ -1380,9 +1374,9 @@ nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f * offset)
/****if* H5Tf/h5tget_array_dims_c
* NAME
- * h5tget_array_dims_c
+ * h5tget_array_dims_c
* PURPOSE
- * Call H5Tget_array_dims2 to get
+ * Call H5Tget_array_dims2 to get
* dimensions of array datatype
* INPUTS
* type_id - identifier of the array datatype
@@ -1423,9 +1417,9 @@ DONE:
/****if* H5Tf/h5tget_array_ndims_c
* NAME
- * h5tget_array_ndims_c
+ * h5tget_array_ndims_c
* PURPOSE
- * Call H5Tget_array_ndims to get number
+ * Call H5Tget_array_ndims to get number
* of dimensions of array datatype
* INPUTS
* type_id - identifier of the array datatype
@@ -1460,9 +1454,9 @@ nh5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims)
/****if* H5Tf/h5tget_super_c
* NAME
- * h5tget_super_c
+ * h5tget_super_c
* PURPOSE
- * Call H5Tget_super to get base datatype from which
+ * Call H5Tget_super to get base datatype from which
* datatype was derived
* INPUTS
* type_id - identifier of the array datatype
@@ -1498,9 +1492,9 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
/****if* H5Tf/h5tget_member_type_c
* NAME
- * h5tget_member_type_c
+ * h5tget_member_type_c
* PURPOSE
- * Call H5Tget_member_type to get the identifier of a copy of
+ * Call H5Tget_member_type to get the identifier of a copy of
* the datatype of the field
* INPUTS
* type_id - identifier of the datatype
@@ -1511,7 +1505,7 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
* 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
@@ -1522,12 +1516,8 @@ nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
/******/
{
int ret_value = -1;
- hid_t c_type_id;
- unsigned c_field_idx;
- c_type_id = *type_id;
- c_field_idx = *field_idx;
- *datatype = (hid_t_f)H5Tget_member_type(c_type_id, c_field_idx);
+ *datatype = (hid_t_f)H5Tget_member_type((hid_t)*type_id, (unsigned)*field_idx);
if(*datatype < 0) return ret_value;
ret_value = 0;
@@ -1537,9 +1527,9 @@ nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
/****if* H5Tf/h5tcreate_c
* NAME
- * h5tcreate_c
+ * h5tcreate_c
* PURPOSE
- * Call H5Tcreate to create a datatype
+ * Call H5Tcreate to create a datatype
* INPUTS
* cls - class type
* size - size of the class memeber
@@ -1573,20 +1563,20 @@ nh5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id)
/****if* H5Tf/h5tinsert_c
* NAME
- * h5tinsert_c
+ * h5tinsert_c
* PURPOSE
- * Call H5Tinsert to adds another member to the compound datatype
+ * Call H5Tinsert to adds another member to the compound datatype
* INPUTS
- * type_id - identifier of the datatype
- * name - Name of the field to insert
- * namelen - length of the name
- * offset - Offset in memory structure of the field to insert
- * field_id - datatype identifier of the new member
+ * type_id - identifier of the datatype
+ * name - Name of the field to insert
+ * namelen - length of the name
+ * offset - Offset in memory structure of the field to insert
+ * field_id - datatype identifier of the new member
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
@@ -1597,21 +1587,14 @@ nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_
/******/
{
int ret_value = -1;
- hid_t c_type_id;
- hid_t c_field_id;
char* c_name;
- size_t c_namelen;
- size_t c_offset;
herr_t error;
- c_offset =(size_t) *offset;
- c_namelen = *namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
- c_type_id = *type_id;
- c_field_id = *field_id;
- error = H5Tinsert(c_type_id, c_name, c_offset, c_field_id);
+ error = H5Tinsert((hid_t)*type_id, c_name, (size_t)*offset, (hid_t)*field_id);
+
HDfree(c_name);
if(error < 0) return ret_value;
ret_value = 0;
@@ -1621,18 +1604,18 @@ nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_
/****if* H5Tf/h5tpack_c
* NAME
- * h5tpack_c
+ * h5tpack_c
* PURPOSE
- * Call H5Tpack tor ecursively remove padding from
- * within a compound datatype to make it more efficient
- * (space-wise) to store that data
+ * Call H5Tpack tor ecursively remove padding from
+ * within a compound datatype to make it more efficient
+ * (space-wise) to store that data
* INPUTS
- * type_id - identifier of the datatype
+ * type_id - identifier of the datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
@@ -1656,9 +1639,9 @@ nh5tpack_c(hid_t_f * type_id)
/****if* H5Tf/h5tarray_create_c
* NAME
- * h5tarray_create_c
+ * h5tarray_create_c
* PURPOSE
- * Call H5Tarray_create2 to create array datatype
+ * Call H5Tarray_create2 to create array datatype
* INPUTS
* base_id - identifier of array base datatype
* rank - array's rank
@@ -1668,7 +1651,7 @@ nh5tpack_c(hid_t_f * type_id)
* 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, November 16, 2000
+ * Thursday, November 16, 2000
* HISTORY
*
* SOURCE
@@ -1687,7 +1670,7 @@ nh5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* typ
* Transpose dimension arrays because of C-FORTRAN storage order
*/
for(u = 0; u < (unsigned)*rank ; u++)
- c_dims[u] = (hsize_t)dims[(*rank - u) - 1];
+ c_dims[u] = (hsize_t)dims[((unsigned)*rank - u) - 1];
if((c_type_id = H5Tarray_create2((hid_t)*base_id, (unsigned)*rank, c_dims)) < 0)
goto DONE;
@@ -1702,19 +1685,19 @@ DONE:
/****if* H5Tf/h5tenum_create_c
* NAME
- * h5tenum_create_c
+ * h5tenum_create_c
* PURPOSE
- * Call H5Tenum_create to create a new enumeration datatype
+ * Call H5Tenum_create to create a new enumeration datatype
* INPUTS
- * parent_id - Datatype identifier for the base datatype
+ * parent_id - Datatype identifier for the base datatype
* OUTPUTS
- * new_type_id - datatype identifier for the new
- * enumeration datatype
+ * new_type_id - datatype identifier for the new
+ * enumeration datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Tuesday, February 15, 1999
+ * Tuesday, February 15, 1999
* HISTORY
*
* SOURCE
@@ -1725,11 +1708,9 @@ nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id)
/******/
{
int ret_value = 0;
- hid_t c_parent_id;
hid_t c_new_type_id;
- c_parent_id = *parent_id;
- c_new_type_id = H5Tenum_create(c_parent_id);
+ c_new_type_id = H5Tenum_create((hid_t)*parent_id);
if ( c_new_type_id < 0 ) ret_value = -1;
*new_type_id = (hid_t_f)c_new_type_id;
@@ -1764,12 +1745,10 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
{
int ret_value = -1;
char* c_name;
- size_t c_namelen;
herr_t error;
int_f c_value;
- c_namelen = *namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
c_value = *value;
@@ -1785,9 +1764,9 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
/****if* H5Tf/h5tenum_nameof_c
* NAME
- * h5tenum_nameof_c
+ * h5tenum_nameof_c
* PURPOSE
- * Call H5Tenum_nameof to find the symbol name that corresponds to
+ * Call H5Tenum_nameof to find the symbol name that corresponds to
* the specified value of the enumeration datatype type
* INPUTS
* type_id - identifier of the datatype
@@ -1829,9 +1808,9 @@ nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen)
/****if* H5Tf/h5tenum_valueof_c
* NAME
- * h5tenum_valueof_c
+ * h5tenum_valueof_c
* PURPOSE
- * Call H5Tenum_valueof to find the value of that corresponds to
+ * Call H5Tenum_valueof to find the value of that corresponds to
* the specified name of the enumeration datatype type
* INPUTS
* type_id - identifier of the datatype
@@ -1853,16 +1832,12 @@ nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
/******/
{
int ret_value = -1;
- hid_t c_type_id;
char* c_name;
- size_t c_namelen;
herr_t error;
- c_namelen = *namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
- c_type_id = *type_id;
- error = H5Tenum_valueof(c_type_id, c_name, value);
+ error = H5Tenum_valueof((hid_t)*type_id, c_name, value);
HDfree(c_name);
if(error < 0) return ret_value;
@@ -1873,9 +1848,9 @@ nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
/****if* H5Tf/h5tget_member_value_c
* NAME
- * h5tget_member_value_c
+ * h5tget_member_value_c
* PURPOSE
- * Call H5Tget_member_value to get the value of an
+ * Call H5Tget_member_value to get the value of an
* enumeration datatype member
* INPUTS
* type_id - identifier of the datatype
@@ -1896,14 +1871,10 @@ nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value)
/******/
{
int ret_value = -1;
- hid_t c_type_id;
- unsigned c_member_no;
int c_value;
herr_t error;
- c_type_id = *type_id;
- c_member_no = *member_no;
- error = H5Tget_member_value(c_type_id, c_member_no, &c_value);
+ error = H5Tget_member_value((hid_t)*type_id, (unsigned)*member_no, &c_value);
if(error < 0) return ret_value;
*value = (int_f)c_value;
@@ -1913,11 +1884,11 @@ nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value)
/****if* H5Tf/h5tset_tag_c
* NAME
- * h5tset_tag_c
+ * h5tset_tag_c
* INPUTS
* type_id - identifier of the dataspace
* PURPOSE
- * Call H5Tset_tag to set an opaque datatype tag
+ * Call H5Tset_tag to set an opaque datatype tag
* INPUTS
* type_id - identifier of the dataspace
* tag - Unique ASCII string with which the opaque
@@ -1937,16 +1908,12 @@ nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
/******/
{
int ret_value = -1;
- hid_t c_type_id;
herr_t status;
char* c_tag;
- size_t c_namelen;
- c_namelen = *namelen;
- c_tag = (char *)HD5f2cstring(tag, c_namelen);
+ c_tag = (char *)HD5f2cstring(tag, (size_t)*namelen);
- c_type_id = *type_id;
- status = H5Tset_tag(c_type_id, c_tag);
+ status = H5Tset_tag((hid_t)*type_id, c_tag);
HDfree(c_tag);
if ( status < 0 ) return ret_value;
@@ -1956,7 +1923,7 @@ nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
/****if* H5Tf/h5tget_tag_c
* NAME
- * h5tget_tag_c
+ * h5tget_tag_c
* PURPOSE
* Call H5Tset_tag to set an opaque datatype tag
* INPUTS
@@ -1994,9 +1961,9 @@ nh5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* taglen)
}
/****if* H5Tf/h5tvlen_create_c
* NAME
- * h5tvlen_create_c
+ * h5tvlen_create_c
* PURPOSE
- * Call H5Tvlen_create to create VL dtatype
+ * Call H5Tvlen_create to create VL dtatype
* INPUTS
* type_id - identifier of the base datatype
* OUTPUTS
@@ -2027,9 +1994,9 @@ nh5tvlen_create_c(hid_t_f* type_id, hid_t_f *vltype_id)
}
/****if* H5Tf/h5tis_variable_str_c
* NAME
- * h5tis_variable_str_c
+ * h5tis_variable_str_c
* PURPOSE
- * Call H5Tis_variable_str to detrmine if the datatype
+ * Call H5Tis_variable_str to detrmine if the datatype
* is a variable string.
* INPUTS
* type_id - identifier of the dataspace
@@ -2062,9 +2029,9 @@ nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
}
/****if* H5Tf/h5tget_member_class_c
* NAME
- * h5tget_member_class_c
+ * h5tget_member_class_c
* PURPOSE
- * Call H5Tget_member_class to detrmine ithe class of the compound
+ * Call H5Tget_member_class to detrmine ithe class of the compound
* datatype member
* INPUTS
* type_id - identifier of the dataspace
@@ -2102,9 +2069,9 @@ nh5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls )
/****if* H5Tf/h5tcommit_anon_c
* NAME
- * h5tcommit_anon_c
+ * h5tcommit_anon_c
* PURPOSE
- * Call H5Tcommit_anon
+ * Call H5Tcommit_anon
* INPUTS
* loc_id - file or group identifier
* dtype_id - dataset identifier
@@ -2138,9 +2105,9 @@ nh5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id,
/****if* H5Tf/h5tcommitted_c
* NAME
- * h5tcommitted_c
+ * h5tcommitted_c
* PURPOSE
- * Call H5Tcommitted
+ * Call H5Tcommitted
* dtype_id - dataset identifier
* RETURNS
* a positive value, for TRUE, if the datatype has been committed,
@@ -2169,9 +2136,9 @@ nh5tcommitted_c(hid_t_f *dtype_id)
/****if* H5Tf/h5tdecode_c
* NAME
- * h5tdecode_c
+ * h5tdecode_c
* PURPOSE
- * Call H5Tdecode
+ * Call H5Tdecode
* INPUTS
*
* buf - Buffer for the data space object to be decoded.
@@ -2215,9 +2182,9 @@ nh5tdecode_c ( _fcd buf, hid_t_f *obj_id )
/****if* H5Tf/h5tencode_c
* NAME
- * h5tencode_c
+ * h5tencode_c
* PURPOSE
- * Call H5Tencode
+ * Call H5Tencode
* INPUTS
*
* obj_id - Identifier of the object to be encoded.
@@ -2285,9 +2252,9 @@ nh5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
/****if* H5Tf/h5tget_create_plist_c
* NAME
- * h5tget_create_plist_c
+ * h5tget_create_plist_c
* PURPOSE
- * Call H5Tget_create_plist
+ * Call H5Tget_create_plist
* INPUTS
* dtype_id - Datatype identifier
* OUTPUTS
@@ -2317,9 +2284,9 @@ nh5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id)
/****if* H5Tf/h5tcompiler_conv_c
* NAME
- * h5tcompiler_conv_c
+ * h5tcompiler_conv_c
* PURPOSE
- * Call H5Tcompiler_conv
+ * Call H5Tcompiler_conv
* INPUTS
*
* src_id - Identifier for the source datatype.
@@ -2351,9 +2318,9 @@ nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag)
}
/****if* H5Tf/h5tget_native_type_c
* NAME
- * h5tget_native_type_c
+ * h5tget_native_type_c
* PURPOSE
- * Call H5Tget_native_type
+ * Call H5Tget_native_type
* INPUTS
*
* dtype_id - Datatype identifier for the dataset datatype.
@@ -2449,13 +2416,11 @@ h5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value)
int ret_value = -1;
hid_t status;
char *c_name;
- size_t c_namelen;
/*
* Convert FORTRAN name to C name
*/
- c_namelen = *namelen;
- c_name = (char *)HD5f2cstring(name, c_namelen);
+ c_name = (char *)HD5f2cstring(name, (size_t)*namelen);
if (c_name == NULL) return ret_value;
status = H5Tenum_insert( (hid_t)*type_id, c_name, value);
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index b5e40a8..6bde877 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -995,7 +995,7 @@ H5_FCDLL int_f nh5pcreate_c ( hid_t_f *cls, hid_t_f *prp_id );
H5_FCDLL int_f nh5pclose_c ( hid_t_f *prp_id );
H5_FCDLL int_f nh5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id);
H5_FCDLL int_f nh5pequal_c ( hid_t_f *plist1_id , hid_t_f *plist2_id, int_f *c_flag);
-H5_FCDLL int_f nh5pget_class_c ( hid_t_f *prp_id , int_f *classtype);
+H5_FCDLL int_f nh5pget_class_c ( hid_t_f *prp_id , hid_t_f *classtype);
H5_FCDLL int_f nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level);
H5_FCDLL int_f nh5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims );
H5_FCDLL int_f nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index 415208c..f9f4a7b 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -470,7 +470,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ -I$(top_srcdir)/src \
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -502,7 +501,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -526,11 +524,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -593,7 +589,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -729,7 +724,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
AM_FCLIBS = $(LIBHDF5)
diff --git a/fortran/src/README b/fortran/src/README
index 508da69..7af5df3 100644
--- a/fortran/src/README
+++ b/fortran/src/README
@@ -35,8 +35,6 @@ following platforms and compilers:
* SunOS 5.6 with WorkshopCompilers 4.2 Fortran 90 1.2
* SunOS 5.7 with WorkshopCompilers 5.0 Fortran 90 2.0
* OSF1 V4.0 with Digital Fortran 90 4.1
- * IRIX64 6.5 (64 option only) with MIPSpro Compilers: Version 7.3.1m
- mpt.1.4
* Linux RedHat 6.1, Kernel 2.2.12 with PGF90
* T3E with Cray Fortran: Version 3.4.0.0
with mpt 1.3
@@ -55,7 +53,6 @@ Compilation
solaris
digunix
- irix
linux
Example: On Digital Unix systems use the following command
@@ -91,7 +88,6 @@ Compilation
grpdsetexample - creates datasets in the groups
hyperslabexample - writes and reads a hyperslab
selectele - writes element selections
- grpit - iterates through the members of the group
attrexample - creates and writes a dataset attribute
compound - creates, writes and reads one dim array of structures
mountexample - shows how to use mounting files to access a dataset
diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in
index b5a6486..6e2c9d3 100644
--- a/fortran/src/h5fc.in
+++ b/fortran/src/h5fc.in
@@ -313,7 +313,7 @@ if test "x$do_link" = "xyes"; then
hpux*) flag="-Wl,+b -Wl," ;;
freebsd*|solaris*) flag="-R" ;;
rs6000*|aix*) flag="-L" ;;
- irix*|sgi) flag="-rpath " ;;
+ sgi) flag="-rpath " ;;
*) flag="" ;;
esac
diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt
index 3395906..2893156 100644
--- a/fortran/test/CMakeLists.txt
+++ b/fortran/test/CMakeLists.txt
@@ -4,14 +4,14 @@ PROJECT (HDF5_FORTRAN_TESTS C CXX Fortran)
#-----------------------------------------------------------------------------
# Setup include Directories
#-----------------------------------------------------------------------------
-INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
#-----------------------------------------------------------------------------
# Add Test Lib
#-----------------------------------------------------------------------------
add_library (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} t.c)
set_source_files_properties (t.c PROPERTIES LANGUAGE C)
-TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET}
${HDF5_F90_C_LIB_TARGET}
${HDF5_TEST_LIB_TARGET}
@@ -46,8 +46,7 @@ if (WIN32)
endif (BUILD_SHARED_LIBS)
set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS HDF5F90_WINDOWS)
endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} " " ${SHARED_LINK_FLAGS})
-set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES LINKER_LANGUAGE Fortran)
+TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
target_link_libraries (${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_C_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -58,6 +57,7 @@ set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES
FOLDER libraries/test/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
#-----------------------------------------------------------------------------
@@ -83,7 +83,7 @@ add_executable (testhdf5_fortran
tHDF5.f90
)
TARGET_NAMING (testhdf5_fortran ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (testhdf5_fortran " " " ")
+TARGET_FORTRAN_PROPERTIES (testhdf5_fortran ${LIB_TYPE} " " " ")
target_link_libraries (testhdf5_fortran
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -92,8 +92,12 @@ target_link_libraries (testhdf5_fortran
if (WIN32 AND MSVC)
target_link_libraries (testhdf5_fortran "ws2_32.lib")
endif (WIN32 AND MSVC)
-set_target_properties (testhdf5_fortran PROPERTIES LINKER_LANGUAGE Fortran)
-set_target_properties (testhdf5_fortran PROPERTIES FOLDER test/fortran)
+target_include_directories (testhdf5_fortran PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+set_target_properties (testhdf5_fortran PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
#-- Adding test for testhdf5_fortran_1_8
add_executable (testhdf5_fortran_1_8
@@ -105,7 +109,7 @@ add_executable (testhdf5_fortran_1_8
tHDF5_1_8.f90
)
TARGET_NAMING (testhdf5_fortran_1_8 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 " " " ")
+TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 ${LIB_TYPE} " " " ")
target_link_libraries (testhdf5_fortran_1_8
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -114,8 +118,12 @@ target_link_libraries (testhdf5_fortran_1_8
if (WIN32 AND MSVC)
target_link_libraries (testhdf5_fortran_1_8 "ws2_32.lib")
endif (WIN32 AND MSVC)
-set_target_properties (testhdf5_fortran_1_8 PROPERTIES LINKER_LANGUAGE Fortran)
-set_target_properties (testhdf5_fortran_1_8 PROPERTIES FOLDER test/fortran)
+target_include_directories (testhdf5_fortran_1_8 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+set_target_properties (testhdf5_fortran_1_8 PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
#-- Adding test for fortranlib_test_F03
if (HDF5_ENABLE_F2003)
@@ -130,7 +138,7 @@ if (HDF5_ENABLE_F2003)
tHDF5_F03.f90
)
TARGET_NAMING (fortranlib_test_F03 ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 " " " ")
+ TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 ${LIB_TYPE} " " " ")
target_link_libraries (fortranlib_test_F03
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -139,14 +147,18 @@ if (HDF5_ENABLE_F2003)
if (WIN32 AND MSVC)
target_link_libraries (fortranlib_test_F03 "ws2_32.lib")
endif (WIN32 AND MSVC)
- set_target_properties (fortranlib_test_F03 PROPERTIES LINKER_LANGUAGE Fortran)
- set_target_properties (fortranlib_test_F03 PROPERTIES FOLDER test/fortran)
+ target_include_directories (fortranlib_test_F03 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ set_target_properties (fortranlib_test_F03 PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ )
endif (HDF5_ENABLE_F2003)
#-- Adding test for fflush1
add_executable (fflush1 fflush1.f90)
TARGET_NAMING (fflush1 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (fflush1 " " " ")
+TARGET_FORTRAN_PROPERTIES (fflush1 ${LIB_TYPE} " " " ")
target_link_libraries (fflush1
${HDF5_F90_LIB_TARGET}
${HDF5_F90_TEST_LIB_TARGET}
@@ -155,13 +167,17 @@ target_link_libraries (fflush1
if (WIN32 AND MSVC)
target_link_libraries (fflush1 "ws2_32.lib")
endif (WIN32 AND MSVC)
-set_target_properties (fflush1 PROPERTIES LINKER_LANGUAGE Fortran)
-set_target_properties (fflush1 PROPERTIES FOLDER test/fortran)
+target_include_directories (fflush1 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+set_target_properties (fflush1 PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
#-- Adding test for fflush2
add_executable (fflush2 fflush2.f90)
TARGET_NAMING (fflush2 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (fflush2 " " " ")
+TARGET_FORTRAN_PROPERTIES (fflush2 ${LIB_TYPE} " " " ")
target_link_libraries (fflush2
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -170,7 +186,11 @@ target_link_libraries (fflush2
if (WIN32 AND MSVC)
target_link_libraries (fflush2 "ws2_32.lib")
endif (WIN32 AND MSVC)
-set_target_properties (fflush2 PROPERTIES LINKER_LANGUAGE Fortran)
-set_target_properties (fflush2 PROPERTIES FOLDER test/fortran)
+target_include_directories (fflush2 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+set_target_properties (fflush2 PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
include (CMakeTests.cmake)
diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in
index 2be9485..4ec1ad5 100644
--- a/fortran/test/Makefile.in
+++ b/fortran/test/Makefile.in
@@ -479,7 +479,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ -I$(top_builddir)/fortran/src \
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -511,7 +510,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -535,11 +533,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -602,7 +598,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/fortran/test/fortranlib_test_1_8.f90 b/fortran/test/fortranlib_test_1_8.f90
index 039dc6c..320d661 100644
--- a/fortran/test/fortranlib_test_1_8.f90
+++ b/fortran/test/fortranlib_test_1_8.f90
@@ -89,7 +89,7 @@ PROGRAM fortranlibtest
total_error)
ret_total_error = 0
- CALL test_h5s_encode(cleanup, ret_total_error)
+ CALL test_h5s_encode(ret_total_error)
CALL write_test_status(ret_total_error, &
' Testing dataspace encoding and decoding', &
total_error)
@@ -100,6 +100,12 @@ PROGRAM fortranlibtest
' Testing scaleoffset filter', &
total_error)
+ ret_total_error = 0
+ CALL test_genprop_basic_class(ret_total_error )
+ CALL write_test_status(ret_total_error, &
+ ' Testing basic generic property list class creation functionality', &
+ total_error)
+
WRITE(*,*)
WRITE(*,*) ' ============================================ '
diff --git a/fortran/test/t.h b/fortran/test/t.h
index d315bda..6d6af52 100644
--- a/fortran/test/t.h
+++ b/fortran/test/t.h
@@ -34,7 +34,7 @@ H5_FCTESTDLL int_f nh5_fixname_c
H5_FCTESTDLL int_f nh5_cleanup_c
(_fcd base_name, size_t_f *base_namelen, hid_t_f *fapl);
-H5_FCTESTDLL void nh5_exit_c
+H5_FCTESTDLL NORETURN void nh5_exit_c
(int_f *status);
H5_FCTESTDLL void nh5_env_nocleanup_c
diff --git a/fortran/test/tH5A.f90 b/fortran/test/tH5A.f90
index 07ca6da..e3b3b2a 100644
--- a/fortran/test/tH5A.f90
+++ b/fortran/test/tH5A.f90
@@ -129,8 +129,6 @@ CONTAINS
!data buffers
!
INTEGER, DIMENSION(NX,NY) :: data_in
- LOGICAL :: differ
-
!
!Initialize data_in buffer
diff --git a/fortran/test/tH5A_1_8.f90 b/fortran/test/tH5A_1_8.f90
index 02bef53..8e20100 100644
--- a/fortran/test/tH5A_1_8.f90
+++ b/fortran/test/tH5A_1_8.f90
@@ -157,7 +157,7 @@ SUBROUTINE attribute_test_1_8(cleanup, total_error)
' - Testing creating attributes by name', &
total_error)
- ! /* More complex tests with both "new format" and "shared" attributes */
+ ! More complex tests with both "new format" and "shared" attributes
IF( use_shared(j) ) THEN
ret_total_error = 0
CALL test_attr_shared_rename(my_fcpl, my_fapl, ret_total_error)
@@ -190,12 +190,12 @@ END SUBROUTINE attribute_test_1_8
SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_corder_create_compact(): Test basic H5A (attribute) code.
!** Tests compact attribute storage on objects with attribute creation order info
!**
-!****************************************************************/
+!***************************************************************
! Needed for get_info_by_name
@@ -245,17 +245,17 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
data_dims = 0
! WRITE(*,*) " - Testing Compact Storage of Attributes with Creation Order Info"
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Create dataset creation property list */
+ ! Create dataset creation property list
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
CALL H5Pset_attr_creation_order_f(dcpl, IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), error)
CALL check("H5Pset_attr_creation_order",error,total_error)
- ! /* Query the attribute creation properties */
+ ! Query the attribute creation properties
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
@@ -281,7 +281,7 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
my_dataset = dset3
END SELECT
DO u = 0, max_compact - 1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
@@ -298,7 +298,7 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
END DO
END DO
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dset1, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dset2, error)
@@ -306,15 +306,15 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
CALL h5dclose_f(dset3, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl, error)
CALL check("h5pclose_f",error,total_error)
@@ -341,34 +341,34 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
DO u = 0,max_compact-1
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
- ! /* Retrieve information for attribute */
+ ! Retrieve information for attribute
CALL H5Aget_info_by_name_f(my_dataset, ".", attrname, &
f_corder_valid, corder, cset, data_size, error, lapl_id = H5P_DEFAULT_F ) !with optional
CALL check("H5Aget_info_by_name_f", error, total_error)
- ! /* Verify creation order of attribute */
+ ! Verify creation order of attribute
CALL verifyLogical("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
CALL verify("H5Aget_info_by_name_f", corder, u, total_error)
- ! /* Retrieve information for attribute */
+ ! Retrieve information for attribute
CALL H5Aget_info_by_name_f(my_dataset, ".", attrname, &
f_corder_valid, corder, cset, data_size, error) ! without optional
CALL check("H5Aget_info_by_name_f", error, total_error)
- ! /* Verify creation order of attribute */
+ ! Verify creation order of attribute
CALL verifyLogical("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
CALL verify("H5Aget_info_by_name_f", corder, u, total_error)
END DO
END DO
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dset1, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dset2, error)
@@ -376,19 +376,19 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
CALL h5dclose_f(dset3, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
END SUBROUTINE test_attr_corder_create_compact
SUBROUTINE test_attr_null_space(fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_null_space(): Test basic H5A (attribute) code.
!** Tests storing attribute with "null" dataspace
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -426,41 +426,41 @@ SUBROUTINE test_attr_null_space(fcpl, fapl, total_error)
data_dims = 0
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open file */
+ ! Re-open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error)
CALL check("h5open_f",error,total_error)
- ! /* Create dataspace for dataset attributes */
+ ! Create dataspace for dataset attributes
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create "null" dataspace for attribute */
+ ! Create "null" dataspace for attribute
CALL h5screate_f(H5S_NULL_F, null_sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dataset, error)
CALL check("h5dcreate_f",error,total_error)
- ! /* Add attribute with 'null' dataspace */
+ ! Add attribute with 'null' dataspace
- ! /* Create attribute */
+ ! Create attribute
CALL h5acreate_f(dataset, "null attr", H5T_NATIVE_INTEGER, null_sid, attr, error)
CALL check("h5acreate_f",error,total_error)
- ! /* Try to read data from the attribute */
- ! /* (shouldn't fail, but should leave buffer alone) */
+ ! Try to read data from the attribute
+ ! (shouldn't fail, but should leave buffer alone)
value(1) = 103
data_dims(1) = 1
CALL h5aread_f(attr, H5T_NATIVE_INTEGER, value, data_dims, error)
CALL check("h5aread_f",error,total_error)
CALL verify("h5aread_f",value(1),103,total_error)
-! /* Try to read data from the attribute again but*/
-! /* for a scalar */
+! Try to read data from the attribute again but
+! for a scalar
value_scalar = 104
data_dims(1) = 1
@@ -482,7 +482,7 @@ SUBROUTINE test_attr_null_space(fcpl, fapl, total_error)
CALL h5aget_info_f(attr, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f", error, total_error)
- ! /* Check the attribute's information */
+ ! Check the attribute's information
CALL VERIFY("h5aget_info_f.corder",corder,0,total_error)
CALL VERIFY("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
@@ -513,12 +513,12 @@ END SUBROUTINE test_attr_null_space
SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_create_by_name(): Test basic H5A (attribute) code.
!** Tests creating attributes by name
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -563,32 +563,32 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
data_dims = 0
- ! /* Create dataspace for dataset & attributes */
+ ! Create dataspace for dataset & attributes
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create dataset creation property list */
+ ! Create dataset creation property list
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Query the attribute creation properties */
+ ! Query the attribute creation properties
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- ! /* Loop over using index for creation order value */
+ ! Loop over using index for creation order value
DO i = 1, 2
- ! /* Print appropriate test message */
+ ! Print appropriate test message
IF(use_index(i))THEN
WRITE(*,*) " - Testing Creating Attributes By Name w/Creation Order Index"
ELSE
WRITE(*,*) " - Testing Creating Attributes By Name w/o Creation Order Index"
ENDIF
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Set attribute creation order tracking & indexing for object */
+ ! Set attribute creation order tracking & indexing for object
IF(new_format)THEN
IF(use_index(i))THEN
@@ -602,7 +602,7 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
ENDIF
- ! /* Create datasets */
+ ! Create datasets
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dset1, error, dcpl_id=dcpl )
CALL check("h5dcreate_f2",error,total_error)
@@ -614,7 +614,7 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
CALL check("h5dcreate_f4",error,total_error)
- ! /* Work on all the datasets */
+ ! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
SELECT CASE (curr_dset)
@@ -632,39 +632,39 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
END SELECT
- !/* Create attributes, up to limit of compact form */
+ ! Create attributes, up to limit of compact form
DO u = 0, max_compact - 1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
CALL H5Acreate_by_name_f(fid, dsetname, attrname, H5T_NATIVE_INTEGER, sid, &
attr, error, lapl_id=H5P_DEFAULT_F, acpl_id=H5P_DEFAULT_F, aapl_id=H5P_DEFAULT_F)
CALL check("H5Acreate_by_name_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, u, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Verify information for NEW attribute */
+ ! Verify information for NEW attribute
CALL attr_info_by_idx_check(my_dataset, attrname, INT(u,HSIZE_T), use_index(i), total_error)
! CALL check("FAILED IN attr_info_by_idx_check",total_error)
ENDDO
- ! /* Test opening attributes stored compactly */
+ ! Test opening attributes stored compactly
CALL attr_open_check(fid, dsetname, my_dataset, u, total_error)
ENDDO
- ! /* Work on all the datasets */
+ ! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
SELECT CASE (curr_dset)
CASE (0)
@@ -678,7 +678,7 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
dsetname = DSET3_NAME
END SELECT
- ! /* Create more attributes, to push into dense form */
+ ! Create more attributes, to push into dense form
DO u = max_compact, max_compact* 2 - 1
WRITE(chr2,'(I2.2)') u
@@ -688,12 +688,12 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
attr, error, lapl_id=H5P_DEFAULT_F)
CALL check("H5Acreate_by_name",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, u, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
@@ -701,7 +701,7 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
ENDDO
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dset1, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dset2, error)
@@ -710,16 +710,16 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
ENDDO
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl, error)
CALL check("h5pclose_f",error,total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
@@ -728,12 +728,12 @@ END SUBROUTINE test_attr_create_by_name
SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_info_by_idx(): Test basic H5A (attribute) code.
!** Tests querying attribute info by index
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -790,31 +790,31 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
data_dims = 0
- ! /* Create dataspace for dataset & attributes */
+ ! Create dataspace for dataset & attributes
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create dataset creation property list */
+ ! Create dataset creation property list
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Query the attribute creation properties */
+ ! Query the attribute creation properties
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- ! /* Loop over using index for creation order value */
+ ! Loop over using index for creation order value
DO i = 1, 2
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Set attribute creation order tracking & indexing for object */
+ ! Set attribute creation order tracking & indexing for object
IF(new_format)THEN
IF(use_index(i))THEN
Input1 = H5P_CRT_ORDER_INDEXED_F
@@ -825,7 +825,7 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL check("H5Pset_attr_creation_order",error,total_error)
ENDIF
- ! /* Create datasets */
+ ! Create datasets
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dset1, error )
CALL check("h5dcreate_f",error,total_error)
@@ -836,7 +836,7 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL h5dcreate_f(fid, DSET3_NAME, H5T_NATIVE_CHARACTER, sid, dset3, error )
CALL check("h5dcreate_f",error,total_error)
- ! /* Work on all the datasets */
+ ! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
@@ -849,7 +849,7 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
my_dataset = dset3
END SELECT
- ! /* Check for query on non-existant attribute */
+ ! Check for query on non-existant attribute
n = 0
@@ -879,10 +879,10 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL VERIFY("h5aget_name_by_idx_f",error,minusone,total_error)
- ! /* Create attributes, up to limit of compact form */
+ ! Create attributes, up to limit of compact form
DO j = 0, max_compact-1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') j
attrname = 'attr '//chr2
@@ -890,19 +890,19 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL h5acreate_f(my_dataset, attrname, H5T_NATIVE_INTEGER, sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = j
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Verify information for new attribute */
+ ! Verify information for new attribute
!EP CALL attr_info_by_idx_check(my_dataset, attrname, INT(j,HSIZE_T), use_index(i), total_error )
htmp = j
@@ -914,7 +914,7 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
ENDDO
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dset1, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dset2, error)
@@ -922,17 +922,17 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL h5dclose_f(dset3, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
END DO
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl,error)
CALL check("h5pclose_f", error, total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
@@ -962,13 +962,13 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
INTEGER(HSIZE_T) :: hzero = 0_HSIZE_T
- ! /* Verify the information for first attribute, in increasing creation order */
+ ! Verify the information for first attribute, in increasing creation order
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_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,0,total_error)
- ! /* Verify the information for new attribute, in increasing creation order */
+ ! Verify the information for new attribute, in increasing creation order
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, n, &
f_corder_valid, corder, cset, data_size, error)
@@ -976,7 +976,7 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
CALL check("h5aget_info_by_idx_f",error,total_error)
CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
- ! /* Verify the name for new link, in increasing creation order */
+ ! Verify the name for new link, in increasing creation order
! Try with the correct buffer size
@@ -990,24 +990,24 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
ENDIF
CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
- ! /* Don't test "native" order if there is no creation order index, since
+ ! Don't test "native" order if there is no creation order index, since
! * there's not a good way to easily predict the attribute's order in the name
! * index.
- ! */
+ !
IF (use_index) THEN
- ! /* Verify the information for first attribute, in native creation order */
+ ! Verify the information for first attribute, in native creation order
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_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,0,total_error)
- ! /* Verify the information for new attribute, in native creation order */
+ ! Verify the information for new attribute, in native creation order
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_F, n, &
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)
- ! /* Verify the name for new link, in increasing native order */
+ ! Verify the name for new link, in increasing native order
CALL h5aget_name_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_F, &
n, tmpname, error) ! check with no optional parameters
CALL check("h5aget_name_by_idx_f",error,total_error)
@@ -1075,12 +1075,12 @@ END SUBROUTINE attr_info_by_idx_check
SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_shared_rename(): Test basic H5A (attribute) code.
!** Tests renaming shared attributes in "compact" & "dense" storage
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -1128,114 +1128,114 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
INTEGER(HSIZE_T), DIMENSION(1) :: adims2 = (/1/) ! Attribute dimension
INTEGER :: arank = 1 ! Attribure rank
- ! /* Initialize "big" attribute data */
+ ! Initialize "big" attribute data
- ! /* Create dataspace for dataset */
+ ! Create dataspace for dataset
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create "big" dataspace for "large" attributes */
+ ! Create "big" dataspace for "large" attributes
CALL h5screate_simple_f(arank, adims2, big_sid, error)
CALL check("h5screate_simple_f",error,total_error)
- ! /* Loop over type of shared components */
+ ! Loop over type of shared components
DO test_shared = 0, 2
- ! /* Make copy of file creation property list */
+ ! Make copy of file creation property list
CALL H5Pcopy_f(fcpl, my_fcpl, error)
CALL check("H5Pcopy",error,total_error)
- ! /* Set up datatype for attributes */
+ ! Set up datatype for attributes
CALL H5Tcopy_f(H5T_NATIVE_INTEGER, attr_tid, error)
CALL check("H5Tcopy",error,total_error)
- ! /* Special setup for each type of shared components */
+ ! Special setup for each type of shared components
IF( test_shared .EQ. 0) THEN
- ! /* Make attributes > 500 bytes shared */
+ ! Make attributes > 500 bytes shared
CALL H5Pset_shared_mesg_nindexes_f(my_fcpl,1,error)
CALL check("H5Pset_shared_mesg_nindexes_f",error, total_error)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 0, H5O_SHMESG_ATTR_FLAG_F, 500,error)
CALL check(" H5Pset_shared_mesg_index_f",error, total_error)
ELSE
- ! /* Set up copy of file creation property list */
+ ! Set up copy of file creation property list
CALL H5Pset_shared_mesg_nindexes_f(my_fcpl,3,error)
- ! /* Make attributes > 500 bytes shared */
+ ! Make attributes > 500 bytes shared
CALL H5Pset_shared_mesg_index_f(my_fcpl, 0, H5O_SHMESG_ATTR_FLAG_F, 500,error)
- ! /* Make datatypes & dataspaces > 1 byte shared (i.e. all of them :-) */
+ ! Make datatypes & dataspaces > 1 byte shared (i.e. all of them :-)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 1, H5O_SHMESG_DTYPE_FLAG_F, 1,error)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 2, H5O_SHMESG_SDSPACE_FLAG_F, 1,error)
ENDIF
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, my_fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Close FCPL copy */
+ ! Close FCPL copy
CALL h5pclose_f(my_fcpl, error)
CALL check("h5pclose_f", error, total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open file */
+ ! Re-open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error,fapl)
CALL check("h5open_f",error,total_error)
- ! /* Commit datatype to file */
+ ! Commit datatype to file
IF(test_shared.EQ.2) THEN
CALL H5Tcommit_f(fid, TYPE1_NAME, attr_tid, error, H5P_DEFAULT_F, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("H5Tcommit",error,total_error)
ENDIF
- ! /* Set up to query the object creation properties */
+ ! Set up to query the object creation properties
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Create datasets */
+ ! Create datasets
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dataset, error, dcpl_id=dcpl )
CALL check("h5dcreate_f",error,total_error)
CALL h5dcreate_f(fid, DSET2_NAME, H5T_NATIVE_CHARACTER, sid, dataset2, error, dcpl_id=dcpl )
CALL check("h5dcreate_f",error,total_error)
- ! /* Retrieve limits for compact/dense attribute storage */
+ ! Retrieve limits for compact/dense attribute storage
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl,error)
CALL check("h5pclose_f", error, total_error)
- ! /* Add attributes to each dataset, until after converting to dense storage */
+ ! Add attributes to each dataset, until after converting to dense storage
DO u = 0, (max_compact * 2) - 1
- ! /* Create attribute name */
+ ! Create attribute name
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
- ! /* Alternate between creating "small" & "big" attributes */
+ ! Alternate between creating "small" & "big" attributes
IF(MOD(u+1,2).EQ.0)THEN
- ! /* Create "small" attribute on first dataset */
+ ! Create "small" attribute on first dataset
CALL h5acreate_f(dataset, attrname, attr_tid, sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u + 1
data_dims(1) = 1
CALL h5awrite_f(attr, attr_tid, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
ELSE
- ! Create "big" attribute on first dataset */
+ ! Create "big" attribute on first dataset
CALL h5acreate_f(dataset, attrname, attr_tid, big_sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! Write data into the attribute */
+ ! Write data into the attribute
data_dims(1) = 1
attr_integer_data(1) = u + 1
@@ -1244,19 +1244,19 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
ENDIF
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Alternate between creating "small" & "big" attributes */
+ ! Alternate between creating "small" & "big" attributes
IF(MOD(u+1,2).EQ.0)THEN
- ! /* Create "small" attribute on second dataset */
+ ! Create "small" attribute on second dataset
CALL h5acreate_f(dataset2, attrname, attr_tid, sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u + 1
data_dims(1) = 1
@@ -1264,12 +1264,12 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
CALL check("h5awrite_f",error,total_error)
ELSE
- ! /* Create "big" attribute on second dataset */
+ ! Create "big" attribute on second dataset
CALL h5acreate_f(dataset2, attrname, attr_tid, big_sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
-! /* Write data into the attribute */
+! Write data into the attribute
attr_integer_data(1) = u + 1
@@ -1278,103 +1278,103 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
! CALL check("h5awrite_f",error,total_error)
-! /* Check refcount for attribute */
+! Check refcount for attribute
ENDIF
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Create new attribute name */
+ ! Create new attribute name
WRITE(chr2,'(I2.2)') u
attrname2 = 'new attr '//chr2
- ! /* Change second dataset's attribute's name */
+ ! Change second dataset's attribute's name
CALL H5Arename_by_name_f(fid, DSET2_NAME, attrname, attrname2, error, lapl_id=H5P_DEFAULT_F)
CALL check("H5Arename_by_name_f",error,total_error)
- ! /* Check refcount on attributes now */
+ ! Check refcount on attributes now
- ! /* Check refcount on renamed attribute */
+ ! Check refcount on renamed attribute
CALL H5Aopen_f(dataset2, attrname2, attr, error, aapl_id=H5P_DEFAULT_F)
CALL check("H5Aopen_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Check refcount on original attribute */
+ ! Check refcount on original attribute
CALL H5Aopen_f(dataset, attrname, attr, error)
CALL check("H5Aopen",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Change second dataset's attribute's name back to original */
+ ! Change second dataset's attribute's name back to original
CALL H5Arename_by_name_f(fid, DSET2_NAME, attrname2, attrname, error)
CALL check("H5Arename_by_name_f",error,total_error)
- ! /* Check refcount on attributes now */
+ ! Check refcount on attributes now
- ! /* Check refcount on renamed attribute */
+ ! Check refcount on renamed attribute
CALL H5Aopen_f(dataset2, attrname, attr, error)
CALL check("H5Aopen",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Check refcount on original attribute */
+ ! Check refcount on original attribute
- ! /* Check refcount on renamed attribute */
+ ! Check refcount on renamed attribute
CALL H5Aopen_f(dataset, attrname, attr, error)
CALL check("H5Aopen",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
- ! /* Close attribute's datatype */
+ ! Close attribute's datatype
CALL h5tclose_f(attr_tid, error)
CALL check("h5tclose_f",error,total_error)
- ! /* Close attribute's datatype */
+ ! Close attribute's datatype
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dataset2, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Unlink datasets with attributes */
+ ! Unlink datasets with attributes
CALL H5Ldelete_f(fid, DSET1_NAME, error, H5P_DEFAULT_F)
CALL check("HLdelete",error,total_error)
CALL H5Ldelete_f(fid, DSET2_NAME, error)
CALL check("HLdelete",error,total_error)
- !/* Unlink committed datatype */
+ ! Unlink committed datatype
IF(test_shared == 2)THEN
CALL H5Ldelete_f(fid, TYPE1_NAME, error)
CALL check("HLdelete_f",error,total_error)
ENDIF
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Check size of file */
+ ! Check size of file
!filesize = h5_get_file_size(FILENAME);
!VERIFY(filesize, empty_filesize, "h5_get_file_size");
ENDDO
- ! /* Close dataspaces */
+ ! Close dataspaces
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
CALL h5sclose_f(big_sid, error)
@@ -1385,12 +1385,12 @@ END SUBROUTINE test_attr_shared_rename
SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_delete_by_idx(): Test basic H5A (attribute) code.
!** Tests deleting attribute by index
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -1402,9 +1402,9 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
INTEGER(HID_T), INTENT(IN) :: fapl
INTEGER, INTENT(INOUT) :: total_error
CHARACTER(LEN=8) :: FileName = "tattr.h5"
- INTEGER(HID_T) :: fid ! /* HDF5 File ID */
- INTEGER(HID_T) :: dcpl ! /* Dataset creation property list ID */
- INTEGER(HID_T) :: sid ! /* Dataspace ID */
+ INTEGER(HID_T) :: fid ! HDF5 File ID
+ INTEGER(HID_T) :: dcpl ! Dataset creation property list ID
+ INTEGER(HID_T) :: sid ! Dataspace ID
CHARACTER(LEN=8) :: DSET1_NAME = "Dataset1"
CHARACTER(LEN=8) :: DSET2_NAME = "Dataset2"
@@ -1442,40 +1442,40 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
INTEGER :: idx_type
INTEGER :: order
- INTEGER :: u ! /* Local index variable */
+ INTEGER :: u ! Local index variable
INTEGER :: Input1
INTEGER(HSIZE_T) :: hzero = 0_HSIZE_T
INTEGER :: minusone = -1
data_dims = 0
- ! /* Create dataspace for dataset & attributes */
+ ! Create dataspace for dataset & attributes
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create dataset creation property list */
+ ! Create dataset creation property list
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Query the attribute creation properties */
+ ! Query the attribute creation properties
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- !/* Loop over operating on different indices on link fields */
+ ! Loop over operating on different indices on link fields
DO idx_type = H5_INDEX_NAME_F, H5_INDEX_CRT_ORDER_F
- ! /* Loop over operating in different orders */
+ ! Loop over operating in different orders
DO order = H5_ITER_INC_F, H5_ITER_DEC_F
- ! /* Loop over using index for creation order value */
+ ! Loop over using index for creation order value
DO i = 1, 2
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Set attribute creation order tracking & indexing for object */
+ ! Set attribute creation order tracking & indexing for object
IF(new_format)THEN
IF(use_index(i))THEN
@@ -1489,7 +1489,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
ENDIF
- ! /* Create datasets */
+ ! Create datasets
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dset1, error, dcpl )
CALL check("h5dcreate_f2",error,total_error)
@@ -1500,7 +1500,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL h5dcreate_f(fid, DSET3_NAME, H5T_NATIVE_CHARACTER, sid, dset3, error, dcpl )
CALL check("h5dcreate_f4",error,total_error)
- ! /* Work on all the datasets */
+ ! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
SELECT CASE (curr_dset)
@@ -1515,36 +1515,36 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
END SELECT
- ! /* Check for deleting non-existant attribute */
+ ! Check for deleting non-existant attribute
!EP CALL H5Adelete_by_idx_f(my_dataset, '.', idx_type, order, 0_HSIZE_T,error, lapl_id=H5P_DEFAULT_F)
CALL H5Adelete_by_idx_f(my_dataset, '.', idx_type, order, hzero,error, lapl_id=H5P_DEFAULT_F)
CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
- ! /* Create attributes, up to limit of compact form */
+ ! Create attributes, up to limit of compact form
DO u = 0, max_compact - 1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
CALL h5acreate_f(my_dataset, attrname, H5T_NATIVE_INTEGER, sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Verify information for new attribute */
+ ! Verify information for new attribute
CALL attr_info_by_idx_check(my_dataset, attrname, INT(u,HSIZE_T), use_index(i), total_error )
ENDDO
- !/* Check for out of bound deletions */
+ ! Check for out of bound deletions
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(u,HSIZE_T), error, lapl_id=H5P_DEFAULT_F)
CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
@@ -1563,11 +1563,11 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
! CALL HDassert(0.AND."Toomanydatasets!")
END SELECT
- ! /* Delete attributes from compact storage */
+ ! Delete attributes from compact storage
DO u = 0, max_compact - 2
- ! /* Delete first attribute in appropriate order */
+ ! Delete first attribute in appropriate order
!EP CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, 0_HSIZE_T, error)
@@ -1575,7 +1575,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL check("H5Adelete_by_idx_f",error,total_error)
- ! /* Verify the attribute information for first attribute in appropriate order */
+ ! Verify the attribute information for first attribute in appropriate order
! HDmemset(&ainfo, 0, sizeof(ainfo));
!EP CALL h5aget_info_by_idx_f(my_dataset, ".", idx_type, order, 0_HSIZE_T, &
@@ -1590,7 +1590,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL VERIFY("H5Aget_info_by_idx_f",corder, max_compact-(u + 2),total_error)
ENDIF
- ! /* Verify the name for first attribute in appropriate order */
+ ! Verify the name for first attribute in appropriate order
size = 7 ! *CHECK* IF NOT THE SAME SIZE
CALL h5aget_name_by_idx_f(my_dataset, ".", idx_type, order,INT(0,hsize_t), &
@@ -1607,7 +1607,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
ENDDO
- ! /* Delete last attribute */
+ ! Delete last attribute
!EP CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, 0_HSIZE_T, error)
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, hzero, error)
@@ -1615,7 +1615,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
ENDDO
-! /* Work on all the datasets */
+! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
SELECT CASE (curr_dset)
@@ -1629,11 +1629,11 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
! CALL HDassert(0.AND."Toomanydatasets!")
END SELECT
- ! /* Create more attributes, to push into dense form */
+ ! Create more attributes, to push into dense form
DO u = 0, (max_compact * 2) - 1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
@@ -1641,24 +1641,24 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
- ! /* Check for out of bound deletion */
+ ! Check for out of bound deletion
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(u,HSIZE_T), error)
CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
ENDDO
- ! /* Work on all the datasets */
+ ! Work on all the datasets
DO curr_dset = 0,NUM_DSETS-1
SELECT CASE (curr_dset)
@@ -1670,15 +1670,15 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
my_dataset = dset3
END SELECT
- ! /* Delete attributes from dense storage */
+ ! Delete attributes from dense storage
DO u = 0, (max_compact * 2) - 1 - 1
- ! /* Delete first attribute in appropriate order */
+ ! Delete first attribute in appropriate order
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(0,HSIZE_T), error)
CALL check("H5Adelete_by_idx_f",error,total_error)
- ! /* Verify the attribute information for first attribute in appropriate order */
+ ! Verify the attribute information for first attribute in appropriate order
CALL h5aget_info_by_idx_f(my_dataset, ".", idx_type, order, INT(0,HSIZE_T), &
f_corder_valid, corder, cset, data_size, error)
@@ -1690,7 +1690,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL VERIFY("H5Aget_info_by_idx_f",corder, ((max_compact * 2) - (u + 2)), total_error)
ENDIF
- ! /* Verify the name for first attribute in appropriate order */
+ ! Verify the name for first attribute in appropriate order
! HDmemset(tmpname, 0, (size_t)NAME_BUF_SIZE);
size = 7 ! *CHECK* if not the correct size
@@ -1709,17 +1709,17 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
ENDDO
- ! /* Delete last attribute */
+ ! Delete last attribute
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(0,HSIZE_T), error, lapl_id=H5P_DEFAULT_F)
CALL check("H5Adelete_by_idx_f",error,total_error)
- !/* Check for deletion on empty attribute storage again */
+ ! Check for deletion on empty attribute storage again
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(0,HSIZE_T), error)
CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
ENDDO
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dset1, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dset2, error)
@@ -1727,18 +1727,18 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
CALL h5dclose_f(dset3, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
ENDDO
ENDDO
ENDDO
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl,error)
CALL check("h5pclose_f", error, total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
@@ -1746,12 +1746,12 @@ END SUBROUTINE test_attr_delete_by_idx
SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_shared_delete(): Test basic H5A (attribute) code.
!** Tests deleting shared attributes in "compact" & "dense" storage
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -1796,77 +1796,77 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
INTEGER(HSIZE_T), DIMENSION(1) :: adims2 = (/1/) ! Attribute dimension
INTEGER :: arank = 1 ! Attribure rank
- ! /* Output message about test being performed */
+ ! Output message about test being performed
- ! /* Initialize "big" attribute DATA */
- ! /* Create dataspace for dataset */
+ ! Initialize "big" attribute DATA
+ ! Create dataspace for dataset
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- !/* Create "big" dataspace for "large" attributes */
+ ! Create "big" dataspace for "large" attributes
CALL h5screate_simple_f(arank, adims2, big_sid, error)
CALL check("h5screate_simple_f",error,total_error)
- ! /* Loop over type of shared components */
+ ! Loop over type of shared components
DO test_shared = 0, 2
- ! /* Make copy of file creation property list */
+ ! Make copy of file creation property list
CALL H5Pcopy_f(fcpl, my_fcpl, error)
CALL check("H5Pcopy",error,total_error)
- ! /* Set up datatype for attributes */
+ ! Set up datatype for attributes
CALL H5Tcopy_f(H5T_NATIVE_INTEGER, attr_tid, error)
CALL check("H5Tcopy",error,total_error)
- ! /* Special setup for each type of shared components */
+ ! Special setup for each type of shared components
IF( test_shared .EQ. 0) THEN
- ! /* Make attributes > 500 bytes shared */
+ ! Make attributes > 500 bytes shared
CALL H5Pset_shared_mesg_nindexes_f(my_fcpl,1,error)
CALL check("H5Pset_shared_mesg_nindexes_f",error, total_error)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 0, H5O_SHMESG_ATTR_FLAG_F, 500,error)
CALL check(" H5Pset_shared_mesg_index_f",error, total_error)
ELSE
- ! /* Set up copy of file creation property list */
+ ! Set up copy of file creation property list
CALL H5Pset_shared_mesg_nindexes_f(my_fcpl,3,error)
- ! /* Make attributes > 500 bytes shared */
+ ! Make attributes > 500 bytes shared
CALL H5Pset_shared_mesg_index_f(my_fcpl, 0, H5O_SHMESG_ATTR_FLAG_F, 500,error)
- ! /* Make datatypes & dataspaces > 1 byte shared (i.e. all of them :-) */
+ ! Make datatypes & dataspaces > 1 byte shared (i.e. all of them :-)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 1, H5O_SHMESG_DTYPE_FLAG_F, 1,error)
CALL H5Pset_shared_mesg_index_f(my_fcpl, 2, H5O_SHMESG_SDSPACE_FLAG_F, 1,error)
ENDIF
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, my_fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Close FCPL copy */
+ ! Close FCPL copy
CALL h5pclose_f(my_fcpl, error)
CALL check("h5pclose_f", error, total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open file */
+ ! Re-open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error,fapl)
CALL check("h5open_f",error,total_error)
- ! /* Commit datatype to file */
+ ! Commit datatype to file
IF(test_shared.EQ.2) THEN
CALL H5Tcommit_f(fid, TYPE1_NAME, attr_tid, error, H5P_DEFAULT_F, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("H5Tcommit",error,total_error)
ENDIF
- ! /* Set up to query the object creation properties */
+ ! Set up to query the object creation properties
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Create datasets */
+ ! Create datasets
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dataset, error, dcpl_id=dcpl )
CALL check("h5dcreate_f",error,total_error)
@@ -1874,42 +1874,42 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
CALL h5dcreate_f(fid, DSET2_NAME, H5T_NATIVE_CHARACTER, sid, dataset2, error, dcpl_id=dcpl )
CALL check("h5dcreate_f",error,total_error)
- ! /* Retrieve limits for compact/dense attribute storage */
+ ! Retrieve limits for compact/dense attribute storage
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl,error)
CALL check("h5pclose_f", error, total_error)
- ! /* Add attributes to each dataset, until after converting to dense storage */
+ ! Add attributes to each dataset, until after converting to dense storage
DO u = 0, (max_compact * 2) - 1
- ! /* Create attribute name */
+ ! Create attribute name
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
- ! /* Alternate between creating "small" & "big" attributes */
+ ! Alternate between creating "small" & "big" attributes
IF(MOD(u+1,2).EQ.0)THEN
- ! /* Create "small" attribute on first dataset */
+ ! Create "small" attribute on first dataset
CALL h5acreate_f(dataset, attrname, attr_tid, sid, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u + 1
data_dims(1) = 1
CALL h5awrite_f(attr, attr_tid, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
ELSE
- ! Create "big" attribute on first dataset */
+ ! Create "big" attribute on first dataset
CALL h5acreate_f(dataset, attrname, attr_tid, big_sid, attr, error)
CALL check("h5acreate_f",error,total_error)
- ! Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u + 1
data_dims(1) = 1
@@ -1918,31 +1918,31 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
ENDIF
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Alternate between creating "small" & "big" attributes */
+ ! Alternate between creating "small" & "big" attributes
IF(MOD(u+1,2).EQ.0)THEN
- ! /* Create "small" attribute on second dataset */
+ ! Create "small" attribute on second dataset
CALL h5acreate_f(dataset2, attrname, attr_tid, sid, attr, error)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
attr_integer_data(1) = u + 1
data_dims(1) = 1
CALL h5awrite_f(attr, attr_tid, attr_integer_data, data_dims, error)
CALL check("h5awrite_f",error,total_error)
ELSE
- ! /* Create "big" attribute on second dataset */
+ ! Create "big" attribute on second dataset
CALL h5acreate_f(dataset2, attrname, attr_tid, big_sid, attr, error, acpl_id=H5P_DEFAULT_F, aapl_id=H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
-! /* Write data into the attribute */
+! Write data into the attribute
attr_integer_data(1) = u + 1
@@ -1951,21 +1951,21 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
CALL check("h5awrite_f",error,total_error)
ENDIF
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
- ! /* Delete attributes from second dataset */
+ ! Delete attributes from second dataset
DO u = 0, max_compact*2-1
- ! /* Create attribute name */
+ ! Create attribute name
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
- ! /* Delete second dataset's attribute */
+ ! Delete second dataset's attribute
CALL H5Adelete_by_name_f(fid, DSET2_NAME, attrname,error,lapl_id=H5P_DEFAULT_F)
CALL check("H5Adelete_by_name", error, total_error)
@@ -1973,31 +1973,31 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
CALL check("h5aopen_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
- ! /* Close attribute's datatype */
+ ! Close attribute's datatype
CALL h5tclose_f(attr_tid, error)
CALL check("h5tclose_f",error,total_error)
- ! /* Close Datasets */
+ ! Close Datasets
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
CALL h5dclose_f(dataset2, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Unlink datasets WITH attributes */
+ ! Unlink datasets WITH attributes
CALL h5ldelete_f(fid, DSET1_NAME, error, H5P_DEFAULT_F)
CALL check("H5Ldelete_f", error, total_error)
CALL h5ldelete_f(fid, DSET2_NAME, error)
CALL check("H5Ldelete_f", error, total_error)
- ! /* Unlink committed datatype */
+ ! Unlink committed datatype
IF( test_shared == 2) THEN
CALL h5ldelete_f(fid, TYPE1_NAME, error)
@@ -2005,13 +2005,13 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
ENDIF
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
ENDDO
- ! /* Close dataspaces */
+ ! Close dataspaces
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
CALL h5sclose_f(big_sid, error)
@@ -2023,12 +2023,12 @@ END SUBROUTINE test_attr_shared_delete
SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_dense_open(): Test basic H5A (attribute) code.
!** Tests opening attributes in "dense" storage
!**
-!****************************************************************/
+!***************************************************************
USE HDF5
USE TH5_MISC
@@ -2064,73 +2064,73 @@ SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error)
data_dims = 0
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open file */
+ ! Re-open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error, fapl)
CALL check("h5open_f",error,total_error)
- ! /* Create dataspace for dataset */
+ ! Create dataspace for dataset
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Query the group creation properties */
+ ! Query the group creation properties
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Enable creation order tracking on attributes, so creation order tests work */
+ ! Enable creation order tracking on attributes, so creation order tests work
CALL H5Pset_attr_creation_order_f(dcpl, H5P_CRT_ORDER_TRACKED_F, error)
CALL check("H5Pset_attr_creation_order",error,total_error)
- ! /* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dataset, error, &
lcpl_id=H5P_DEFAULT_F, dcpl_id=dcpl, dapl_id=H5P_DEFAULT_F)
CALL check("h5dcreate_f",error,total_error)
- ! /* Retrieve limits for compact/dense attribute storage */
+ ! Retrieve limits for compact/dense attribute storage
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f",error,total_error)
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl, error)
CALL check("h5pclose_f",error,total_error)
- ! /* Add attributes, until just before converting to dense storage */
+ ! Add attributes, until just before converting to dense storage
DO u = 0, max_compact - 1
- ! /* Create attribute */
+ ! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
CALL h5acreate_f(dataset, attrname, H5T_NATIVE_INTEGER, sid, attr, error, aapl_id=H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, u, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Verify attributes written so far */
+ ! Verify attributes written so far
CALL test_attr_dense_verify(dataset, u, total_error)
ENDDO
!
-! /* Add one more attribute, to push into "dense" storage */
-! /* Create attribute */
+! Add one more attribute, to push into "dense" storage
+! Create attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
@@ -2138,47 +2138,47 @@ SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error)
CALL h5acreate_f(dataset, attrname, H5T_NATIVE_INTEGER, sid, attr, error, aapl_id=H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write data into the attribute */
+ ! Write data into the attribute
data_dims(1) = 1
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, u, data_dims, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
- ! /* Verify all the attributes written */
+ ! Verify all the attributes written
! ret = test_attr_dense_verify(dataset, (u + 1));
! CHECK(ret, FAIL, "test_attr_dense_verify");
- ! /* CLOSE Dataset */
+ ! CLOSE Dataset
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Unlink dataset with attributes */
+ ! Unlink dataset with attributes
CALL h5ldelete_f(fid, DSET1_NAME, error, H5P_DEFAULT_F)
CALL check("H5Ldelete_f", error, total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Check size of file */
+ ! Check size of file
! filesize = h5_get_file_size(FILENAME);
! VERIFY(filesize, empty_filesize, "h5_get_file_size")
END SUBROUTINE test_attr_dense_open
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_dense_verify(): Test basic H5A (attribute) code.
!** Verify attributes on object
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
@@ -2206,21 +2206,21 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
data_dims = 0
- ! /* Retrieve the current # of reported errors */
+ ! Retrieve the current # of reported errors
! old_nerrs = GetTestNumErrs();
- ! /* Re-open all the attributes by name and verify the data */
+ ! Re-open all the attributes by name and verify the data
DO u = 0, max_attr -1
- ! /* Open attribute */
+ ! Open attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
CALL h5aopen_f(loc_id, attrname, attr, error)
CALL check("h5aopen_f",error,total_error)
- ! /* Read data from the attribute */
+ ! Read data from the attribute
! value = 103
data_dims(1) = 1
@@ -2229,22 +2229,22 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
CALL CHECK("H5Aread_F", error, total_error)
CALL VERIFY("H5Aread_F", value, u, total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
- ! /* Re-open all the attributes by index and verify the data */
+ ! Re-open all the attributes by index and verify the data
DO u=0, max_attr-1
- ! /* Open attribute */
+ ! Open attribute
CALL H5Aopen_by_idx_f(loc_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(u,HSIZE_T), &
attr, error, aapl_id=H5P_DEFAULT_F)
- ! /* Verify Name */
+ ! Verify Name
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
@@ -2255,26 +2255,26 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
WRITE(*,*) 'ERROR: attribute name different: attr_name = ',check_name, ', should be ', attrname
total_error = total_error + 1
ENDIF
- ! /* Read data from the attribute */
+ ! Read data from the attribute
data_dims(1) = 1
CALL h5aread_f(attr, H5T_NATIVE_INTEGER, value, data_dims, error)
CALL CHECK("H5Aread_f", error, total_error)
CALL VERIFY("H5Aread_f", value, u, total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
END SUBROUTINE test_attr_dense_verify
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_corder_create_empty(): Test basic H5A (attribute) code.
!** Tests basic code to create objects with attribute creation order info
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
@@ -2300,30 +2300,30 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
INTEGER :: crt_order_flags
INTEGER :: minusone = -1
- ! /* Output message about test being performed */
+ ! Output message about test being performed
! WRITE(*,*) " - Testing Basic Code for Attributes with Creation Order Info"
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Create dataset creation property list */
+ ! Create dataset creation property list
CALL H5Pcreate_f(H5P_DATASET_CREATE_F,dcpl,error)
CALL check("h5Pcreate_f",error,total_error)
- ! /* Get creation order indexing on object */
+ ! Get creation order indexing on object
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
- ! /* Setting invalid combination of a attribute order creation order indexing on should fail */
+ ! Setting invalid combination of a attribute order creation order indexing on should fail
CALL H5Pset_attr_creation_order_f(dcpl, H5P_CRT_ORDER_INDEXED_F, error)
CALL VERIFY("H5Pset_attr_creation_order_f",error , minusone, total_error)
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
- ! /* Set attribute creation order tracking & indexing for object */
+ ! Set attribute creation order tracking & indexing for object
CALL h5pset_attr_creation_order_f(dcpl, IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), error)
CALL check("H5Pset_attr_creation_order_f",error,total_error)
@@ -2332,72 +2332,72 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , &
IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), total_error)
- ! /* Create dataspace for dataset */
+ ! Create dataspace for dataset
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(fid, DSET1_NAME, H5T_NATIVE_CHARACTER, sid, dataset, error, &
lcpl_id=H5P_DEFAULT_F, dapl_id=H5P_DEFAULT_F, dcpl_id=dcpl)
CALL check("h5dcreate_f",error,total_error)
- ! /* Close dataspace */
+ ! Close dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
- ! /* Close Dataset */
+ ! Close Dataset
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl, error)
CALL check("h5pclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Re-open file */
+ ! Re-open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error, fapl)
CALL check("h5open_f",error,total_error)
- ! /* Open dataset created */
+ ! Open dataset created
CALL h5dopen_f(fid, DSET1_NAME, dataset, error, H5P_DEFAULT_F )
CALL check("h5dopen_f",error,total_error)
- ! /* Retrieve dataset creation property list for group */
+ ! Retrieve dataset creation property list for group
CALL H5Dget_create_plist_f(dataset, dcpl, error)
CALL check("H5Dget_create_plist_f",error,total_error)
- ! /* Query the attribute creation properties */
+ ! Query the attribute creation properties
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , &
IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), total_error )
- ! /* Close property list */
+ ! Close property list
CALL h5pclose_f(dcpl, error)
CALL check("h5pclose_f",error,total_error)
- ! /* Close Dataset */
+ ! Close Dataset
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
END SUBROUTINE test_attr_corder_create_basic
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_basic_write(): Test basic H5A (attribute) code.
!** Tests integer attributes on both datasets and groups
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_attr_basic_write(fapl, total_error)
@@ -2451,97 +2451,97 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
attr_data1a(3) = -99890
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid1, error, H5P_DEFAULT_F, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Create dataspace for dataset */
+ ! Create dataspace for dataset
CALL h5screate_simple_f(rank1, dims1, sid1, error, maxdims1)
CALL check("h5screate_simple_f",error,total_error)
- ! /* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(fid1, DSET1_NAME, H5T_NATIVE_CHARACTER, sid1, dataset, error, H5P_DEFAULT_F, H5P_DEFAULT_F, H5P_DEFAULT_F )
CALL check("h5dcreate_f",error,total_error)
- ! /* Create dataspace for attribute */
+ ! Create dataspace for attribute
CALL h5screate_simple_f(ATTR1_RANK, dimsa, sid2, error)
CALL check("h5screate_simple_f",error,total_error)
- ! /* Try to create an attribute on the file (should create an attribute on root group) */
+ ! Try to create an attribute on the file (should create an attribute on root group)
CALL h5acreate_f(fid1, ATTR1_NAME, H5T_NATIVE_INTEGER, sid2, attr, error, aapl_id=H5P_DEFAULT_F, acpl_id=H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Open the root group */
+ ! Open the root group
CALL H5Gopen_f(fid1, "/", group, error, H5P_DEFAULT_F)
CALL check("H5Gopen_f",error,total_error)
- ! /* Open attribute again */
+ ! Open attribute again
CALL h5aopen_f(group, ATTR1_NAME, attr, error)
CALL check("h5aopen_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Close root group */
+ ! Close root group
CALL H5Gclose_f(group, error)
CALL check("h5gclose_f",error,total_error)
- ! /* Create an attribute for the dataset */
+ ! Create an attribute for the dataset
CALL h5acreate_f(dataset, ATTR1_NAME, H5T_NATIVE_INTEGER, sid2, attr, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write attribute information */
+ ! Write attribute information
CALL h5awrite_f(attr, H5T_NATIVE_INTEGER, attr_data1, dimsa, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Create an another attribute for the dataset */
+ ! Create an another attribute for the dataset
CALL h5acreate_f(dataset, ATTR1A_NAME, H5T_NATIVE_INTEGER, sid2, attr2, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
- ! /* Write attribute information */
+ ! Write attribute information
CALL h5awrite_f(attr2, H5T_NATIVE_INTEGER, attr_data1a, dimsa, error)
CALL check("h5awrite_f",error,total_error)
- ! /* Check storage size for attribute */
+ ! Check storage size for attribute
CALL h5aget_storage_size_f(attr, attr_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
!EP CALL VERIFY("h5aget_storage_size_f", INT(attr_size), 2*HSIZE_T, total_error)
- ! /* Read attribute information immediately, without closing attribute */
+ ! Read attribute information immediately, without closing attribute
CALL h5aread_f(attr, H5T_NATIVE_INTEGER, read_data1, dimsa, error)
CALL check("h5aread_f",error,total_error)
- ! /* Verify values read in */
+ ! Verify values read in
DO i = 1, ATTR1_DIM1
CALL VERIFY('h5aread_f',attr_data1(i),read_data1(i), total_error)
ENDDO
- ! /* CLOSE attribute */
+ ! CLOSE attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr2, error)
CALL check("h5aclose_f",error,total_error)
- ! /* change attribute name */
+ ! change attribute name
CALL H5Arename_f(dataset, ATTR1_NAME, ATTR_TMP_NAME, error)
CALL check("H5Arename_f", error, total_error)
- ! /* Open attribute again */
+ ! Open attribute again
CALL h5aopen_f(dataset, ATTR_TMP_NAME, attr, error)
CALL check("h5aopen_f",error,total_error)
- ! /* Verify new attribute name */
+ ! Verify new attribute name
! Set a deliberately small size
check_name = ' ' ! need to initialize or does not pass test
@@ -2572,7 +2572,7 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
CALL check('H5Aget_name_f',error,total_error)
CALL VerifyString('H5Aget_name_f',chr_exact_size,ATTR_TMP_NAME, total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr, error)
CALL check("h5aclose_f",error,total_error)
@@ -2580,22 +2580,22 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
CALL check("h5sclose_f",error,total_error)
CALL h5sclose_f(sid2, error)
CALL check("h5sclose_f",error,total_error)
- !/* Close Dataset */
+ ! Close Dataset
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid1, error)
CALL check("h5fclose_f",error,total_error)
END SUBROUTINE test_attr_basic_write
-!/****************************************************************
+!***************************************************************
!**
!** test_attr_many(): Test basic H5A (attribute) code.
!** Tests storing lots of attributes
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
@@ -2630,20 +2630,20 @@ SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
data_dims = 0
- !/* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, fcpl, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Create dataspace for attribute */
+ ! Create dataspace for attribute
CALL h5screate_f(H5S_SCALAR_F, sid, error)
CALL check("h5screate_f",error,total_error)
- ! /* Create group for attributes */
+ ! Create group for attributes
CALL H5Gcreate_f(fid, GROUP1_NAME, gid, error)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Create many attributes */
+ ! Create many attributes
IF(new_format)THEN
nattr = 250
@@ -2687,21 +2687,21 @@ SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
ENDDO
- ! /* Close group */
+ ! Close group
CALL H5Gclose_f(gid, error)
CALL check("h5gclose_f",error,total_error)
- ! /* Close file */
+ ! Close file
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- ! /* Close dataspaces */
+ ! Close dataspaces
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f",error,total_error)
END SUBROUTINE test_attr_many
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: attr_open_check
! *
! * Purpose: Check opening attribute on an object
@@ -2713,7 +2713,7 @@ END SUBROUTINE test_attr_many
! * March 21, 2008
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
@@ -2738,10 +2738,10 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
INTEGER(HSIZE_T) :: storage_size ! attributes storage requirements
CHARACTER(LEN=2) :: chr2
INTEGER(HID_T) attr_id
- ! /* Open each attribute on object by index and check that it's the correct one */
+ ! Open each attribute on object by index and check that it's the correct one
DO u = 0, max_attrs-1
- ! /* Open the attribute */
+ ! Open the attribute
WRITE(chr2,'(I2.2)') u
attrname = 'attr '//chr2
@@ -2751,12 +2751,12 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL check("h5aopen_f",error,total_error)
- ! /* Get the attribute's information */
+ ! Get the attribute's information
CALL h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f",error,total_error)
- ! /* Check that the object's attributes are correct */
+ ! Check that the object's attributes are correct
CALL VERIFY("h5aget_info_f.corder",corder,u,total_error)
CALL Verifylogical("h5aget_info_f.corder_valid",f_corder_valid,.TRUE.,total_error)
CALL VERIFY("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
@@ -2766,18 +2766,18 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL VERIFY("h5aget_info_f.data_size", INT(data_size), INT(storage_size), total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr_id, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Open the attribute */
+ ! Open the attribute
CALL H5Aopen_by_name_f(obj_id, ".", attrname, attr_id, error, lapl_id=H5P_DEFAULT_F, aapl_id=H5P_DEFAULT_F)
CALL check("H5Aopen_by_name_f", error, total_error)
CALL h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f",error,total_error)
- ! /* Check the attribute's information */
+ ! Check the attribute's information
CALL VERIFY("h5aget_info_f",corder,u,total_error)
CALL Verifylogical("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
CALL VERIFY("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
@@ -2785,21 +2785,21 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL check("h5aget_storage_size_f",error,total_error)
CALL VERIFY("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr_id, error)
CALL check("h5aclose_f",error,total_error)
- ! /* Open the attribute */
+ ! Open the attribute
CALL H5Aopen_by_name_f(fid, dsetname, attrname, attr_id, error)
CALL check("H5Aopen_by_name_f", error, total_error)
- ! /* Get the attribute's information */
+ ! Get the attribute's information
CALL h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f",error,total_error)
- ! /* Check the attribute's information */
+ ! Check the attribute's information
CALL VERIFY("h5aget_info_f",corder,u,total_error)
CALL Verifylogical("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
CALL VERIFY("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
@@ -2807,7 +2807,7 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL check("h5aget_storage_size_f",error,total_error)
CALL VERIFY("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
- ! /* Close attribute */
+ ! Close attribute
CALL h5aclose_f(attr_id, error)
CALL check("h5aclose_f",error,total_error)
ENDDO
diff --git a/fortran/test/tH5E_F03.f90 b/fortran/test/tH5E_F03.f90
index 82ba27c..a7d45f2 100644
--- a/fortran/test/tH5E_F03.f90
+++ b/fortran/test/tH5E_F03.f90
@@ -39,11 +39,11 @@ MODULE test_my_hdf5_error_handler
CONTAINS
-!/****************************************************************
+!***************************************************************
!**
!** my_hdf5_error_handler: Custom error callback routine.
!**
-!****************************************************************/
+!***************************************************************
INTEGER FUNCTION my_hdf5_error_handler(estack_id, data_inout) bind(C)
@@ -173,10 +173,10 @@ SUBROUTINE test_error(total_error)
!!$#ifdef H5_USE_16_API
!!$ if (old_func != (H5E_auto_t)H5Eprint)
!!$ TEST_ERROR;
-!!$#else /* H5_USE_16_API */
+!!$#else H5_USE_16_API
!!$ if (old_func != (H5E_auto2_t)H5Eprint2)
!!$ TEST_ERROR;
-!!$#endif /* H5_USE_16_API */
+!!$#endif H5_USE_16_API
! set the customized error handling routine
diff --git a/fortran/test/tH5F.f90 b/fortran/test/tH5F.f90
index 931a046..0b3c275 100644
--- a/fortran/test/tH5F.f90
+++ b/fortran/test/tH5F.f90
@@ -141,13 +141,11 @@ CONTAINS
CALL h5fcreate_f(fix_filename1, H5F_ACC_TRUNC_F, file1_id, error)
CALL check("h5fcreate_f",error,total_error)
-
!
!Create group "/G" inside file "mount1.h5".
!
CALL h5gcreate_f(file1_id, "/G", gid, error)
CALL check("h5gcreate_f",error,total_error)
-
!
!close file and group identifiers.
!
diff --git a/fortran/test/tH5G_1_8.f90 b/fortran/test/tH5G_1_8.f90
index 5e6f50a..ab75163 100644
--- a/fortran/test/tH5G_1_8.f90
+++ b/fortran/test/tH5G_1_8.f90
@@ -41,7 +41,7 @@ SUBROUTINE group_test(cleanup, total_error)
LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
- INTEGER(HID_T) :: fapl, fapl2, my_fapl ! /* File access property lists */
+ INTEGER(HID_T) :: fapl, fapl2, my_fapl ! File access property lists
INTEGER :: error, ret_total_error
@@ -49,15 +49,15 @@ SUBROUTINE group_test(cleanup, total_error)
CALL H5Pcreate_f(H5P_FILE_ACCESS_F, fapl, error)
CALL check("H5Pcreate_f",error, total_error)
- ! /* Copy the file access property list */
+ ! Copy the file access property list
CALL H5Pcopy_f(fapl, fapl2, error)
CALL check("H5Pcopy_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(fapl2, H5F_LIBVER_LATEST_F, H5F_LIBVER_LATEST_F, error)
CALL check("H5Pset_libver_bounds_f",error, total_error)
- ! /* Check for FAPL to USE */
+ ! Check for FAPL to USE
my_fapl = fapl2
ret_total_error = 0
@@ -121,7 +121,7 @@ SUBROUTINE group_test(cleanup, total_error)
END SUBROUTINE group_test
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: group_info
! *
! * Purpose: Create a group with creation order indices and test querying
@@ -135,7 +135,7 @@ END SUBROUTINE group_test
! * February 18, 2008
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE group_info(cleanup, fapl, total_error)
@@ -146,21 +146,21 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
- INTEGER(HID_T) :: gcpl_id ! /* Group creation property list ID */
+ INTEGER(HID_T) :: gcpl_id ! Group creation property list ID
- INTEGER :: max_compact ! /* Maximum # of links to store in group compactly */
- INTEGER :: min_dense ! /* Minimum # of links to store in group "densely" */
+ INTEGER :: max_compact ! Maximum # of links to store in group compactly
+ INTEGER :: min_dense ! Minimum # of links to store in group "densely"
- INTEGER :: idx_type ! /* Type of index to operate on */
- INTEGER :: order, iorder ! /* Order within in the index */
- LOGICAL, DIMENSION(1:2) :: use_index = (/.FALSE.,.TRUE./) ! /* Use index on creation order values */
+ INTEGER :: idx_type ! Type of index to operate on
+ INTEGER :: order, iorder ! Order within in the index
+ LOGICAL, DIMENSION(1:2) :: use_index = (/.FALSE.,.TRUE./) ! Use index on creation order values
CHARACTER(LEN=6), PARAMETER :: prefix = 'links0'
- CHARACTER(LEN=9), PARAMETER :: filename = prefix//'.h5' ! /* File name */
+ CHARACTER(LEN=9), PARAMETER :: filename = prefix//'.h5' ! File name
INTEGER :: Input1
- INTEGER(HID_T) :: group_id ! /* Group ID */
- INTEGER(HID_T) :: soft_group_id ! /* Group ID for soft links */
+ INTEGER(HID_T) :: group_id ! Group ID
+ INTEGER(HID_T) :: soft_group_id ! Group ID for soft links
- INTEGER :: i ! /* Local index variables */
+ INTEGER :: i ! Local index variables
INTEGER :: storage_type ! Type of storage for links in group:
! H5G_STORAGE_TYPE_COMPACT: Compact storage
! H5G_STORAGE_TYPE_DENSE: Indexed storage
@@ -168,34 +168,34 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
INTEGER :: nlinks ! Number of links in group
INTEGER :: max_corder ! Current maximum creation order value for group
- INTEGER :: u,v ! /* Local index variables */
+ INTEGER :: u,v ! Local index variables
CHARACTER(LEN=2) :: chr2
- INTEGER(HID_T) :: group_id2, group_id3 ! /* Group IDs */
- CHARACTER(LEN=7) :: objname ! /* Object name */
- CHARACTER(LEN=7) :: objname2 ! /* Object name */
- CHARACTER(LEN=19) :: valname ! /* Link value */
+ INTEGER(HID_T) :: group_id2, group_id3 ! Group IDs
+ CHARACTER(LEN=7) :: objname ! Object name
+ CHARACTER(LEN=7) :: objname2 ! Object name
+ CHARACTER(LEN=19) :: valname ! Link value
CHARACTER(LEN=12), PARAMETER :: CORDER_GROUP_NAME = "corder_group"
CHARACTER(LEN=17), PARAMETER :: CORDER_SOFT_GROUP_NAME = "corder_soft_group"
- INTEGER(HID_T) :: file_id ! /* File ID */
- INTEGER :: error ! /* Generic return value */
+ INTEGER(HID_T) :: file_id ! File ID
+ INTEGER :: error ! Generic return value
LOGICAL :: mounted
LOGICAL :: cleanup
- ! /* Create group creation property list */
+ ! Create group creation property list
CALL H5Pcreate_f(H5P_GROUP_CREATE_F, gcpl_id, error )
CALL check("H5Pcreate_f", error, total_error)
- ! /* Query the group creation properties */
+ ! Query the group creation properties
CALL H5Pget_link_phase_change_f(gcpl_id, max_compact, min_dense, error)
CALL check("H5Pget_link_phase_change_f", error, total_error)
- ! /* Loop over operating on different indices on link fields */
+ ! Loop over operating on different indices on link fields
DO idx_type = H5_INDEX_NAME_F, H5_INDEX_CRT_ORDER_F
- ! /* Loop over operating in different orders */
+ ! Loop over operating in different orders
DO iorder = H5_ITER_INC_F, H5_ITER_NATIVE_F
- ! /* Loop over using index for creation order value */
+ ! Loop over using index for creation order value
DO i = 1, 2
- ! /* Print appropriate test message */
+ ! Print appropriate test message
IF(idx_type == H5_INDEX_CRT_ORDER_F)THEN
IF(iorder == H5_ITER_INC_F)THEN
order = H5_ITER_INC_F
@@ -244,11 +244,11 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
ENDIF
END IF
- ! /* Create file */
+ ! Create file
CALL H5Fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, H5P_DEFAULT_F, fapl)
CALL check("H5Fcreate_f", error, total_error)
- ! /* Set creation order tracking & indexing on group */
+ ! Set creation order tracking & indexing on group
IF(use_index(i))THEN
Input1 = H5P_CRT_ORDER_INDEXED_F
ELSE
@@ -257,103 +257,103 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL H5Pset_link_creation_order_f(gcpl_id, IOR(H5P_CRT_ORDER_TRACKED_F, Input1), error)
CALL check("H5Pset_link_creation_order_f", error, total_error)
- ! /* Create group with creation order tracking on */
+ ! Create group with creation order tracking on
CALL H5Gcreate_f(file_id, CORDER_GROUP_NAME, group_id, error, gcpl_id=gcpl_id)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Create group with creation order tracking on for soft links */
+ ! Create group with creation order tracking on for soft links
CALL H5Gcreate_f(file_id, CORDER_SOFT_GROUP_NAME, soft_group_id, error, &
OBJECT_NAMELEN_DEFAULT_F, H5P_DEFAULT_F, gcpl_id)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Check for out of bound query by index on empty group, should fail */
+ ! Check for out of bound query by index on empty group, should fail
CALL H5Gget_info_by_idx_f(group_id, ".", H5_INDEX_NAME_F, order, INT(0,HSIZE_T), &
storage_type, nlinks, max_corder, error)
CALL VERIFY("H5Gget_info_by_idx_f", error, -1, total_error)
- ! /* Create several links, up to limit of compact form */
+ ! Create several links, up to limit of compact form
DO u = 0, max_compact-1
- ! /* Make name for link */
+ ! Make name for link
WRITE(chr2,'(I2.2)') u
objname = 'fill '//chr2
- ! /* Create hard link, with group object */
+ ! Create hard link, with group object
CALL H5Gcreate_f(group_id, objname, group_id2, error, OBJECT_NAMELEN_DEFAULT_F, H5P_DEFAULT_F, gcpl_id)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_f(group_id2, storage_type, nlinks, max_corder, error, mounted)
CALL check("H5Gget_info_f", error, total_error)
- ! /* Check (new/empty) group's information */
+ ! Check (new/empty) group's information
CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_f", max_corder, 0, total_error)
CALL VERIFY("H5Gget_info_f", nlinks, 0, total_error)
CALL verifyLogical("H5Gget_info_f.mounted", mounted,.FALSE.,total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id, objname, storage_type, nlinks, max_corder, error, mounted=mounted)
CALL check("H5Gget_info_by_name_f", error, total_error)
- ! /* Check (new/empty) group's information */
+ ! Check (new/empty) group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f", max_corder, 0, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, 0, total_error)
CALL verifyLogical("H5Gget_info_by_name_f.mounted", mounted,.FALSE.,total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id2, ".", storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name", error, total_error)
- ! /* Check (new/empty) group's information */
+ ! Check (new/empty) group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f", max_corder, 0, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, 0, total_error)
- ! /* Create objects in new group created */
+ ! Create objects in new group created
DO v = 0, u
- ! /* Make name for link */
+ ! Make name for link
WRITE(chr2,'(I2.2)') v
objname2 = 'fill '//chr2
- ! /* Create hard link, with group object */
+ ! Create hard link, with group object
CALL H5Gcreate_f(group_id2, objname2, group_id3, error )
CALL check("H5Gcreate_f", error, total_error)
- ! /* Close group created */
+ ! Close group created
CALL H5Gclose_f(group_id3, error)
CALL check("H5Gclose_f", error, total_error)
ENDDO
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_f(group_id2, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_f", error, total_error)
- ! /* Check (new) group's information */
+ ! Check (new) group's information
CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id, objname, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
- ! /* Check (new) group's information */
+ ! Check (new) group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f",max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id2, ".", storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
- ! /* Check (new) group's information */
+ ! Check (new) group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
- ! /* Retrieve group's information */
+ ! Retrieve group's information
IF(order.NE.H5_ITER_NATIVE_F)THEN
IF(order.EQ.H5_ITER_INC_F) THEN
CALL H5Gget_info_by_idx_f(group_id, ".", idx_type, order, INT(u,HSIZE_T), &
@@ -366,72 +366,72 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL verifyLogical("H5Gget_info_by_idx_f", mounted,.FALSE.,total_error)
CALL check("H5Gget_info_by_idx_f", error, total_error)
ENDIF
- ! /* Check (new) group's information */
+ ! Check (new) group's information
CALL VERIFY("H5Gget_info_by_idx_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_idx_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_by_idx_f", nlinks, u+1, total_error)
ENDIF
- ! /* Close group created */
+ ! Close group created
CALL H5Gclose_f(group_id2, error)
CALL check("H5Gclose_f", error, total_error)
- ! /* Retrieve main group's information */
+ ! Retrieve main group's information
CALL H5Gget_info_f(group_id, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_f", error, total_error)
- ! /* Check main group's information */
+ ! Check main group's information
CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
- ! /* Retrieve main group's information, by name */
+ ! Retrieve main group's information, by name
CALL H5Gget_info_by_name_f(file_id, CORDER_GROUP_NAME, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
- ! /* Check main group's information */
+ ! Check main group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
- ! /* Retrieve main group's information, by name */
+ ! Retrieve main group's information, by name
CALL H5Gget_info_by_name_f(group_id, ".", storage_type, nlinks, max_corder, error, H5P_DEFAULT_F)
CALL check("H5Gget_info_by_name_f", error, total_error)
- ! /* Check main group's information */
+ ! Check main group's information
CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
- ! /* Create soft link in another group, to objects in main group */
+ ! Create soft link in another group, to objects in main group
valname = CORDER_GROUP_NAME//objname
CALL H5Lcreate_soft_f(valname, soft_group_id, objname, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
- ! /* Retrieve soft link group's information, by name */
+ ! Retrieve soft link group's information, by name
CALL H5Gget_info_f(soft_group_id, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_f", error, total_error)
- ! /* Check soft link group's information */
+ ! Check soft link group's information
CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
ENDDO
- ! /* Close the groups */
+ ! Close the groups
CALL H5Gclose_f(group_id, error)
CALL check("H5Gclose_f", error, total_error)
CALL H5Gclose_f(soft_group_id, error)
CALL check("H5Gclose_f", error, total_error)
- ! /* Close the file */
+ ! Close the file
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f", error, total_error)
ENDDO
ENDDO
ENDDO
- ! /* Free resources */
+ ! Free resources
CALL H5Pclose_f(gcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
@@ -441,7 +441,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
END SUBROUTINE group_info
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: timestamps
! *
! * Purpose: Verify that disabling tracking timestamps for an object
@@ -452,7 +452,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! * February 20, 2008
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE timestamps(cleanup, fapl, total_error)
@@ -463,15 +463,15 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
- INTEGER(HID_T) :: file_id !/* File ID */
- INTEGER(HID_T) :: group_id !/* Group ID */
- INTEGER(HID_T) :: group_id2 !/* Group ID */
- INTEGER(HID_T) :: gcpl_id !/* Group creation property list ID */
- INTEGER(HID_T) :: gcpl_id2 !/* Group creation property list ID */
+ INTEGER(HID_T) :: file_id ! File ID
+ INTEGER(HID_T) :: group_id ! Group ID
+ INTEGER(HID_T) :: group_id2 ! Group ID
+ INTEGER(HID_T) :: gcpl_id ! Group creation property list ID
+ INTEGER(HID_T) :: gcpl_id2 ! Group creation property list ID
CHARACTER(LEN=6), PARAMETER :: prefix = 'links9'
- CHARACTER(LEN=9), PARAMETER :: filename = prefix//'.h5' ! /* File name */
- ! /* Timestamp macros */
+ CHARACTER(LEN=9), PARAMETER :: filename = prefix//'.h5' ! File name
+ ! Timestamp macros
CHARACTER(LEN=10), PARAMETER :: TIMESTAMP_GROUP_1="timestamp1"
CHARACTER(LEN=10), PARAMETER :: TIMESTAMP_GROUP_2="timestamp2"
LOGICAL :: track_times
@@ -479,58 +479,58 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
INTEGER :: error
- ! /* Print test message */
+ ! Print test message
! WRITE(*,*) "timestamps on objects"
- ! /* Create group creation property list */
+ ! Create group creation property list
CALL H5Pcreate_f(H5P_GROUP_CREATE_F, gcpl_id, error )
CALL check("H5Pcreate_f", error, total_error)
- ! /* Query the object timestamp setting */
+ ! Query the object timestamp setting
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- !/* Check default timestamp information */
+ ! Check default timestamp information
CALL VerifyLogical("H5Pget_obj_track_times",track_times,.TRUE.,total_error)
- ! /* Set a non-default object timestamp setting */
+ ! Set a non-default object timestamp setting
CALL H5Pset_obj_track_times_f(gcpl_id, .FALSE., error)
CALL check("H5Pset_obj_track_times_f", error, total_error)
- ! /* Query the object timestamp setting */
+ ! Query the object timestamp setting
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- ! /* Check default timestamp information */
+ ! Check default timestamp information
CALL VerifyLogical("H5Pget_obj_track_times",track_times,.FALSE.,total_error)
- ! /* Create file */
+ ! Create file
!h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
CALL H5Fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, H5P_DEFAULT_F, fapl)
CALL check("h5fcreate_f",error,total_error)
- ! /* Create group with non-default object timestamp setting */
+ ! Create group with non-default object timestamp setting
CALL h5gcreate_f(file_id, TIMESTAMP_GROUP_1, group_id, error, &
OBJECT_NAMELEN_DEFAULT_F, H5P_DEFAULT_F, gcpl_id, H5P_DEFAULT_F)
CALL check("h5fcreate_f",error,total_error)
- ! /* Close the group creation property list */
+ ! Close the group creation property list
CALL H5Pclose_f(gcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
- ! /* Create group with default object timestamp setting */
+ ! Create group with default object timestamp setting
CALL h5gcreate_f(file_id, TIMESTAMP_GROUP_2, group_id2, error, &
OBJECT_NAMELEN_DEFAULT_F, H5P_DEFAULT_F, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5fcreate_f",error,total_error)
- ! /* Retrieve the new groups' creation properties */
+ ! Retrieve the new groups' creation properties
CALL H5Gget_create_plist_f(group_id, gcpl_id, error)
CALL check("H5Gget_create_plist", error, total_error)
CALL H5Gget_create_plist_f(group_id2, gcpl_id2, error)
CALL check("H5Gget_create_plist", error, total_error)
- ! /* Query & verify the object timestamp settings */
+ ! Query & verify the object timestamp settings
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
CALL VerifyLogical("H5Pget_obj_track_times1",track_times,.FALSE.,total_error)
@@ -538,11 +538,11 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
CALL VerifyLogical("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
-! /* Query the object information for each group */
+! Query the object information for each group
! if(H5Oget_info(group_id, &oinfo) < 0) TEST_ERROR
! if(H5Oget_info(group_id2, &oinfo2) < 0) TEST_ERROR
-!!$ /* Sanity check object information for each group */
+!!$ Sanity check object information for each group
!!$ if(oinfo.atime != 0) TEST_ERROR
!!$ if(oinfo.mtime != 0) TEST_ERROR
!!$ if(oinfo.ctime != 0) TEST_ERROR
@@ -556,40 +556,40 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(oinfo.hdr.space.total >= oinfo2.hdr.space.total) TEST_ERROR
!!$ if(oinfo.hdr.space.meta >= oinfo2.hdr.space.meta) TEST_ERROR
- ! /* Close the property lists */
+ ! Close the property lists
CALL H5Pclose_f(gcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
CALL H5Pclose_f(gcpl_id2, error)
CALL check("H5Pclose_f", error, total_error)
- ! /* Close the groups */
+ ! Close the groups
CALL H5Gclose_f(group_id, error)
CALL check("H5Gclose_f", error, total_error)
CALL H5Gclose_f(group_id2, error)
CALL check("H5Gclose_f", error, total_error)
- !/* Close the file */
+ ! Close the file
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f", error, total_error)
- !/* Re-open the file */
+ ! Re-open the file
CALL h5fopen_f(FileName, H5F_ACC_RDONLY_F, file_id, error, H5P_DEFAULT_F)
CALL check("h5fopen_f",error,total_error)
- !/* Open groups */
+ ! Open groups
CALL H5Gopen_f(file_id, TIMESTAMP_GROUP_1, group_id, error) ! with no optional param.
CALL check("H5Gopen_f", error, total_error)
CALL H5Gopen_f(file_id, TIMESTAMP_GROUP_2, group_id2, error, H5P_DEFAULT_F) ! with optional param.
CALL check("H5Gopen_f", error, total_error)
- ! /* Retrieve the new groups' creation properties */
+ ! Retrieve the new groups' creation properties
CALL H5Gget_create_plist_f(group_id, gcpl_id, error)
CALL check("H5Gget_create_plist", error, total_error)
CALL H5Gget_create_plist_f(group_id2, gcpl_id2, error)
CALL check("H5Gget_create_plist", error, total_error)
- ! /* Query & verify the object timestamp settings */
+ ! Query & verify the object timestamp settings
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
@@ -598,11 +598,11 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
CALL VerifyLogical("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
!!$
-!!$ /* Query the object information for each group */
+!!$ Query the object information for each group
!!$ if(H5Oget_info(group_id, &oinfo) < 0) TEST_ERROR
!!$ if(H5Oget_info(group_id2, &oinfo2) < 0) TEST_ERROR
!!$
-!!$ /* Sanity check object information for each group */
+!!$ Sanity check object information for each group
!!$ if(oinfo.atime != 0) TEST_ERROR
!!$ if(oinfo.mtime != 0) TEST_ERROR
!!$ if(oinfo.ctime != 0) TEST_ERROR
@@ -616,19 +616,19 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(oinfo.hdr.space.total >= oinfo2.hdr.space.total) TEST_ERROR
!!$ if(oinfo.hdr.space.meta >= oinfo2.hdr.space.meta) TEST_ERROR
- ! /* Close the property lists */
+ ! Close the property lists
CALL H5Pclose_f(gcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
CALL H5Pclose_f(gcpl_id2, error)
CALL check("H5Pclose_f", error, total_error)
- ! /* Close the groups */
+ ! Close the groups
CALL H5Gclose_f(group_id, error)
CALL check("H5Gclose_f", error, total_error)
CALL H5Gclose_f(group_id2, error)
CALL check("H5Gclose_f", error, total_error)
- !/* Close the file */
+ ! Close the file
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f", error, total_error)
@@ -637,7 +637,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
END SUBROUTINE timestamps
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: mklinks
! *
! * Purpose: Build a file with assorted links.
@@ -649,7 +649,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE mklinks(fapl, total_error)
@@ -680,29 +680,29 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! WRITE(*,*) "link creation (w/new group format)"
- ! /* Create a file */
+ ! Create a file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, file, error, H5P_DEFAULT_F, fapl)
CALL check("mklinks.h5fcreate_f",error,total_error)
CALL h5screate_simple_f(arank, adims2, scalar, error)
CALL check("mklinks.h5screate_simple_f",error,total_error)
- !/* Create a group */
+ ! Create a group
CALL H5Gcreate_f(file, "grp1", grp, error)
CALL check("H5Gcreate_f", error, total_error)
CALL H5Gclose_f(grp, error)
CALL check("h5gclose_f",error,total_error)
- !/* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(file, "d1", H5T_NATIVE_INTEGER, scalar, d1, error)
CALL check("h5dcreate_f",error,total_error)
CALL h5dclose_f(d1, error)
CALL check("h5dclose_f",error,total_error)
- !/* Create a hard link */
+ ! Create a hard link
CALL H5Lcreate_hard_f(file, "d1", INT(H5L_SAME_LOC_F,HID_T), "grp1/hard", error)
CALL check("H5Lcreate_hard_f", error, total_error)
- !/* Create a symbolic link */
+ ! Create a symbolic link
CALL H5Lcreate_soft_f("/d1", file, "grp1/soft",error)
CALL check("H5Lcreate_soft_f", error, total_error)
@@ -718,14 +718,14 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! should be '/d1' + NULL character = 4
CALL VERIFY("H5Lget_info_by_idx_f", INT(val_size), 4, total_error)
- !/* Create a symbolic link to something that doesn't exist */
+ ! Create a symbolic link to something that doesn't exist
CALL H5Lcreate_soft_f("foobar", file, "grp1/dangle",error)
- !/* Create a recursive symbolic link */
+ ! Create a recursive symbolic link
CALL H5Lcreate_soft_f("/grp1/recursive", file, "/grp1/recursive",error)
- !/* Close */
+ ! Close
CALL h5sclose_f(scalar, error)
CALL check("h5sclose_f",error,total_error)
CALL h5fclose_f(file, error)
@@ -733,7 +733,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
END SUBROUTINE mklinks
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: test_move_preserves
! *
! * Purpose: Tests that moving and renaming links preserves their
@@ -745,7 +745,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE test_move_preserves(fapl_id, total_error)
@@ -758,20 +758,20 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
INTEGER(HID_T):: file_id
INTEGER(HID_T):: group_id
- INTEGER(HID_T):: fcpl_id ! /* Group creation property list ID */
+ INTEGER(HID_T):: fcpl_id ! Group creation property list ID
INTEGER(HID_T):: lcpl_id
!H5O_info_t oinfo;
!H5L_info_t linfo;
INTEGER :: old_cset
INTEGER :: old_corder
!H5T_cset_t old_cset;
- !int64_t old_corder; /* Creation order value of link */
+ !int64_t old_corder; Creation order value of link
!time_t old_modification_time;
!time_t curr_time;
- !unsigned crt_order_flags; /* Status of creation order info for GCPL */
+ !unsigned crt_order_flags; Status of creation order info for GCPL
!char filename[1024];
- INTEGER :: crt_order_flags ! /* Status of creation order info for GCPL */
+ INTEGER :: crt_order_flags ! Status of creation order info for GCPL
CHARACTER(LEN=12), PARAMETER :: filename = 'TestLinks.h5'
INTEGER :: cset ! Indicates the character set used for the link’s name.
@@ -789,9 +789,9 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! WRITE(*,*) "moving and copying links preserves their properties (w/new group format)"
- !/* Create a file creation property list with creation order stored for links
+ ! Create a file creation property list with creation order stored for links
! * in the root group
- ! */
+ !
CALL H5Pcreate_f(H5P_FILE_CREATE_F, fcpl_id, error)
CALL check("H5Pcreate_f",error, total_error)
@@ -807,26 +807,26 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Pget_link_creation_order_f",error, total_error)
CALL VERIFY("H5Pget_link_creation_order_f",crt_order_flags, H5P_CRT_ORDER_TRACKED_F, total_error)
- !/* Create file */
- !/* (with creation order tracking for the root group) */
+ ! Create file
+ ! (with creation order tracking for the root group)
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, file_id, error, fcpl_id, fapl_id)
CALL check("h5fcreate_f",error,total_error)
- !/* Create a link creation property list with the UTF-8 character encoding */
+ ! Create a link creation property list with the UTF-8 character encoding
CALL H5Pcreate_f(H5P_LINK_CREATE_F, lcpl_id, error)
CALL check("H5Pcreate_f",error, total_error)
CALL H5Pset_char_encoding_f(lcpl_id, H5T_CSET_UTF8_F, error)
CALL check("H5Pset_char_encoding_f",error, total_error)
- !/* Create a group with that lcpl */
+ ! Create a group with that lcpl
CALL H5Gcreate_f(file_id, "group", group_id, error,lcpl_id=lcpl_id, gcpl_id=H5P_DEFAULT_F, gapl_id=H5P_DEFAULT_F)
CALL check("H5Gcreate_f", error, total_error)
CALL H5Gclose_f(group_id, error)
CALL check("H5Gclose_f", error, total_error)
- ! /* Get the group's link's information */
+ ! Get the group's link's information
CALL H5Lget_info_f(file_id, "group", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error, H5P_DEFAULT_F)
@@ -842,18 +842,18 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! old_modification_time = oinfo.mtime;
-! /* If this test happens too quickly, the times will all be the same. Make sure the time changes. */
+! If this test happens too quickly, the times will all be the same. Make sure the time changes.
! curr_time = HDtime(NULL);
! while(HDtime(NULL) <= curr_time)
! ;
-! /* Close the file and reopen it */
+! Close the file and reopen it
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f", error, total_error)
!!$ if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR
!!$
-!!$ /* Get the link's character set & modification time . They should be unchanged */
+!!$ Get the link's character set & modification time . They should be unchanged
!!$ if(H5Lget_info(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -861,7 +861,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder_valid != TRUE) TEST_ERROR
!!$ if(old_corder != linfo.corder) TEST_ERROR
!!$
-!!$ /* Create a new link to the group. It should have a different creation order value but the same modification time */
+!!$ Create a new link to the group. It should have a different creation order value but the same modification time
!!$ if(H5Lcreate_hard(file_id, "group", file_id, "group2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group2", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -871,10 +871,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder != 1) TEST_ERROR
!!$ if(linfo.cset != H5T_CSET_ASCII) TEST_ERROR
!!$
-!!$ /* Copy the first link to a UTF-8 name.
+!!$ Copy the first link to a UTF-8 name.
!!$ * Its creation order value should be different, but modification time
!!$ * should not change.
-!!$ */
+!!$
!!$ if(H5Lcopy(file_id, "group", file_id, "group_copied", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group_copied", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -882,10 +882,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder_valid != TRUE) TEST_ERROR
!!$ if(linfo.corder != 2) TEST_ERROR
!!$
-!!$ /* Check that its character encoding is UTF-8 */
+!!$ Check that its character encoding is UTF-8
!!$ if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR
!!$
-!!$ /* Move the link with the default property list. */
+!!$ Move the link with the default property list.
!!$ if(H5Lmove(file_id, "group_copied", file_id, "group_copied2", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group_copied2", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -893,10 +893,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder_valid != TRUE) TEST_ERROR
!!$ if(linfo.corder != 3) TEST_ERROR
!!$
-!!$ /* Check that its character encoding is not UTF-8 */
+!!$ Check that its character encoding is not UTF-8
!!$ if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR
!!$
-!!$ /* Check that the original link is unchanged */
+!!$ Check that the original link is unchanged
!!$ if(H5Oget_info_by_name(file_id, "group", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
!!$ if(H5Lget_info(file_id, "group", &linfo, H5P_DEFAULT) < 0) TEST_ERROR
@@ -904,9 +904,9 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(old_corder != linfo.corder) TEST_ERROR
!!$ if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR
!!$
-!!$ /* Move the first link to a UTF-8 name.
+!!$ Move the first link to a UTF-8 name.
!!$ * Its creation order value will change, but modification time should not
-!!$ * change. */
+!!$ * change.
!!$ if(H5Lmove(file_id, "group", file_id, "group_moved", lcpl_id, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group_moved", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -914,10 +914,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder_valid != TRUE) TEST_ERROR
!!$ if(linfo.corder != 4) TEST_ERROR
!!$
-!!$ /* Check that its character encoding is UTF-8 */
+!!$ Check that its character encoding is UTF-8
!!$ if(linfo.cset != H5T_CSET_UTF8) TEST_ERROR
!!$
-!!$ /* Move the link again using the default property list. */
+!!$ Move the link again using the default property list.
!!$ if(H5Lmove(file_id, "group_moved", file_id, "group_moved_again", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(H5Oget_info_by_name(file_id, "group_moved_again", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
!!$ if(old_modification_time != oinfo.mtime) TEST_ERROR
@@ -925,10 +925,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!!$ if(linfo.corder_valid != TRUE) TEST_ERROR
!!$ if(linfo.corder != 5) TEST_ERROR
!!$
-!!$ /* Check that its character encoding is not UTF-8 */
+!!$ Check that its character encoding is not UTF-8
!!$ if(linfo.cset == H5T_CSET_UTF8) TEST_ERROR
- ! /* Close open IDs */
+ ! Close open IDs
CALL H5Pclose_f(fcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
CALL H5Pclose_f(lcpl_id, error)
@@ -938,7 +938,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
END SUBROUTINE test_move_preserves
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: lifecycle
! *
! * Purpose: Test that adding links to a group follow proper "lifecycle"
@@ -953,7 +953,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! * Monday, October 17, 2005
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE lifecycle(cleanup, fapl2, total_error)
@@ -967,14 +967,14 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
INTEGER, PARAMETER :: NAME_BUF_SIZE =7
- INTEGER(HID_T) :: fid !/* File ID */
- INTEGER(HID_T) :: gid !/* Group ID */
- INTEGER(HID_T) :: gcpl !/* Group creation property list ID */
- INTEGER(size_t) :: lheap_size_hint !/* Local heap size hint */
- INTEGER :: max_compact !/* Maximum # of links to store in group compactly */
- INTEGER :: min_dense !/* Minimum # of links to store in group "densely" */
- INTEGER :: est_num_entries !/* Estimated # of entries in group */
- INTEGER :: est_name_len !/* Estimated length of entry name */
+ INTEGER(HID_T) :: fid ! File ID
+ INTEGER(HID_T) :: gid ! Group ID
+ INTEGER(HID_T) :: gcpl ! Group creation property list ID
+ INTEGER(size_t) :: lheap_size_hint ! Local heap size hint
+ INTEGER :: max_compact ! Maximum # of links to store in group compactly
+ INTEGER :: min_dense ! Minimum # of links to store in group "densely"
+ INTEGER :: est_num_entries ! Estimated # of entries in group
+ INTEGER :: est_name_len ! Estimated length of entry name
CHARACTER(LEN=NAME_BUF_SIZE) :: filename = 'fixx.h5'
INTEGER(SIZE_T) :: LIFECYCLE_LOCAL_HEAP_SIZE_HINT = 256
INTEGER :: LIFECYCLE_MAX_COMPACT = 4
@@ -991,29 +991,29 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
! WRITE(*,*) 'group lifecycle'
- ! /* Create file */
+ ! Create file
CALL H5Fcreate_f(filename, H5F_ACC_TRUNC_F, fid, error, access_prp=fapl2)
CALL check("H5Fcreate_f",error,total_error)
- !/* Close file */
+ ! Close file
CALL H5Fclose_f(fid,error)
CALL check("H5Fclose_f",error,total_error)
- ! /* Get size of file as empty */
+ ! Get size of file as empty
! if((empty_size = h5_get_file_size(filename)) < 0) TEST_ERROR
- ! /* Re-open file */
+ ! Re-open file
CALL H5Fopen_f(filename, H5F_ACC_RDWR_F, fid, error,access_prp=fapl2)
CALL check("H5Fopen_f",error,total_error)
- ! /* Set up group creation property list */
+ ! Set up group creation property list
CALL H5Pcreate_f(H5P_GROUP_CREATE_F,gcpl,error)
CALL check("H5Pcreate_f",error,total_error)
- ! /* Query default group creation property settings */
+ ! Query default group creation property settings
CALL H5Pget_local_heap_size_hint_f(gcpl, lheap_size_hint, error)
CALL check("H5Pget_local_heap_size_hint_f",error,total_error)
CALL verify("H5Pget_local_heap_size_hint_f", INT(lheap_size_hint),0,total_error)
@@ -1030,7 +1030,7 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
CALL verify("H5Pget_est_link_info_f", est_name_len, H5G_CRT_GINFO_EST_NAME_LEN,total_error)
- !/* Set GCPL parameters */
+ ! Set GCPL parameters
CALL H5Pset_local_heap_size_hint_f(gcpl, LIFECYCLE_LOCAL_HEAP_SIZE_HINT, error)
CALL check("H5Pset_local_heap_size_hint_f", error, total_error)
@@ -1039,12 +1039,12 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
CALL H5Pset_est_link_info_f(gcpl, LIFECYCLE_EST_NUM_ENTRIES, LIFECYCLE_EST_NAME_LEN, error)
CALL check("H5Pset_est_link_info_f", error, total_error)
- ! /* Create group for testing lifecycle */
+ ! Create group for testing lifecycle
CALL H5Gcreate_f(fid, LIFECYCLE_TOP_GROUP, gid, error, gcpl_id=gcpl)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Query group creation property settings */
+ ! Query group creation property settings
CALL H5Pget_local_heap_size_hint_f(gcpl, lheap_size_hint, error)
CALL check("H5Pget_local_heap_size_hint_f",error,total_error)
@@ -1062,20 +1062,20 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
- !/* Close top group */
+ ! Close top group
CALL H5Gclose_f(gid, error)
CALL check("H5Gclose_f", error, total_error)
- !/* Unlink top group */
+ ! Unlink top group
CALL H5Ldelete_f(fid, LIFECYCLE_TOP_GROUP, error)
CALL check("H5Ldelete_f", error, total_error)
- ! /* Close GCPL */
+ ! Close GCPL
CALL H5Pclose_f(gcpl, error)
CALL check("H5Pclose_f", error, total_error)
- ! /* Close file */
+ ! Close file
CALL H5Fclose_f(fid,error)
CALL check("H5Fclose_f",error,total_error)
@@ -1084,7 +1084,7 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
END SUBROUTINE lifecycle
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: cklinks
! *
! * Purpose: Open the file created in the first step and check that the
@@ -1100,7 +1100,7 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
! * Modifications: Modified original C code
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE cklinks(fapl, total_error)
@@ -1124,25 +1124,25 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
LOGICAL :: Lexists
- ! /* Open the file */
+ ! Open the file
CALL H5Fopen_f(filename, H5F_ACC_RDONLY_F, file, error,access_prp=fapl)
CALL check("H5Fopen_f",error,total_error)
- ! /* Hard link */
+ ! Hard link
!!$ IF(H5Oget_info_by_name(file, "d1", &oinfo1, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
!!$ IF(H5Oget_info_by_name(file, "grp1/hard", &oinfo2, H5P_DEFAULT) < 0) FAIL_STACK_ERROR
!!$ IF(H5O_TYPE_DATASET != oinfo2.type) {
!!$ H5_FAILED();
!!$ printf(" %d: Unexpected object type should have been a dataset\n", __LINE__);
!!$ TEST_ERROR
-!!$ } /* end if */
+!!$ } end if
!!$ if(H5F_addr_ne(oinfo1.addr, oinfo2.addr)) {
!!$ H5_FAILED();
!!$ puts(" Hard link test failed. Link seems not to point to the ");
!!$ puts(" expected file location.");
!!$ TEST_ERROR
-!!$ } /* end if */
+!!$ } end if
CALL H5Lexists_f(file,"d1",Lexists, error)
@@ -1151,14 +1151,14 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
CALL H5Lexists_f(file,"grp1/hard",Lexists, error)
CALL verifylogical("H5Lexists", Lexists,.TRUE.,total_error)
- ! /* Cleanup */
+ ! Cleanup
CALL H5Fclose_f(file,error)
CALL check("H5Fclose_f",error,total_error)
END SUBROUTINE cklinks
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: delete_by_idx
! *
! * Purpose: Create a group with creation order indices and test deleting
@@ -1173,7 +1173,7 @@ END SUBROUTINE cklinks
! * March 3, 2008
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
USE HDF5 ! This module contains all necessary modules
@@ -1183,18 +1183,18 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
- INTEGER(HID_T) :: file_id ! /* File ID */
- INTEGER(HID_T) :: group_id ! /* Group ID */
- INTEGER(HID_T) :: gcpl_id ! /* Group creation property list ID */
+ INTEGER(HID_T) :: file_id ! File ID
+ INTEGER(HID_T) :: group_id ! Group ID
+ INTEGER(HID_T) :: gcpl_id ! Group creation property list ID
- INTEGER :: idx_type ! /* Type of index to operate on */
+ INTEGER :: idx_type ! Type of index to operate on
LOGICAL, DIMENSION(1:2) :: use_index = (/.FALSE.,.TRUE./)
- ! /* Use index on creation order values */
- INTEGER :: max_compact ! /* Maximum # of links to store in group compactly */
- INTEGER :: min_dense ! /* Minimum # of links to store in group "densely" */
+ ! Use index on creation order values
+ INTEGER :: max_compact ! Maximum # of links to store in group compactly
+ INTEGER :: min_dense ! Minimum # of links to store in group "densely"
- CHARACTER(LEN=7) :: objname ! /* Object name */
- CHARACTER(LEN=8) :: filename = 'file0.h5' ! /* File name */
+ CHARACTER(LEN=7) :: objname ! Object name
+ CHARACTER(LEN=8) :: filename = 'file0.h5' ! File name
CHARACTER(LEN=12), PARAMETER :: CORDER_GROUP_NAME = "corder_group"
LOGICAL :: f_corder_valid ! Indicates whether the creation order data is valid for this attribute
@@ -1204,11 +1204,11 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
INTEGER :: link_type
INTEGER(HADDR_T) :: address
- INTEGER :: u ! /* Local index variable */
+ INTEGER :: u ! Local index variable
INTEGER :: Input1, i
INTEGER(HID_T) :: group_id2
INTEGER(HID_T) :: grp
- INTEGER :: iorder ! /* Order within in the index */
+ INTEGER :: iorder ! Order within in the index
CHARACTER(LEN=2) :: chr2
INTEGER :: error
INTEGER :: id_type
@@ -1226,13 +1226,13 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
fix_filename2(i:i) = " "
ENDDO
- ! /* Loop over operating on different indices on link fields */
+ ! Loop over operating on different indices on link fields
DO idx_type = H5_INDEX_NAME_F, H5_INDEX_CRT_ORDER_F
- ! /* Loop over operating in different orders */
+ ! Loop over operating in different orders
DO iorder = H5_ITER_INC_F, H5_ITER_DEC_F
- ! /* Loop over using index for creation order value */
+ ! Loop over using index for creation order value
DO i = 1, 2
- ! /* Print appropriate test message */
+ ! Print appropriate test message
!!$ IF(idx_type == H5_INDEX_CRT_ORDER_F)THEN
!!$ IF(iorder == H5_ITER_INC_F)THEN
!!$ IF(use_index(i))THEN
@@ -1263,15 +1263,15 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
!!$ ENDIF
!!$ ENDIF
- ! /* Create file */
+ ! Create file
CALL H5Fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, access_prp=fapl)
CALL check("delete_by_idx.H5Fcreate_f", error, total_error)
- ! /* Create group creation property list */
+ ! Create group creation property list
CALL H5Pcreate_f(H5P_GROUP_CREATE_F, gcpl_id, error )
CALL check("delete_by_idx.H5Pcreate_f", error, total_error)
- ! /* Set creation order tracking & indexing on group */
+ ! Set creation order tracking & indexing on group
IF(use_index(i))THEN
Input1 = H5P_CRT_ORDER_INDEXED_F
ELSE
@@ -1281,54 +1281,54 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
CALL H5Pset_link_creation_order_f(gcpl_id, IOR(H5P_CRT_ORDER_TRACKED_F, Input1), error)
CALL check("delete_by_idx.H5Pset_link_creation_order_f", error, total_error)
- ! /* Create group with creation order tracking on */
+ ! Create group with creation order tracking on
CALL H5Gcreate_f(file_id, CORDER_GROUP_NAME, group_id, error, gcpl_id=gcpl_id)
CALL check("delete_by_idx.H5Gcreate_f", error, total_error)
- ! /* Query the group creation properties */
+ ! Query the group creation properties
CALL H5Pget_link_phase_change_f(gcpl_id, max_compact, min_dense, error)
CALL check("delete_by_idx.H5Pget_link_phase_change_f", error, total_error)
- ! /* Delete links from one end */
+ ! Delete links from one end
- ! /* Check for deletion on empty group */
+ ! Check for deletion on empty group
CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, INT(0,HSIZE_T), error)
CALL VERIFY("delete_by_idx.H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
- ! /* Create several links, up to limit of compact form */
+ ! Create several links, up to limit of compact form
DO u = 0, max_compact-1
- ! /* Make name for link */
+ ! Make name for link
WRITE(chr2,'(I2.2)') u
objname = 'fill '//chr2
- ! /* Create hard link, with group object */
+ ! Create hard link, with group object
CALL H5Gcreate_f(group_id, objname, group_id2, error)
CALL check("delete_by_idx.H5Gcreate_f", error, total_error)
CALL H5Gclose_f(group_id2, error)
CALL check("delete_by_idx.H5Gclose_f", error, total_error)
- ! /* Verify link information for new link */
+ ! Verify link information for new link
CALL link_info_by_idx_check(group_id, objname, u, &
.TRUE., use_index(i), total_error)
ENDDO
- ! /* Verify state of group (compact) */
+ ! Verify state of group (compact)
! IF(H5G_has_links_test(group_id, NULL) != TRUE) TEST_ERROR
- ! /* Check for out of bound deletion */
+ ! Check for out of bound deletion
htmp =9
!EP CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, INT(u,HSIZE_T), error)
CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, htmp, error)
CALL VERIFY("H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
- ! /* Delete links from compact group */
+ ! Delete links from compact group
DO u = 0, (max_compact - 1) -1
- ! /* Delete first link in appropriate order */
+ ! Delete first link in appropriate order
CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, INT(0,HSIZE_T), error)
CALL check("H5Ldelete_by_idx_f", error, total_error)
- ! /* Verify the link information for first link in appropriate order */
+ ! Verify the link information for first link in appropriate order
! HDmemset(&linfo, 0, sizeof(linfo));
CALL H5Lget_info_by_idx_f(group_id, ".", idx_type, iorder, INT(0,HSIZE_T), &
@@ -1358,7 +1358,7 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
- ! /* Verify the name for first link in appropriate order */
+ ! Verify the name for first link in appropriate order
! HDmemset(tmpname, 0, (size_t)NAME_BUF_SIZE);
!!$ size_tmp = 20
!!$ CALL H5Lget_name_by_idx_f(group_id, ".", idx_type, order, INT(0,HSIZE_T), size_tmp, tmpname, error)
@@ -1374,15 +1374,15 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
!!$ CALL verifyString("delete_by_idx.H5Lget_name_by_idx_f", objname, tmpname, total_error)
ENDDO
- ! /* Close the group */
+ ! Close the group
CALL H5Gclose_f(group_id, error)
CALL check("delete_by_idx.H5Gclose_f", error, total_error)
- !/* Close the group creation property list */
+ ! Close the group creation property list
CALL H5Pclose_f(gcpl_id, error)
CALL check("delete_by_idx.H5Gclose_f", error, total_error)
- !/* Close the file */
+ ! Close the file
CALL H5Fclose_f(file_id, error)
CALL check("delete_by_idx.H5Gclose_f", error, total_error)
@@ -1398,7 +1398,7 @@ END SUBROUTINE delete_by_idx
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: link_info_by_idx_check
! *
! * Purpose: Support routine for link_info_by_idx, to verify the link
@@ -1414,7 +1414,7 @@ END SUBROUTINE delete_by_idx
! * Tuesday, November 7, 2006
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
hard_link, use_index, total_error)
@@ -1436,35 +1436,35 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
INTEGER(HADDR_T) :: address
INTEGER(SIZE_T) :: val_size ! Indicates the size, in the number of characters, of the attribute
- CHARACTER(LEN=7) :: tmpname !/* Temporary link name */
- CHARACTER(LEN=3) :: tmpname_small !/* to small temporary link name */
- CHARACTER(LEN=10) :: tmpname_big !/* to big temporary link name */
+ CHARACTER(LEN=7) :: tmpname ! Temporary link name
+ CHARACTER(LEN=3) :: tmpname_small ! to small temporary link name
+ CHARACTER(LEN=10) :: tmpname_big ! to big temporary link name
- CHARACTER(LEN=7) :: valname !/* Link value name */
+ CHARACTER(LEN=7) :: valname ! Link value name
CHARACTER(LEN=2) :: chr2
INTEGER(SIZE_T) :: size_tmp
INTEGER :: error
- ! /* Make link value for increasing/native order queries */
+ ! Make link value for increasing/native order queries
WRITE(chr2,'(I2.2)') n
valname = 'valn.'//chr2
- ! /* Verify the link information for first link, in increasing creation order */
+ ! Verify the link information for first link, in increasing creation order
! HDmemset(&linfo, 0, sizeof(linfo));
CALL H5Lget_info_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(0,HSIZE_T), &
link_type, f_corder_valid, corder, cset, address, val_size, error)
CALL check("H5Lget_info_by_idx_f", error, total_error)
CALL VERIFY("H5Lget_info_by_idx_f", corder, 0, total_error)
- ! /* Verify the link information for new link, in increasing creation order */
+ ! Verify the link information for new link, in increasing creation order
! HDmemset(&linfo, 0, sizeof(linfo));
CALL H5Lget_info_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(n,HSIZE_T), &
link_type, f_corder_valid, corder, cset, address, val_size, error)
CALL check("H5Lget_info_by_idx_f", error, total_error)
CALL VERIFY("H5Lget_info_by_idx_f", corder, n, total_error)
- ! /* Verify value for new soft link, in increasing creation order */
+ ! Verify value for new soft link, in increasing creation order
!!$ IF(hard_link)THEN
!!$ ! HDmemset(tmpval, 0, (size_t)NAME_BUF_SIZE);
!!$
@@ -1474,7 +1474,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
!!$! IF(HDstrcmp(valname, tmpval)) TEST_ERROR
!!$ ENDIF
- ! /* Verify the name for new link, in increasing creation order */
+ ! Verify the name for new link, in increasing creation order
! HDmemset(tmpname, 0, (size_t)NAME_BUF_SIZE);
! The actual size of tmpname should be 7
@@ -1503,7 +1503,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
END SUBROUTINE link_info_by_idx_check
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: test_lcpl
! *
! * Purpose: Tests Link Creation Property Lists
@@ -1518,7 +1518,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE test_lcpl(cleanup, fapl, total_error)
@@ -1565,35 +1565,35 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
! WRITE(*,*) "link creation property lists (w/new group format)"
- !/* Actually, intermediate group creation is tested elsewhere (tmisc).
- ! * Here we only need to test the character encoding property */
+ ! Actually, intermediate group creation is tested elsewhere (tmisc).
+ ! * Here we only need to test the character encoding property
- !/* Create file */
+ ! Create file
! h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
CALL H5Fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, H5P_DEFAULT_F, fapl)
CALL check("H5Fcreate_f", error, total_error)
- ! /* Create and link a group with the default LCPL */
+ ! Create and link a group with the default LCPL
CALL H5Gcreate_f(file_id, "/group", group_id, error)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Check that its character encoding is the default */
+ ! Check that its character encoding is the default
CALL H5Lget_info_f(file_id, "group", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error, H5P_DEFAULT_F)
-!/* File-wide default character encoding can not yet be set via the file
-! * creation property list and is always ASCII. */
+! File-wide default character encoding can not yet be set via the file
+! * creation property list and is always ASCII.
!#define H5F_DEFAULT_CSET H5T_CSET_ASCII -- FROM H5Fprivate.h --
CALL VERIFY("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
- ! /* Create and commit a datatype with the default LCPL */
+ ! Create and commit a datatype with the default LCPL
CALL h5tcopy_f(H5T_NATIVE_INTEGER, type_id, error)
CALL check("h5tcopy_f",error,total_error)
CALL h5tcommit_f(file_id, "/type", type_id, error)
@@ -1602,19 +1602,19 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL check("h5tclose_f", error, total_error)
- ! /* Check that its character encoding is the default */
+ ! Check that its character encoding is the default
CALL H5Lget_info_f(file_id, "type", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
CALL check("h5tclose_f", error, total_error)
-!/* File-wide default character encoding can not yet be set via the file
-! * creation property list and is always ASCII. */
+! File-wide default character encoding can not yet be set via the file
+! * creation property list and is always ASCII.
!#define H5F_DEFAULT_CSET H5T_CSET_ASCII -- FROM H5Fprivate.h --
CALL verify("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
- !/* Create a dataspace */
+ ! Create a dataspace
CALL h5screate_simple_f(2, dims, space_id, error)
CALL check("h5screate_simple_f",error,total_error)
CALL h5pcreate_f(H5P_DATASET_CREATE_F, crp_list, error)
@@ -1624,7 +1624,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL h5pcreate_f(H5P_DATASET_CREATE_F, crp_list, error)
CALL h5pset_chunk_f(crp_list, 2, dims, error)
- ! /* Create a dataset using the default LCPL */
+ ! Create a dataset using the default LCPL
CALL h5dcreate_f(file_id, "/dataset", H5T_NATIVE_INTEGER, space_id, dset_id, error, crp_list)
CALL check("h5dcreate_f", error, total_error)
@@ -1636,10 +1636,10 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL H5Dopen_f(file_id, "/dataset", dset_id, error)
CALL check("h5dopen_f", error, total_error)
- ! /* Extend the dataset */
+ ! Extend the dataset
CALL H5Dset_extent_f(dset_id, extend_dim, error)
CALL check("H5Dset_extent_f", error, total_error)
- ! /* Verify the dataspaces */
+ ! Verify the dataspaces
!
!Get dataset's dataspace handle.
!
@@ -1658,37 +1658,37 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL VERIFY("H5Sget_simple_extent_dims", tmp1, tmp2, total_error)
ENDDO
- ! /* close data set */
+ ! close data set
CALL h5dclose_f(dset_id, error)
CALL check("h5dclose_f", error, total_error)
- ! /* Check that its character encoding is the default */
+ ! Check that its character encoding is the default
CALL H5Lget_info_f(file_id, "dataset", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
CALL check("H5Lget_info_f", error, total_error)
-!/* File-wide default character encoding can not yet be set via the file
-! * creation property list and is always ASCII. */
+! File-wide default character encoding can not yet be set via the file
+! * creation property list and is always ASCII.
!#define H5F_DEFAULT_CSET H5T_CSET_ASCII -- FROM H5Fprivate.h --
CALL verify("h5tclose_f",cset, H5T_CSET_ASCII_F,total_error)
- !/* Create a link creation property list with the UTF-8 character encoding */
+ ! Create a link creation property list with the UTF-8 character encoding
CALL H5Pcreate_f(H5P_LINK_CREATE_F,lcpl_id,error)
CALL check("h5Pcreate_f",error,total_error)
CALL H5Pset_char_encoding_f(lcpl_id, H5T_CSET_UTF8_F, error)
CALL check("H5Pset_char_encoding_f",error, total_error)
- ! /* Create and link a group with the new LCPL */
+ ! Create and link a group with the new LCPL
CALL H5Gcreate_f(file_id, "/group2", group_id, error,lcpl_id=lcpl_id)
CALL check("H5Gcreate_f", error, total_error)
CALL H5Gclose_f(group_id, error)
CALL check("H5Gclose_f", error, total_error)
- !/* Check that its character encoding is UTF-8 */
+ ! Check that its character encoding is UTF-8
CALL H5Lget_info_f(file_id, "group2", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
@@ -1696,7 +1696,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f",cset, H5T_CSET_UTF8_F,total_error)
- ! /* Create and commit a datatype with the new LCPL */
+ ! Create and commit a datatype with the new LCPL
CALL h5tcopy_f(H5T_NATIVE_INTEGER, type_id, error)
CALL check("h5tcopy_f",error,total_error)
@@ -1706,14 +1706,14 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL check("h5tclose_f", error, total_error)
- !/* Check that its character encoding is UTF-8 */
+ ! Check that its character encoding is UTF-8
CALL H5Lget_info_f(file_id, "type2", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
CALL check("H5Lget_info_f", error, total_error)
CALL verify("H5Lget_info_f",cset, H5T_CSET_UTF8_F,total_error)
- ! /* Create a dataset using the new LCPL */
+ ! Create a dataset using the new LCPL
CALL h5dcreate_f(file_id, "/dataset2", H5T_NATIVE_INTEGER, space_id, dset_id, error,lcpl_id=lcpl_id)
CALL check("h5dcreate_f", error, total_error)
@@ -1724,14 +1724,14 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL check("H5Pget_char_encoding_f", error, total_error)
CALL VERIFY("H5Pget_char_encoding_f", encoding, H5T_CSET_UTF8_F, total_error)
- ! /* Check that its character encoding is UTF-8 */
+ ! Check that its character encoding is UTF-8
CALL H5Lget_info_f(file_id, "dataset2", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
CALL check("H5Lget_info_f", error, total_error)
CALL verify("H5Lget_info_f2",cset, H5T_CSET_UTF8_F,total_error)
- ! /* Create a new link to the dataset with a different character encoding. */
+ ! Create a new link to the dataset with a different character encoding.
CALL H5Pclose_f(lcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
@@ -1746,14 +1746,14 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL check("H5Lexists",error, total_error)
CALL verifylogical("H5Lexists", Lexists,.TRUE.,total_error)
- ! /* Check that its character encoding is ASCII */
+ ! Check that its character encoding is ASCII
CALL H5Lget_info_f(file_id, "/dataset2_link", &
cset, corder, f_corder_valid, link_type, address, val_size, &
error)
CALL check("H5Lget_info_f", error, total_error)
CALL verify("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
- ! /* Check that the first link's encoding hasn't changed */
+ ! Check that the first link's encoding hasn't changed
CALL H5Lget_info_f(file_id, "/dataset2", &
cset, corder, f_corder_valid, link_type, address, val_size, &
@@ -1762,8 +1762,8 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f3",cset, H5T_CSET_UTF8_F,total_error)
- !/* Make sure that LCPLs work properly for other API calls: */
- !/* H5Lcreate_soft */
+ ! Make sure that LCPLs work properly for other API calls:
+ ! H5Lcreate_soft
CALL H5Pset_char_encoding_f(lcpl_id, H5T_CSET_UTF8_F, error)
CALL check("H5Pset_char_encoding_f",error, total_error)
@@ -1777,7 +1777,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f",cset, H5T_CSET_UTF8_F,total_error)
- ! /* H5Lmove */
+ ! H5Lmove
CALL H5Pset_char_encoding_f(lcpl_id, H5T_CSET_ASCII_F, error)
CALL check("H5Pset_char_encoding_f",error, total_error)
@@ -1791,7 +1791,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
- ! /* H5Lcopy */
+ ! H5Lcopy
CALL H5Pset_char_encoding_f(lcpl_id, H5T_CSET_UTF8_F, error)
CALL check("H5Pset_char_encoding_f",error, total_error)
@@ -1805,7 +1805,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f",cset, H5T_CSET_UTF8_F,total_error)
- ! /* H5Lcreate_external */
+ ! H5Lcreate_external
CALL H5Lcreate_external_f("filename", "path", file_id, "extlink", error, lcpl_id)
CALL check("H5Lcreate_external_f", error, total_error)
@@ -1817,7 +1817,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL verify("H5Lget_info_f",cset, H5T_CSET_UTF8_F,total_error)
- ! /* Close open IDs */
+ ! Close open IDs
CALL H5Pclose_f(lcpl_id, error)
CALL check("H5Pclose_f", error, total_error)
@@ -1849,22 +1849,22 @@ SUBROUTINE objcopy(fapl, total_error)
flag = H5O_COPY_SHALLOW_HIERARCHY_F
-!/* Copy the file access property list */
+! Copy the file access property list
CALL H5Pcopy_f(fapl, fapl2, error)
CALL check("H5Pcopy_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(fapl2, H5F_LIBVER_LATEST_F, H5F_LIBVER_LATEST_F, error)
- ! /* create property to pass copy options */
+ ! create property to pass copy options
CALL h5pcreate_f(H5P_OBJECT_COPY_F, pid, error)
CALL check("h5pcreate_f",error, total_error)
- ! /* set options for object copy */
+ ! set options for object copy
CALL H5Pset_copy_object_f(pid, flag, error)
CALL check("H5Pset_copy_object_f",error, total_error)
- ! /* Verify object copy flags */
+ ! Verify object copy flags
CALL H5Pget_copy_object_f(pid, cpy_flags, error)
CALL check("H5Pget_copy_object_f",error, total_error)
CALL VERIFY("H5Pget_copy_object_f", cpy_flags, flag, total_error)
@@ -1878,7 +1878,7 @@ SUBROUTINE objcopy(fapl, total_error)
END SUBROUTINE objcopy
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: lapl_nlinks
! *
! * Purpose: Check that the maximum number of soft links can be adjusted
@@ -1894,7 +1894,7 @@ END SUBROUTINE objcopy
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE lapl_nlinks( fapl, total_error)
@@ -1907,30 +1907,30 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
INTEGER :: error
- INTEGER(HID_T) :: fid = (-1) !/* File ID */
- INTEGER(HID_T) :: gid = (-1), gid2 = (-1) !/* Group IDs */
- INTEGER(HID_T) :: plist = (-1) ! /* lapl ID */
- INTEGER(HID_T) :: tid = (-1) ! /* Other IDs */
- INTEGER(HID_T) :: gapl = (-1), dapl = (-1), tapl = (-1) ! /* Other property lists */
+ INTEGER(HID_T) :: fid = (-1) ! File ID
+ INTEGER(HID_T) :: gid = (-1), gid2 = (-1) ! Group IDs
+ INTEGER(HID_T) :: plist = (-1) ! lapl ID
+ INTEGER(HID_T) :: tid = (-1) ! Other IDs
+ INTEGER(HID_T) :: gapl = (-1), dapl = (-1), tapl = (-1) ! Other property lists
- CHARACTER(LEN=7) :: objname ! /* Object name */
- INTEGER(size_t) :: name_len ! /* Length of object name */
+ CHARACTER(LEN=7) :: objname ! Object name
+ INTEGER(size_t) :: name_len ! Length of object name
CHARACTER(LEN=12) :: filename = 'TestLinks.h5'
- INTEGER(size_t) :: nlinks ! /* nlinks for H5Pset_nlinks */
+ INTEGER(size_t) :: nlinks ! nlinks for H5Pset_nlinks
INTEGER(size_t) :: buf_size = 7
! WRITE(*,*) "adjusting nlinks with LAPL (w/new group format)"
- ! /* Create file */
+ ! Create file
CALL h5fcreate_f(FileName, H5F_ACC_TRUNC_F, fid, error, access_prp=fapl)
CALL check(" lapl_nlinks.h5fcreate_f",error,total_error)
- ! /* Create group with short name in file (used as target for links) */
+ ! Create group with short name in file (used as target for links)
CALL H5Gcreate_f(fid, "final", gid, error)
CALL check(" lapl_nlinks.H5Gcreate_f", error, total_error)
- !/* Create chain of soft links to existing object (limited) */
+ ! Create chain of soft links to existing object (limited)
CALL H5Lcreate_soft_f("final", fid, "soft1", error)
CALL H5Lcreate_soft_f("soft1", fid, "soft2", error)
CALL H5Lcreate_soft_f("soft2", fid, "soft3", error)
@@ -1949,98 +1949,98 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
CALL H5Lcreate_soft_f("soft15", fid, "soft16", error)
CALL H5Lcreate_soft_f("soft16", fid, "soft17", error)
- !/* Close objects */
+ ! Close objects
CALL H5Gclose_f(gid, error)
CALL check("h5gclose_f",error,total_error)
CALL h5fclose_f(fid, error)
CALL check("h5fclose_f",error,total_error)
- !/* Open file */
+ ! Open file
CALL h5fopen_f(FileName, H5F_ACC_RDWR_F, fid, error, fapl)
CALL check("h5open_f",error,total_error)
- !/* Create LAPL with higher-than-usual nlinks value */
- !/* Create a non-default lapl with udata set to point to the first group */
+ ! Create LAPL with higher-than-usual nlinks value
+ ! Create a non-default lapl with udata set to point to the first group
CALL H5Pcreate_f(H5P_LINK_ACCESS_F,plist,error)
CALL check("h5Pcreate_f",error,total_error)
nlinks = 20
CALL H5Pset_nlinks_f(plist, nlinks, error)
CALL check("H5Pset_nlinks_f",error,total_error)
- !/* Ensure that nlinks was set successfully */
+ ! Ensure that nlinks was set successfully
nlinks = 0
CALL H5Pget_nlinks_f(plist, nlinks, error)
CALL check("H5Pset_nlinks_f",error,total_error)
CALL VERIFY("H5Pset_nlinks_f",INT(nlinks), 20, total_error)
- !/* Open object through what is normally too many soft links using
- ! * new property list */
+ ! Open object through what is normally too many soft links using
+ ! * new property list
CALL H5Oopen_f(fid,"soft17",gid,error,plist)
CALL check("H5Oopen_f",error,total_error)
- !/* Check name */
+ ! Check name
CALL h5iget_name_f(gid, objname, buf_size, name_len, error)
CALL check("h5iget_name_f",error,total_error)
CALL VerifyString("h5iget_name_f", TRIM(objname),"/soft17", total_error)
- !/* Create group using soft link */
+ ! Create group using soft link
CALL H5Gcreate_f(gid, "new_soft", gid2, error)
CALL check("H5Gcreate_f", error, total_error)
- ! /* Close groups */
+ ! Close groups
CALL H5Gclose_f(gid2, error)
CALL check("H5Gclose_f", error, total_error)
CALL H5Gclose_f(gid, error)
CALL check("H5Gclose_f", error, total_error)
- !/* Set nlinks to a smaller number */
+ ! Set nlinks to a smaller number
nlinks = 4
CALL H5Pset_nlinks_f(plist, nlinks, error)
CALL check("H5Pset_nlinks_f", error, total_error)
- !/* Ensure that nlinks was set successfully */
+ ! Ensure that nlinks was set successfully
nlinks = 0
CALL H5Pget_nlinks_f(plist, nlinks, error)
CALL check("H5Pget_nlinks_f",error,total_error)
CALL VERIFY("H5Pget_nlinks_f", INT(nlinks), 4, total_error)
- ! /* Try opening through what is now too many soft links */
+ ! Try opening through what is now too many soft links
CALL H5Oopen_f(fid,"soft5",gid,error,plist)
CALL VERIFY("H5Oopen_f", error, -1, total_error) ! should fail
- ! /* Open object through lesser soft link */
+ ! Open object through lesser soft link
CALL H5Oopen_f(fid,"soft4",gid,error,plist)
CALL check("H5Oopen_",error,total_error)
- ! /* Check name */
+ ! Check name
CALL h5iget_name_f(gid, objname, buf_size, name_len, error)
CALL check("h5iget_name_f",error,total_error)
CALL VerifyString("h5iget_name_f", TRIM(objname),"/soft4", total_error)
- ! /* Test other functions that should use a LAPL */
+ ! Test other functions that should use a LAPL
nlinks = 20
CALL H5Pset_nlinks_f(plist, nlinks, error)
CALL check("H5Pset_nlinks_f", error, total_error)
- !/* Try copying and moving when both src and dst contain many soft links
+ ! Try copying and moving when both src and dst contain many soft links
! * using a non-default LAPL
- ! */
+ !
CALL H5Lcopy_f(fid, "soft17", fid, "soft17/newer_soft", error, H5P_DEFAULT_F, plist)
CALL check("H5Lcopy_f",error,total_error)
CALL H5Lmove_f(fid, "soft17/newer_soft", fid, "soft17/newest_soft", error, lapl_id=plist)
CALL check("H5Lmove_f",error, total_error)
- ! /* H5Olink */
+ ! H5Olink
CALL H5Olink_f(gid, fid, "soft17/link_to_group", error, H5P_DEFAULT_F, plist)
CALL check("H5Olink_f", error, total_error)
- ! /* H5Lcreate_hard and H5Lcreate_soft */
+ ! H5Lcreate_hard and H5Lcreate_soft
CALL H5Lcreate_hard_f(fid, "soft17", fid, "soft17/link2_to_group", error, H5P_DEFAULT_F, plist)
CALL check("H5Lcreate_hard_f", error, total_error)
@@ -2048,27 +2048,27 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
CALL H5Lcreate_soft_f("/soft4", fid, "soft17/soft_link",error, H5P_DEFAULT_F, plist)
CALL check("H5Lcreate_soft_f", error, total_error)
- ! /* H5Ldelete */
+ ! H5Ldelete
CALL h5ldelete_f(fid, "soft17/soft_link", error, plist)
CALL check("H5Ldelete_f", error, total_error)
-!!$ /* H5Lget_val and H5Lget_info */
+!!$ H5Lget_val and H5Lget_info
!!$ if(H5Lget_val(fid, "soft17", NULL, (size_t)0, plist) < 0) TEST_ERROR
!!$ if(H5Lget_info(fid, "soft17", NULL, plist) < 0) TEST_ERROR
!!$
- ! /* H5Lcreate_external and H5Lcreate_ud */
+ ! H5Lcreate_external and H5Lcreate_ud
CALL H5Lcreate_external_f("filename", "path", fid, "soft17/extlink", error, H5P_DEFAULT_F, plist)
CALL check("H5Lcreate_external_f", error, total_error)
!!$ if(H5Lregister(UD_rereg_class) < 0) TEST_ERROR
!!$ if(H5Lcreate_ud(fid, "soft17/udlink", UD_HARD_TYPE, NULL, (size_t)0, H5P_DEFAULT, plist) < 0) TEST_ERROR
!!$
- ! /* Close plist */
+ ! Close plist
CALL h5pclose_f(plist, error)
CALL check("h5pclose_f", error, total_error)
- ! /* Create a datatype and dataset as targets inside the group */
+ ! Create a datatype and dataset as targets inside the group
CALL h5tcopy_f(H5T_NATIVE_INTEGER, tid, error)
CALL check("h5tcopy_f",error,total_error)
CALL h5tcommit_f(gid, "datatype", tid, error)
@@ -2083,12 +2083,12 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
!!$ if((did = H5Dcreate2(gid, "dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
!!$ if(H5Dclose(did) < 0) TEST_ERROR
!!$
- !/* Close group */
+ ! Close group
CALL h5gclose_f(gid, error)
CALL check("h5gclose_f",error,total_error)
!!$
-!!$ /* Try to open the objects using too many symlinks with default *APLs */
+!!$ Try to open the objects using too many symlinks with default *APLs
!!$ H5E_BEGIN_TRY {
!!$ if((gid = H5Gopen2(fid, "soft17", H5P_DEFAULT)) >= 0)
!!$ FAIL_PUTS_ERROR(" Should have failed for too many nested links.")
@@ -2098,7 +2098,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
!!$ FAIL_PUTS_ERROR(" Should have failed for too many nested links.")
!!$ } H5E_END_TRY
!!$
- ! /* Create property lists with nlinks set */
+ ! Create property lists with nlinks set
CALL H5Pcreate_f(H5P_GROUP_ACCESS_F,gapl,error)
CALL check("h5Pcreate_f",error,total_error)
@@ -2116,9 +2116,9 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
CALL H5Pset_nlinks_f(dapl, nlinks, error)
CALL check("H5Pset_nlinks_f", error, total_error)
- !/* We should now be able to use these property lists to open each kind
+ ! We should now be able to use these property lists to open each kind
! * of object.
- ! */
+ !
CALL H5Gopen_f(fid, "soft17", gid, error, gapl)
CALL check("H5Gopen_f",error,total_error)
@@ -2128,7 +2128,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
!!$ if((did = H5Dopen2(fid, "soft17/dataset", dapl)) < 0) TEST_ERROR
- ! /* Close objects */
+ ! Close objects
CALL h5gclose_f(gid, error)
CALL check("h5gclose_f",error,total_error)
@@ -2137,7 +2137,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
!!$ if(H5Dclose(did) < 0) TEST_ERROR
!!$
- ! /* Close plists */
+ ! Close plists
CALL h5pclose_f(gapl, error)
CALL check("h5pclose_f", error, total_error)
@@ -2146,11 +2146,11 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
!!$ if(H5Pclose(dapl) < 0) TEST_ERROR
!!$
-!!$ /* Unregister UD hard link class */
+!!$ Unregister UD hard link class
!!$ if(H5Lunregister(UD_HARD_TYPE) < 0) TEST_ERROR
!!$
- ! /* Close file */
+ ! Close file
CALL H5Fclose_f(fid, error)
CALL check("H5Fclose_f", error, total_error)
diff --git a/fortran/test/tH5MISC_1_8.f90 b/fortran/test/tH5MISC_1_8.f90
index efc350e..efaf594 100644
--- a/fortran/test/tH5MISC_1_8.f90
+++ b/fortran/test/tH5MISC_1_8.f90
@@ -80,38 +80,36 @@ SUBROUTINE dtransform(cleanup, total_error)
IF(cleanup) CALL h5_cleanup_f("dtransform", H5P_DEFAULT_F, error)
CALL check("h5_cleanup_f", error, total_error)
-
END SUBROUTINE dtransform
-!/****************************************************************
+!***************************************************************
!**
!** test_genprop_basic_class(): Test basic generic property list code.
!** Tests creating new generic classes.
!**
-!****************************************************************/
+!***************************************************************
-SUBROUTINE test_genprop_basic_class(cleanup, total_error)
+SUBROUTINE test_genprop_basic_class(total_error)
USE HDF5 ! This module contains all necessary modules
USE TH5_MISC
IMPLICIT NONE
- LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
- INTEGER(HID_T) :: cid1 !/* Generic Property class ID */
- INTEGER(HID_T) :: cid2 !/* Generic Property class ID */
+ INTEGER(HID_T) :: cid1 ! Generic Property class ID
+ INTEGER(HID_T) :: cid2 ! Generic Property class ID
CHARACTER(LEN=7) :: CLASS1_NAME = "Class 1"
- CHARACTER(LEN=7) :: name ! /* Name of class */
- CHARACTER(LEN=10) :: name_big ! /* Name of class bigger buffer */
- CHARACTER(LEN=4) :: name_small ! /* Name of class smaller buffer*/
+ CHARACTER(LEN=7) :: name ! Name of class
+ CHARACTER(LEN=10) :: name_big ! Name of class bigger buffer
+ CHARACTER(LEN=4) :: name_small ! Name of class smaller buffer
INTEGER :: error
INTEGER :: size
LOGICAL :: flag
- !/* Output message about test being performed */
+ ! Output message about test being performed
!WRITE(*,*) "Testing Basic Generic Property List Class Creation Functionality"
@@ -121,11 +119,11 @@ SUBROUTINE test_genprop_basic_class(cleanup, total_error)
CALL H5Pget_class_name_f(cid1, name, size, error)
CALL VERIFY("H5Pget_class_name", error, -1, error)
- ! /* Create a new generic class, derived from the root of the class hierarchy */
+ ! Create a new generic class, derived from the root of the class hierarchy
CALL H5Pcreate_class_f(H5P_ROOT_F, CLASS1_NAME, cid1, error)
CALL check("H5Pcreate_class", error, total_error)
- ! /* Check class name */
+ ! Check class name
CALL H5Pget_class_name_f(cid1, name, size, error)
CALL check("H5Pget_class_name", error, total_error)
CALL VERIFY("H5Pget_class_name", size,7,error)
@@ -135,7 +133,7 @@ SUBROUTINE test_genprop_basic_class(cleanup, total_error)
total_error = total_error + 1
ENDIF
- ! /* Check class name smaller buffer*/
+ ! Check class name smaller buffer
CALL H5Pget_class_name_f(cid1, name_small, size, error)
CALL check("H5Pget_class_name", error, total_error)
CALL VERIFY("H5Pget_class_name", size,7,error)
@@ -145,7 +143,7 @@ SUBROUTINE test_genprop_basic_class(cleanup, total_error)
total_error = total_error + 1
ENDIF
- ! /* Check class name bigger buffer*/
+ ! Check class name bigger buffer
CALL H5Pget_class_name_f(cid1, name_big, size, error)
CALL check("H5Pget_class_name", error, total_error)
CALL VERIFY("H5Pget_class_name", size,7,error)
@@ -155,56 +153,55 @@ SUBROUTINE test_genprop_basic_class(cleanup, total_error)
total_error = total_error + 1
ENDIF
- ! /* Check class parent */
+ ! Check class parent
CALL H5Pget_class_parent_f(cid1, cid2, error)
CALL check("H5Pget_class_parent_f", error, total_error)
- ! /* Verify class parent correct */
+ ! Verify class parent correct
CALL H5Pequal_f(cid2, H5P_ROOT_F, flag, error)
CALL check("H5Pequal_f", error, total_error)
CALL verifylogical("H5Pequal_f", flag, .TRUE., total_error)
- ! /* Make certain false postives aren't being returned */
+ ! Make certain false postives aren't being returned
CALL H5Pequal_f(cid2, H5P_FILE_CREATE_F, flag, error)
CALL check("H5Pequal_f", error, total_error)
CALL verifylogical("H5Pequal_f", flag, .FALSE., total_error)
- !/* Close parent class */
+ ! Close parent class
CALL H5Pclose_class_f(cid2, error)
CALL check("H5Pclose_class_f", error, total_error)
- !/* Close class */
+ ! Close class
CALL H5Pclose_class_f(cid1, error)
CALL check("H5Pclose_class_f", error, total_error)
END SUBROUTINE test_genprop_basic_class
-SUBROUTINE test_h5s_encode(cleanup, total_error)
+SUBROUTINE test_h5s_encode(total_error)
-!/****************************************************************
+!***************************************************************
!**
!** test_h5s_encode(): Test H5S (dataspace) encoding and decoding.
!**
-!****************************************************************/
+!***************************************************************
USE HDF5 ! This module contains all necessary modules
USE TH5_MISC
IMPLICIT NONE
- LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
- INTEGER(hid_t) :: sid1, sid3! /* Dataspace ID */
+ INTEGER(hid_t) :: sid1, sid3! Dataspace ID
INTEGER(hid_t) :: decoded_sid1, decoded_sid3
- INTEGER :: rank !/* LOGICAL rank of dataspace */
+ INTEGER :: rank ! LOGICAL rank of dataspace
INTEGER(size_t) :: sbuf_size=0, scalar_size=0
! Make sure the size is large
CHARACTER(LEN=288) :: sbuf
CHARACTER(LEN=288) :: scalar_buf
- INTEGER(hsize_t) :: n ! /* Number of dataspace elements */
+ INTEGER(hsize_t) :: n ! Number of dataspace elements
INTEGER(hsize_t), DIMENSION(1:3) :: start = (/0, 0, 0/)
INTEGER(hsize_t), DIMENSION(1:3) :: stride = (/2, 5, 3/)
@@ -221,10 +218,10 @@ SUBROUTINE test_h5s_encode(cleanup, total_error)
INTEGER :: SPACE1_RANK = 3
INTEGER :: error
- !/*-------------------------------------------------------------------------
+ !-------------------------------------------------------------------------
! * Test encoding and decoding of simple dataspace and hyperslab selection.
! *-------------------------------------------------------------------------
- ! */
+ !
CALL H5Screate_simple_f(SPACE1_RANK, dims1, sid1, error)
CALL check("H5Screate_simple", error, total_error)
@@ -234,14 +231,14 @@ SUBROUTINE test_h5s_encode(cleanup, total_error)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Encode simple data space in a buffer */
+ ! Encode simple data space in a buffer
! First find the buffer size
CALL H5Sencode_f(sid1, sbuf, sbuf_size, error)
CALL check("H5Sencode", error, total_error)
- ! /* Try decoding bogus buffer */
+ ! Try decoding bogus buffer
CALL H5Sdecode_f(sbuf, decoded_sid1, error)
CALL VERIFY("H5Sdecode", error, -1, total_error)
@@ -249,12 +246,12 @@ SUBROUTINE test_h5s_encode(cleanup, total_error)
CALL H5Sencode_f(sid1, sbuf, sbuf_size, error)
CALL check("H5Sencode", error, total_error)
- ! /* Decode from the dataspace buffer and return an object handle */
+ ! Decode from the dataspace buffer and return an object handle
CALL H5Sdecode_f(sbuf, decoded_sid1, error)
CALL check("H5Sdecode", error, total_error)
- ! /* Verify the decoded dataspace */
+ ! Verify the decoded dataspace
CALL h5sget_simple_extent_npoints_f(decoded_sid1, n, error)
CALL check("h5sget_simple_extent_npoints_f", error, total_error)
CALL VERIFY("h5sget_simple_extent_npoints_f", INT(n), INT(SPACE1_DIM1 * SPACE1_DIM2 * SPACE1_DIM3), &
@@ -269,16 +266,16 @@ SUBROUTINE test_h5s_encode(cleanup, total_error)
CALL h5sclose_f(decoded_sid1, error)
CALL check("h5sclose_f", error, total_error)
- ! /*-------------------------------------------------------------------------
+ ! -------------------------------------------------------------------------
! * Test encoding and decoding of scalar dataspace.
! *-------------------------------------------------------------------------
- ! */
- ! /* Create scalar dataspace */
+ !
+ ! Create scalar dataspace
CALL H5Screate_f(H5S_SCALAR_F, sid3, error)
CALL check("H5Screate_f",error, total_error)
- ! /* Encode scalar data space in a buffer */
+ ! Encode scalar data space in a buffer
! First find the buffer size
CALL H5Sencode_f(sid3, scalar_buf, scalar_size, error)
@@ -290,19 +287,19 @@ SUBROUTINE test_h5s_encode(cleanup, total_error)
CALL check("H5Sencode_f", error, total_error)
- ! /* Decode from the dataspace buffer and return an object handle */
+ ! Decode from the dataspace buffer and return an object handle
CALL H5Sdecode_f(scalar_buf, decoded_sid3, error)
CALL check("H5Sdecode_f", error, total_error)
- ! /* Verify extent type */
+ ! Verify extent type
CALL H5Sget_simple_extent_type_f(decoded_sid3, space_type, error)
CALL check("H5Sget_simple_extent_type_f", error, total_error)
CALL VERIFY("H5Sget_simple_extent_type_f", space_type, H5S_SCALAR_F, total_error)
- ! /* Verify decoded dataspace */
+ ! Verify decoded dataspace
CALL h5sget_simple_extent_npoints_f(decoded_sid3, n, error)
CALL check("h5sget_simple_extent_npoints_f", error, total_error)
CALL VERIFY("h5sget_simple_extent_npoints_f", INT(n), 1, total_error)
@@ -469,6 +466,9 @@ SUBROUTINE test_scaleoffset(cleanup, total_error )
CALL H5Fclose_f(file, error)
CALL CHECK(" H5Fclose_f", error, total_error)
+ IF(cleanup) CALL h5_cleanup_f("h5scaleoffset", H5P_DEFAULT_F, error)
+ CALL check("h5_cleanup_f", error, total_error)
+
END SUBROUTINE test_scaleoffset
END MODULE TH5MISC_1_8
diff --git a/fortran/test/tH5O.f90 b/fortran/test/tH5O.f90
index 8672e3c..99d4c22 100644
--- a/fortran/test/tH5O.f90
+++ b/fortran/test/tH5O.f90
@@ -49,11 +49,11 @@ SUBROUTINE test_h5o(cleanup, total_error)
END SUBROUTINE test_h5o
-!/****************************************************************
+!***************************************************************
!**
!** test_h5o_link: Test creating link to object
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_h5o_link(total_error)
@@ -80,10 +80,10 @@ SUBROUTINE test_h5o_link(total_error)
INTEGER, PARAMETER :: TRUE = 1
- LOGICAL :: committed ! /* Whether the named datatype is committed
+ LOGICAL :: committed ! Whether the named datatype is committed
INTEGER :: i, j
- INTEGER :: error ! /* Value returned from API calls
+ 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"
diff --git a/fortran/test/tH5O_F03.f90 b/fortran/test/tH5O_F03.f90
index b7003b3..8e014f4 100644
--- a/fortran/test/tH5O_F03.f90
+++ b/fortran/test/tH5O_F03.f90
@@ -116,11 +116,11 @@ END MODULE visit_cb
MODULE TH5O_F03
CONTAINS
-!/****************************************************************
+!***************************************************************
!**
!** test_h5o_refcount(): Test H5O refcounting functions.
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_h5o_refcount(total_error)
diff --git a/fortran/test/tH5P.f90 b/fortran/test/tH5P.f90
index 8b48be6..7dcc580 100644
--- a/fortran/test/tH5P.f90
+++ b/fortran/test/tH5P.f90
@@ -450,8 +450,6 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
INTEGER(size_t) rdcc_nelmts
INTEGER(size_t) rdcc_nbytes
REAL :: rdcc_w0
- LOGICAL :: differ
-
CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
IF (error .NE. 0) THEN
diff --git a/fortran/test/tH5P_F03.f90 b/fortran/test/tH5P_F03.f90
index 945d0a5..56f9679 100644
--- a/fortran/test/tH5P_F03.f90
+++ b/fortran/test/tH5P_F03.f90
@@ -43,7 +43,7 @@ MODULE test_genprop_cls_cb1_mod
USE ISO_C_BINDING
IMPLICIT NONE
- TYPE, BIND(C) :: cop_cb_struct_ ! /* Struct for iterations */
+ TYPE, BIND(C) :: cop_cb_struct_ ! Struct for iterations
INTEGER :: count
INTEGER(HID_T) :: id
END TYPE cop_cb_struct_
@@ -73,7 +73,7 @@ MODULE TH5P_F03
CONTAINS
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: test_create
! *
! * Purpose: Tests H5Pset_fill_value_f and H5Pget_fill_value_f
@@ -88,7 +88,7 @@ CONTAINS
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE test_create(total_error)
@@ -116,9 +116,9 @@ SUBROUTINE test_create(total_error)
REAL :: rfill
REAL(KIND=dp) :: dpfill
- !/*
+ !
! * Create a file.
- ! */
+ !
CALL h5fcreate_f(filename,H5F_ACC_TRUNC_F,file,error)
CALL check("h5fcreate_f", error, total_error)
@@ -131,7 +131,7 @@ SUBROUTINE test_create(total_error)
CALL h5pset_chunk_f(dcpl, 5, ch_size, error)
CALL check("h5pset_chunk_f",error, total_error)
- ! /* Create a compound datatype */
+ ! Create a compound datatype
CALL h5tcreate_f(H5T_COMPOUND_F, H5_SIZEOF(fill_ctype), comp_type_id, error)
CALL check("h5tcreate_f", error, total_error)
h5off = H5OFFSETOF(C_LOC(fill_ctype), C_LOC(fill_ctype%a))
@@ -152,7 +152,7 @@ SUBROUTINE test_create(total_error)
CALL H5Pset_fill_time_f(dcpl, H5D_FILL_TIME_ALLOC_F, error)
CALL check("H5Pset_fill_time_f",error, total_error)
- ! /* Compound datatype test */
+ ! Compound datatype test
f_ptr = C_LOC(fill_ctype)
@@ -213,7 +213,7 @@ SUBROUTINE test_create(total_error)
CALL h5fclose_f(file,error)
CALL check("h5fclose_f", error, total_error)
- ! /* Open the file and get the dataset fill value from each dataset */
+ ! Open the file and get the dataset fill value from each dataset
CALL H5Pcreate_f(H5P_FILE_ACCESS_F, fapl, error)
CALL check("H5Pcreate_f",error, total_error)
@@ -223,7 +223,7 @@ SUBROUTINE test_create(total_error)
CALL h5fopen_f (FILENAME, H5F_ACC_RDONLY_F, file, error, fapl)
CALL check("h5fopen_f", error, total_error)
- !/* Compound datatype test */
+ ! Compound datatype test
CALL h5dopen_f(file, "dset9", dset9, error)
CALL check("h5dopen_f", error, total_error)
@@ -277,14 +277,13 @@ SUBROUTINE test_genprop_class_callback(total_error)
INTEGER, INTENT(INOUT) :: total_error
- INTEGER(hid_t) :: cid1 !/* Generic Property class ID */
- INTEGER(hid_t) :: lid1 !/* Generic Property list ID */
- INTEGER(hid_t) :: lid2 !/* 2nd Generic Property list ID */
- INTEGER(size_t) :: nprops !/* Number of properties in class */
+ INTEGER(hid_t) :: cid1, cid2 ! Generic Property class ID
+ INTEGER(hid_t) :: lid1, lid2 ! Generic Property list ID
+ INTEGER(size_t) :: nprops ! Number of properties in class
TYPE(cop_cb_struct_), TARGET :: crt_cb_struct, cls_cb_struct
-
- CHARACTER(LEN=7) :: CLASS1_NAME = "Class 1"
+ INTEGER :: CLASS1_NAME_SIZE = 7 ! length of class string
+ CHARACTER(LEN=7) :: CLASS1_NAME = "Class 1", CLASS1_NAME_BUF
TYPE(C_FUNPTR) :: f1, f5
TYPE(C_PTR) :: f2, f6
@@ -301,7 +300,8 @@ SUBROUTINE test_genprop_class_callback(total_error)
INTEGER :: PROP3_DEF_VALUE = 10
INTEGER :: PROP4_DEF_VALUE = 10
- INTEGER :: error ! /* Generic RETURN value */
+ INTEGER :: error ! Generic RETURN value
+ LOGICAL :: flag ! for tests
f1 = C_FUNLOC(test_genprop_cls_cb1_f)
f5 = C_FUNLOC(test_genprop_cls_cb1_f)
@@ -309,79 +309,100 @@ SUBROUTINE test_genprop_class_callback(total_error)
f2 = C_LOC(crt_cb_struct)
f6 = C_LOC(cls_cb_struct)
- !/* Create a new generic class, derived from the root of the class hierarchy */
- CALL h5pcreate_class_f(h5p_ROOT_F,CLASS1_NAME, cid1, error, f1, f2, c_null_funptr, c_null_ptr, f5, f6)
+ ! Create a new generic class, derived from the root of the class hierarchy
+ CALL h5pcreate_class_f(h5p_ROOT_F, CLASS1_NAME, cid1, error, f1, f2, c_null_funptr, c_null_ptr, f5, f6)
CALL check("h5pcreate_class_f", error, total_error)
- !/* Insert first property into class (with no callbacks) */
+ ! Insert first property into class (with no callbacks)
CALL h5pregister_f(cid1, PROP1_NAME, PROP1_SIZE, PROP1_DEF_VALUE, error)
CALL check("h5pregister_f", error, total_error)
- !/* Insert second property into class (with no callbacks) */
+ ! Insert second property into class (with no callbacks)
CALL h5pregister_f(cid1, PROP2_NAME, PROP2_SIZE, PROP2_DEF_VALUE, error)
CALL check("h5pregister_f", error, total_error)
- !/* Insert third property into class (with no callbacks) */
+ ! Insert third property into class (with no callbacks)
CALL h5pregister_f(cid1, PROP3_NAME, PROP3_SIZE, PROP3_DEF_VALUE, error)
CALL check("h5pregister_f", error, total_error)
- !/* Insert fourth property into class (with no callbacks) */
+ ! Insert fourth property into class (with no callbacks)
CALL h5pregister_f(cid1, PROP4_NAME, PROP4_SIZE, PROP4_DEF_VALUE, error)
CALL check("h5pregister_f", error, total_error)
- ! /* Check the number of properties in class */
+ ! Check the number of properties in class
CALL h5pget_nprops_f(cid1, nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
- ! /* Initialize class callback structs */
+ ! Initialize class callback structs
crt_cb_struct%count = 0
crt_cb_struct%id = -1
cls_cb_struct%count = 0
cls_cb_struct%id = -1
- !/* Create a property list from the class */
+ ! Create a property list from the class
CALL h5pcreate_f(cid1, lid1, error)
CALL check("h5pcreate_f", error, total_error)
- !/* Verify that the creation callback occurred */
+ ! Get the list's class
+ CALL H5Pget_class_f(lid1, cid2, error)
+ CALL check("H5Pget_class_f", error, total_error)
+
+ ! Check that the list's class is correct
+ CALL H5Pequal_f(cid2, cid1, flag, error)
+ CALL check("H5Pequal_f", error, total_error)
+ CALL verifylogical("H5Pequal_f", flag, .TRUE., total_error)
+
+ ! Check the class name
+ CALL H5Pget_class_name_f(cid2, CLASS1_NAME_BUF, CLASS1_NAME_SIZE, error)
+ CALL check("H5Pget_class_name_f", error, total_error)
+ CALL verifystring("H5Pget_class_name_f", CLASS1_NAME_BUF, CLASS1_NAME, error)
+ IF(error.NE.0)THEN
+ WRITE(*,*) 'Class names do not match! name=',CLASS1_NAME_BUF, 'CLASS1_NAME=',CLASS1_NAME
+ total_error = total_error + 1
+ ENDIF
+ ! Close class
+ CALL h5pclose_class_f(cid2, error)
+ CALL check("h5pclose_class_f", error, total_error)
+
+ ! Verify that the creation callback occurred
CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 1, total_error)
- CALL VERIFY("h5pcreate_f", INT(crt_cb_struct%id), INT(lid1), total_error)
+ CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid1, total_error)
- ! /* Check the number of properties in list */
+ ! Check the number of properties in list
CALL h5pget_nprops_f(lid1,nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
- ! /* Create another property list from the class */
+ ! Create another property list from the class
CALL h5pcreate_f(cid1, lid2, error)
CALL check("h5pcreate_f", error, total_error)
- ! /* Verify that the creation callback occurred */
+ ! Verify that the creation callback occurred
CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 2, total_error)
- CALL VERIFY("h5pcreate_f", INT(crt_cb_struct%id), INT(lid2), total_error)
+ CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid2, total_error)
- ! /* Check the number of properties in list */
+ ! Check the number of properties in list
CALL h5pget_nprops_f(lid2,nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
- ! /* Close first list */
+ ! Close first list
CALL h5pclose_f(lid1, error);
CALL check("h5pclose_f", error, total_error)
- !/* Verify that the close callback occurred */
+ ! Verify that the close callback occurred
CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 1, total_error)
- CALL VERIFY("h5pcreate_f", INT(cls_cb_struct%id), INT(lid1), total_error)
+ CALL VERIFY_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid1, total_error)
- !/* Close second list */
+ ! Close second list
CALL h5pclose_f(lid2, error);
CALL check("h5pclose_f", error, total_error)
- !/* Verify that the close callback occurred */
+ ! Verify that the close callback occurred
CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 2, total_error)
- CALL VERIFY("h5pcreate_f", INT(cls_cb_struct%id), INT(lid2), total_error)
+ CALL verify_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid2, total_error)
- !/* Close class */
+ ! Close class
CALL h5pclose_class_f(cid1, error)
CALL check("h5pclose_class_f", error, total_error)
diff --git a/fortran/test/tH5Sselect.f90 b/fortran/test/tH5Sselect.f90
index ba68d62..7d07308 100644
--- a/fortran/test/tH5Sselect.f90
+++ b/fortran/test/tH5Sselect.f90
@@ -1027,13 +1027,13 @@ CONTAINS
RETURN
END SUBROUTINE test_basic_select
-!/****************************************************************
+!***************************************************************
!**
!** test_select_point(): Test basic H5S (dataspace) selection code.
!** Tests element selections between dataspaces of various sizes
!** and dimensionalities.
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_select_point(cleanup, total_error)
USE HDF5 ! This module contains all necessary modules
@@ -1056,29 +1056,29 @@ SUBROUTINE test_select_point(cleanup, total_error)
INTEGER, PARAMETER :: SPACE2_RANK=2
INTEGER, PARAMETER :: SPACE3_RANK=2
- ! /* Element selection information */
+ ! Element selection information
INTEGER, PARAMETER :: POINT1_NPOINTS=10
- INTEGER(hid_t) ::fid1 ! /* HDF5 File IDs */
- INTEGER(hid_t) ::dataset ! /* Dataset ID */
- INTEGER(hid_t) ::sid1,sid2 ! /* Dataspace ID */
+ INTEGER(hid_t) ::fid1 ! HDF5 File IDs
+ INTEGER(hid_t) ::dataset ! Dataset ID
+ INTEGER(hid_t) ::sid1,sid2 ! Dataspace ID
INTEGER(hsize_t), DIMENSION(1:3) :: dims1 = (/SPACE1_DIM1, SPACE1_DIM2, SPACE1_DIM3/)
INTEGER(hsize_t), DIMENSION(1:2) :: dims2 = (/SPACE2_DIM1, SPACE2_DIM2/)
INTEGER(hsize_t), DIMENSION(1:2) :: dims3 = (/SPACE3_DIM1, SPACE3_DIM2/)
- INTEGER(hsize_t), DIMENSION(1:SPACE1_RANK,1:POINT1_NPOINTS) :: coord1 !/* Coordinates for point selection */
- INTEGER(hsize_t), DIMENSION(1:SPACE1_RANK,1:POINT1_NPOINTS) :: temp_coord1 !/* Coordinates for point selection */
- INTEGER(hsize_t), DIMENSION(1:SPACE2_RANK,1:POINT1_NPOINTS) :: coord2 !/* Coordinates for point selection */
- INTEGER(hsize_t), DIMENSION(1:SPACE2_RANK,1:POINT1_NPOINTS) :: temp_coord2 !/* Coordinates for point selection */
- INTEGER(hsize_t), DIMENSION(1:SPACE3_RANK,1:POINT1_NPOINTS) :: coord3 !/* Coordinates for point selection */
- INTEGER(hsize_t), DIMENSION(1:SPACE3_RANK,1:POINT1_NPOINTS) :: temp_coord3 !/* Coordinates for point selection */
+ INTEGER(hsize_t), DIMENSION(1:SPACE1_RANK,1:POINT1_NPOINTS) :: coord1 ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(1:SPACE1_RANK,1:POINT1_NPOINTS) :: temp_coord1 ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(1:SPACE2_RANK,1:POINT1_NPOINTS) :: coord2 ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(1:SPACE2_RANK,1:POINT1_NPOINTS) :: temp_coord2 ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(1:SPACE3_RANK,1:POINT1_NPOINTS) :: coord3 ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(1:SPACE3_RANK,1:POINT1_NPOINTS) :: temp_coord3 ! Coordinates for point selection
INTEGER(hssize_t) :: npoints
-!!$ uint8_t *wbuf, /* buffer to write to disk */
-!!$ *rbuf, /* buffer read from disk */
-!!$ *tbuf; /* temporary buffer pointer */
- INTEGER :: i,j; !/* Counters */
-! struct pnt_iter pi; /* Custom Pointer iterator struct */
- INTEGER :: error !/* Generic return value */
+!!$ uint8_t *wbuf, buffer to write to disk
+!!$ *rbuf, buffer read from disk
+!!$ *tbuf; temporary buffer pointer
+ INTEGER :: i,j; ! Counters
+! struct pnt_iter pi; Custom Pointer iterator struct
+ INTEGER :: error ! Generic return value
CHARACTER(LEN=9) :: filename = 'h5s_hyper'
CHARACTER(LEN=80) :: fix_filename
CHARACTER(LEN=1), DIMENSION(1:SPACE2_DIM1,1:SPACE2_DIM2) :: wbuf
@@ -1091,11 +1091,11 @@ SUBROUTINE test_select_point(cleanup, total_error)
xfer_plist = H5P_DEFAULT_F
! MESSAGE(5, ("Testing Element Selection Functions\n"));
- !/* Allocate write & read buffers */
+ ! Allocate write & read buffers
!!$ wbuf = HDmalloc(sizeof(uint8_t) * SPACE2_DIM1 * SPACE2_DIM2);
!!$ rbuf = HDcalloc(sizeof(uint8_t), (size_t)(SPACE3_DIM1 * SPACE3_DIM2));
!!$
- !/* Initialize WRITE buffer */
+ ! Initialize WRITE buffer
DO i = 1, SPACE2_DIM1
DO j = 1, SPACE2_DIM2
@@ -1107,19 +1107,19 @@ SUBROUTINE test_select_point(cleanup, total_error)
!!$ for(j=0; j<SPACE2_DIM2; j++)
!!$ *tbuf++=(uint8_t)((i*SPACE2_DIM2)+j);
- !/* Create file */
+ ! Create file
CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, fid1, error)
CALL check("h5fcreate_f", error, total_error)
- !/* Create dataspace for dataset */
+ ! Create dataspace for dataset
CALL h5screate_simple_f(SPACE1_RANK, dims1, sid1, error)
CALL check("h5screate_simple_f", error, total_error)
- !/* Create dataspace for write buffer */
+ ! Create dataspace for write buffer
CALL h5screate_simple_f(SPACE2_RANK, dims2, sid2, error)
CALL check("h5screate_simple_f", error, total_error)
- !/* Select sequence of ten points for disk dataset */
+ ! Select sequence of ten points for disk dataset
coord1(1,1)=1; coord1(2,1)=11; coord1(3,1)= 6;
coord1(1,2)=2; coord1(2,2)= 3; coord1(3,2)= 8;
coord1(1,3)=3; coord1(2,3)= 5; coord1(3,3)=10;
@@ -1134,7 +1134,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sselect_elements_f(sid1, H5S_SELECT_SET_F, SPACE1_RANK, INT(POINT1_NPOINTS,size_t), coord1, error)
CALL check("h5sselect_elements_f", error, total_error)
- !/* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid1, INT(0,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord1,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
@@ -1149,7 +1149,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_npoints_f", error, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 10, total_error)
- !/* Append another sequence of ten points to disk dataset */
+ ! Append another sequence of ten points to disk dataset
coord1(1,1)=1; coord1(2,1)=3; coord1(3,1)= 1;
coord1(1,2)=2; coord1(2,2)=11; coord1(3,2)= 9;
@@ -1165,7 +1165,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sselect_elements_f(sid1, H5S_SELECT_APPEND_F, SPACE1_RANK, INT(POINT1_NPOINTS,size_t), coord1, error)
CALL check("h5sselect_elements_f", error, total_error)
- ! /* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid1, INT(POINT1_NPOINTS,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord1,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
@@ -1180,7 +1180,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_npoints_f", error, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 20, total_error)
- ! /* Select sequence of ten points for memory dataset */
+ ! Select sequence of ten points for memory dataset
coord2(1,1)=13; coord2(2,1)= 4;
coord2(1,2)=16; coord2(2,2)=14;
coord2(1,3)= 8; coord2(2,3)=26;
@@ -1196,7 +1196,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sselect_elements_f", error, total_error)
- !/* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid2, INT(0,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord2,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
@@ -1207,9 +1207,9 @@ SUBROUTINE test_select_point(cleanup, total_error)
ENDDO
!!$
-!!$ /* Save points for later iteration */
-!!$ /* (these are in the second half of the buffer, because we are prepending */
-!!$ /* the next list of points to the beginning of the point selection list) */
+!!$ Save points for later iteration
+!!$ (these are in the second half of the buffer, because we are prepending
+!!$ the next list of points to the beginning of the point selection list)
!!$ HDmemcpy(((char *)pi.coord)+sizeof(coord2),coord2,sizeof(coord2));
!!$
@@ -1217,7 +1217,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_npoints_f", error, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 10, total_error)
- !/* Append another sequence of ten points to memory dataset */
+ ! Append another sequence of ten points to memory dataset
coord2(1,1)=25; coord2(2,1)= 1;
coord2(1,2)= 3; coord2(2,2)=26;
coord2(1,3)=14; coord2(2,3)=18;
@@ -1233,7 +1233,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sselect_elements_f", error, total_error)
- !/* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid2, INT(0,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord2,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
@@ -1246,26 +1246,26 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_npoints_f", error, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 20, total_error)
-!!$ /* Save points for later iteration */
+!!$ Save points for later iteration
!!$ HDmemcpy(pi.coord,coord2,sizeof(coord2));
- ! /* Create a dataset */
+ ! Create a dataset
CALL h5dcreate_f(fid1, "Dataset1", H5T_NATIVE_CHARACTER, sid1, dataset, error)
CALL check("h5dcreate_f", error, total_error)
- ! /* Write selection to disk */
+ ! Write selection to disk
CALL h5dwrite_f(dataset, H5T_NATIVE_CHARACTER, wbuf, dims2, error, sid2, sid1, xfer_plist)
CALL check("h5dwrite_f", error, total_error)
- ! /* Close memory dataspace */
+ ! Close memory dataspace
CALL h5sclose_f(sid2, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Create dataspace for reading buffer */
+ ! Create dataspace for reading buffer
CALL h5screate_simple_f(SPACE3_RANK, dims3, sid2, error)
CALL check("h5screate_simple_f", error, total_error)
- ! /* Select sequence of points for read dataset */
+ ! Select sequence of points for read dataset
coord3(1,1)= 1; coord3(2,1)= 3;
coord3(1,2)= 5; coord3(2,2)= 9;
coord3(1,3)=14; coord3(2,3)=14;
@@ -1280,7 +1280,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sselect_elements_f(sid2, H5S_SELECT_SET_F, SPACE3_RANK, INT(POINT1_NPOINTS,size_t), coord3, error)
CALL check("h5sselect_elements_f", error, total_error)
- ! /* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid2, INT(0,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord3,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
@@ -1292,7 +1292,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_npoints_f", error, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 10, total_error)
- !/* Append another sequence of ten points to disk dataset */
+ ! Append another sequence of ten points to disk dataset
coord3(1,1)=15; coord3(2,1)=26;
coord3(1,2)= 1; coord3(2,2)= 1;
coord3(1,3)=12; coord3(2,3)=12;
@@ -1307,7 +1307,7 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sselect_elements_f(sid2, H5S_SELECT_APPEND_F, SPACE3_RANK, INT(POINT1_NPOINTS,size_t), coord3, error)
CALL check("h5sselect_elements_f", error, total_error)
- ! /* Verify correct elements selected */
+ ! Verify correct elements selected
CALL h5sget_select_elem_pointlist_f(sid2, INT(POINT1_NPOINTS,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord3,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
@@ -1320,11 +1320,11 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL verify("h5sget_select_npoints_f", INT(npoints), 20, total_error)
! F2003 feature
-!!$ /* Read selection from disk */
+!!$ Read selection from disk
!!$ ret=H5Dread(dataset,H5T_NATIVE_UCHAR,sid2,sid1,xfer_plist,rbuf);
!!$ CHECK(ret, FAIL, "H5Dread");
!!$
-!!$ /* Check that the values match with a dataset iterator */
+!!$ Check that the values match with a dataset iterator
!!$ pi.buf=wbuf;
!!$ pi.offset=0;
!!$ ret = H5Diterate(rbuf,H5T_NATIVE_UCHAR,sid2,test_select_point_iter1,&pi);
@@ -1332,19 +1332,19 @@ SUBROUTINE test_select_point(cleanup, total_error)
!!$
! F2003 feature
- !/* Close memory dataspace */
+ ! Close memory dataspace
CALL h5sclose_f(sid2, error)
CALL check("h5sclose_f", error, total_error)
- !/* Close disk dataspace */
+ ! Close disk dataspace
CALL h5sclose_f(sid1, error)
CALL check("h5sclose_f", error, total_error)
- !/* Close Dataset */
+ ! Close Dataset
CALL h5dclose_f(dataset, error)
CALL check("h5dclose_f", error, total_error)
- !/* Close file */
+ ! Close file
CALL h5fclose_f(fid1, error)
CALL check("h5fclose_f", error, total_error)
@@ -1354,13 +1354,13 @@ SUBROUTINE test_select_point(cleanup, total_error)
END SUBROUTINE test_select_point
-!/****************************************************************
+!***************************************************************
!**
!** test_select_combine(): Test basic H5S (dataspace) selection code.
!** Tests combining "all" and "none" selections with hyperslab
!** operations.
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_select_combine(total_error)
USE HDF5 ! This module contains all necessary modules
@@ -1373,25 +1373,25 @@ SUBROUTINE test_select_combine(total_error)
INTEGER, PARAMETER :: SPACE7_DIM1 = 10
INTEGER, PARAMETER :: SPACE7_DIM2 = 10
- INTEGER(hid_t) :: base_id ! /* Base dataspace for test */
- INTEGER(hid_t) :: all_id ! /* Dataspace for "all" selection */
- INTEGER(hid_t) :: none_id ! /* Dataspace for "none" selection */
- INTEGER(hid_t) :: space1 ! /* Temporary dataspace #1 */
- INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: start ! /* Hyperslab start */
- INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: stride ! /* Hyperslab stride */
- INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: icount ! /* Hyperslab count */
- INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: iblock ! /* Hyperslab BLOCK */
- INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: dims = (/SPACE7_DIM1,SPACE7_DIM2/) !/* Dimensions of dataspace */
- INTEGER :: sel_type ! /* Selection type */
- INTEGER(hssize_t) :: nblocks !/* Number of hyperslab blocks */
- INTEGER(hsize_t), DIMENSION(1:128,1:2,1:SPACE7_RANK) :: blocks ! /* List of blocks */
+ INTEGER(hid_t) :: base_id ! Base dataspace for test
+ INTEGER(hid_t) :: all_id ! Dataspace for "all" selection
+ INTEGER(hid_t) :: none_id ! Dataspace for "none" selection
+ INTEGER(hid_t) :: space1 ! Temporary dataspace #1
+ INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: start ! Hyperslab start
+ INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: stride ! Hyperslab stride
+ INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: icount ! Hyperslab count
+ INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: iblock ! Hyperslab BLOCK
+ INTEGER(hsize_t), DIMENSION(1:SPACE7_RANK) :: dims = (/SPACE7_DIM1,SPACE7_DIM2/) ! Dimensions of dataspace
+ INTEGER :: sel_type ! Selection type
+ INTEGER(hssize_t) :: nblocks ! Number of hyperslab blocks
+ INTEGER(hsize_t), DIMENSION(1:128,1:2,1:SPACE7_RANK) :: blocks ! List of blocks
INTEGER :: error, area
- !/* Create dataspace for dataset on disk */
+ ! Create dataspace for dataset on disk
CALL h5screate_simple_f(SPACE7_RANK, dims, base_id, error)
CALL check("h5screate_simple_f", error, total_error)
- ! /* Copy base dataspace and set selection to "all" */
+ ! Copy base dataspace and set selection to "all"
CALL h5scopy_f(base_id, all_id, error)
CALL check("h5scopy_f", error, total_error)
@@ -1402,7 +1402,7 @@ SUBROUTINE test_select_combine(total_error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
- !/* Copy base dataspace and set selection to "none" */
+ ! Copy base dataspace and set selection to "none"
CALL h5scopy_f(base_id, none_id, error)
CALL check("h5scopy_f", error, total_error)
@@ -1413,11 +1413,11 @@ SUBROUTINE test_select_combine(total_error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_NONE_F), total_error)
- !/* Copy "all" selection & space */
+ ! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- !/* 'OR' "all" selection with another hyperslab */
+ ! 'OR' "all" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1426,20 +1426,20 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Verify that it's still "all" selection */
+ ! Verify that it's still "all" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
- !/* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- !/* Copy "all" selection & space */
+ ! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'AND' "all" selection with another hyperslab */
+ ! 'AND' "all" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1448,36 +1448,36 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Verify that the new selection is the same at the original block */
+ ! Verify that the new selection is the same at the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- !/* Verify that there is only one block */
+ ! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
- !/* Retrieve the block defined */
+ ! Retrieve the block defined
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- !/* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
- !/* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- !/* Copy "all" selection & space */
+ ! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'XOR' "all" selection with another hyperslab */
+ ! 'XOR' "all" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1487,23 +1487,23 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is an inversion of the original block */
+ ! Verify that the new selection is an inversion of the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- ! /* Verify that there are two blocks */
+ ! Verify that there are two blocks
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
- ! /* Retrieve the block defined */
+ ! Retrieve the block defined
- blocks = -1 ! /* Reset block list */
+ blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- ! /* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
! No guarantee is implied as the order in which blocks are listed.
! So this will ONLY work for square domains iblock(1:2) = (/5,5/)
@@ -1521,15 +1521,15 @@ SUBROUTINE test_select_combine(total_error)
area = area + (ABS(INT(blocks(5,1,1)-blocks(7,1,1)))+1)*(ABS(INT(blocks(6,1,1)-blocks(8,1,1)))+1)
CALL VERIFY("h5sget_select_hyper_blocklist_f", area, 80, total_error)
- !/* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "all" selection & space */
+ ! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'NOTB' "all" selection with another hyperslab */
+ ! 'NOTB' "all" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1539,22 +1539,22 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is an inversion of the original block */
+ ! Verify that the new selection is an inversion of the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- ! /* Verify that there are two blocks */
+ ! Verify that there are two blocks
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
- ! /* Retrieve the block defined */
- blocks = -1 ! /* Reset block list */
+ ! Retrieve the block defined
+ blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- ! /* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
! No guarantee is implied as the order in which blocks are listed.
! So this will ONLY work for square domains iblock(1:2) = (/5,5/)
@@ -1574,14 +1574,14 @@ SUBROUTINE test_select_combine(total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", area, 80, total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "all" selection & space */
+ ! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'NOTA' "all" selection with another hyperslab */
+ ! 'NOTA' "all" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1591,20 +1591,20 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Verify that the new selection is the "none" selection */
+ ! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "none" selection & space */
+ ! Copy "none" selection & space
CALL H5Scopy_f(none_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'OR' "none" selection with another hyperslab */
+ ! 'OR' "none" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1614,37 +1614,37 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is the same as the original hyperslab */
+ ! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- ! /* Verify that there is only one block */
+ ! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
- ! /* Retrieve the block defined */
- blocks = -1 ! /* Reset block list */
+ ! Retrieve the block defined
+ blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- ! /* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "none" selection & space */
+ ! Copy "none" selection & space
CALL H5Scopy_f(none_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'AND' "none" selection with another hyperslab */
+ ! 'AND' "none" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1654,20 +1654,20 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is the "none" selection */
+ ! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "none" selection & space */
+ ! Copy "none" selection & space
CALL H5Scopy_f(none_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'XOR' "none" selection with another hyperslab */
+ ! 'XOR' "none" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1677,36 +1677,36 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is the same as the original hyperslab */
+ ! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- ! /* Verify that there is only one block */
+ ! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
- ! /* Retrieve the block defined */
- blocks = -1 ! /* Reset block list */
+ ! Retrieve the block defined
+ blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- ! /* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "none" selection & space */
+ ! Copy "none" selection & space
CALL H5Scopy_f(none_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'NOTB' "none" selection with another hyperslab */
+ ! 'NOTB' "none" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1716,20 +1716,20 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is the "none" selection */
+ ! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Copy "none" selection & space */
+ ! Copy "none" selection & space
CALL H5Scopy_f(none_id, space1, error)
CALL check("h5scopy_f", error, total_error)
- ! /* 'NOTA' "none" selection with another hyperslab */
+ ! 'NOTA' "none" selection with another hyperslab
start(1:2) = 0
stride(1:2) = 1
icount(1:2) = 1
@@ -1738,35 +1738,35 @@ SUBROUTINE test_select_combine(total_error)
icount, error, stride, iblock)
CALL check("h5sselect_hyperslab_f", error, total_error)
- ! /* Verify that the new selection is the same as the original hyperslab */
+ ! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
- ! /* Verify that there is ONLY one BLOCK */
+ ! Verify that there is ONLY one BLOCK
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
- ! /* Retrieve the block defined */
+ ! Retrieve the block defined
- blocks = -1 ! /* Reset block list */
+ blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
- ! /* Verify that the correct block is defined */
+ ! Verify that the correct block is defined
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
- ! /* Close temporary dataspace */
+ ! Close temporary dataspace
CALL h5sclose_f(space1, error)
CALL check("h5sclose_f", error, total_error)
- ! /* Close dataspaces */
+ ! Close dataspaces
CALL h5sclose_f(base_id, error)
CALL check("h5sclose_f", error, total_error)
@@ -1777,12 +1777,12 @@ SUBROUTINE test_select_combine(total_error)
END SUBROUTINE test_select_combine
-!/****************************************************************
+!***************************************************************
!**
!** test_select_bounds(): Tests selection bounds on dataspaces,
!** both with and without offsets.
!**
-!****************************************************************/
+!***************************************************************
SUBROUTINE test_select_bounds(total_error)
USE HDF5 ! This module contains all necessary modules
@@ -1796,24 +1796,24 @@ SUBROUTINE test_select_bounds(total_error)
INTEGER, PARAMETER :: SPACE11_DIM2=50
INTEGER, PARAMETER :: SPACE11_NPOINTS=4
- INTEGER(hid_t) :: sid ! /* Dataspace ID */
+ INTEGER(hid_t) :: sid ! Dataspace ID
INTEGER(hsize_t), DIMENSION(1:SPACE11_RANK) :: dims = (/SPACE11_DIM1, SPACE11_DIM2/) !Dataspace dimensions
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK, SPACE11_NPOINTS) :: coord !/* Coordinates for point selection
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: start ! /* The start of the hyperslab */
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: stride !/* The stride between block starts for the hyperslab */
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: count !/* The number of blocks for the hyperslab */
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: BLOCK !/* The size of each block for the hyperslab */
- INTEGER(hssize_t), DIMENSION(SPACE11_RANK) :: offset !/* Offset amount for selection */
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: low_bounds !/* The low bounds for the selection */
- INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: high_bounds !/* The high bounds for the selection */
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK, SPACE11_NPOINTS) :: coord ! Coordinates for point selection
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: start ! The start of the hyperslab
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: stride ! The stride between block starts for the hyperslab
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: count ! The number of blocks for the hyperslab
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: BLOCK ! The size of each block for the hyperslab
+ INTEGER(hssize_t), DIMENSION(SPACE11_RANK) :: offset ! Offset amount for selection
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: low_bounds ! The low bounds for the selection
+ INTEGER(hsize_t), DIMENSION(SPACE11_RANK) :: high_bounds ! The high bounds for the selection
INTEGER :: error
- !/* Create dataspace */
+ ! Create dataspace
CALL h5screate_simple_f(SPACE11_RANK, dims, sid, error)
CALL check("h5screate_simple_f", error, total_error)
- ! /* Get bounds for 'all' selection */
+ ! Get bounds for 'all' selection
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1822,12 +1822,12 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
- !/* Set offset for selection */
+ ! Set offset for selection
offset(1:2) = 1
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- !/* Get bounds for 'all' selection with offset (which should be ignored) */
+ ! Get bounds for 'all' selection with offset (which should be ignored)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1836,20 +1836,20 @@ SUBROUTINE test_select_bounds(total_error)
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
- !/* Reset offset for selection */
+ ! Reset offset for selection
offset(1:2) = 0
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- !/* Set 'none' selection */
+ ! Set 'none' selection
CALL H5Sselect_none_f(sid, error)
CALL check("H5Sselect_none_f", error, total_error)
- !/* Get bounds for 'none' selection, should fail */
+ ! Get bounds for 'none' selection, should fail
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
- !/* Set point selection */
+ ! Set point selection
coord(1,1)= 3; coord(2,1)= 3;
coord(1,2)= 3; coord(2,2)= 46;
@@ -1859,7 +1859,7 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sselect_elements_f(sid, H5S_SELECT_SET_F, SPACE11_RANK, INT(SPACE11_NPOINTS,size_t), coord, error)
CALL check("h5sselect_elements_f", error, total_error)
- !/* Get bounds for point selection */
+ ! Get bounds for point selection
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1868,22 +1868,22 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-4), total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-4), total_error)
- ! /* Set bad offset for selection */
+ ! Set bad offset for selection
offset(1:2) = (/5,-5/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Get bounds for hyperslab selection with negative offset */
+ ! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
- ! /* Set valid offset for selection */
+ ! Set valid offset for selection
offset(1:2) = (/2,-2/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Get bounds for point selection with offset */
+ ! Get bounds for point selection with offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1892,12 +1892,12 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-2), total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-6), total_error)
- ! /* Reset offset for selection */
+ ! Reset offset for selection
offset(1:2) = 0
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Set "regular" hyperslab selection */
+ ! Set "regular" hyperslab selection
start(1:2) = 2
stride(1:2) = 10
count(1:2) = 4
@@ -1907,7 +1907,7 @@ SUBROUTINE test_select_bounds(total_error)
count, error, stride, block)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Get bounds for hyperslab selection */
+ ! Get bounds for hyperslab selection
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1916,21 +1916,21 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 37, total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 37, total_error)
- !/* Set bad offset for selection */
+ ! Set bad offset for selection
offset(1:2) = (/5,-5/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Get bounds for hyperslab selection with negative offset */
+ ! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
- ! /* Set valid offset for selection */
+ ! Set valid offset for selection
offset(1:2) = (/5,-2/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- !/* Get bounds for hyperslab selection with offset */
+ ! Get bounds for hyperslab selection with offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1939,12 +1939,12 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 42, total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 35, total_error)
- !/* Reset offset for selection */
+ ! Reset offset for selection
offset(1:2) = 0
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Make "irregular" hyperslab selection */
+ ! Make "irregular" hyperslab selection
start(1:2) = 20
stride(1:2) = 20
count(1:2) = 2
@@ -1954,7 +1954,7 @@ SUBROUTINE test_select_bounds(total_error)
count, error, stride, block)
CALL check("h5sselect_hyperslab_f", error, total_error)
- !/* Get bounds for hyperslab selection */
+ ! Get bounds for hyperslab selection
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1963,21 +1963,21 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 50, total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 50, total_error)
- ! /* Set bad offset for selection */
+ ! Set bad offset for selection
offset(1:2) = (/5,-5/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- ! /* Get bounds for hyperslab selection with negative offset */
+ ! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
- !/* Set valid offset for selection */
+ ! Set valid offset for selection
offset(1:2) = (/5,-2/)
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- !/* Get bounds for hyperslab selection with offset */
+ ! Get bounds for hyperslab selection with offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
@@ -1986,12 +1986,12 @@ SUBROUTINE test_select_bounds(total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 55, total_error)
CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 48, total_error)
- !/* Reset offset for selection */
+ ! Reset offset for selection
offset(1:2) = 0
CALL H5Soffset_simple_f(sid, offset, error)
CALL check("H5Soffset_simple_f", error, total_error)
- !/* Close the dataspace */
+ ! Close the dataspace
CALL h5sclose_f(sid, error)
CALL check("h5sclose_f", error, total_error)
diff --git a/fortran/test/tH5T.f90 b/fortran/test/tH5T.f90
index 8ac91d2..7822c16 100644
--- a/fortran/test/tH5T.f90
+++ b/fortran/test/tH5T.f90
@@ -112,7 +112,7 @@ CONTAINS
INTEGER(HID_T) :: decoded_tid1
INTEGER(HID_T) :: fixed_str1, fixed_str2
- LOGICAL :: are_equal, differ
+ LOGICAL :: are_equal
INTEGER(SIZE_T), PARAMETER :: str_size = 10
INTEGER(SIZE_T) :: query_size
@@ -556,13 +556,13 @@ CONTAINS
! * Test encoding and decoding compound datatypes
! *-----------------------------------------------------------------------
!
- ! /* Encode compound type in a buffer */
+ ! Encode compound type in a buffer
! -- First find the buffer size
CALL H5Tencode_f(dtype_id, cmpd_buf, cmpd_buf_size, error)
CALL check("H5Tencode_f", error, total_error)
- ! /* Try decoding bogus buffer */
+ ! Try decoding bogus buffer
CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error)
CALL VERIFY("H5Tdecode_f", error, -1, total_error)
@@ -570,11 +570,11 @@ CONTAINS
CALL H5Tencode_f(dtype_id, cmpd_buf, cmpd_buf_size, error)
CALL check("H5Tencode_f", error, total_error)
- ! /* Decode from the compound buffer and return an object handle */
+ ! Decode from the compound buffer and return an object handle
CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error)
CALL check("H5Tdecode_f", error, total_error)
- ! /* Verify that the datatype was copied exactly */
+ ! Verify that the datatype was copied exactly
CALL H5Tequal_f(decoded_tid1, dtype_id, flag, error)
CALL check("H5Tequal_f", error, total_error)
@@ -897,7 +897,7 @@ CONTAINS
CALL H5Tget_native_type_f(dtype, H5T_DIR_ASCEND_F, native_type, error)
CALL check("H5Tget_native_type_f",error, total_error)
- !/* Verify the datatype retrieved and converted */
+ ! Verify the datatype retrieved and converted
CALL H5Tget_order_f(native_type, order1, error)
CALL check("H5Tget_order_f",error, total_error)
CALL H5Tget_order_f(H5T_NATIVE_INTEGER, order2, error)
@@ -952,7 +952,7 @@ CONTAINS
RETURN
END SUBROUTINE enumtest
-!/*-------------------------------------------------------------------------
+!-------------------------------------------------------------------------
! * Function: test_derived_flt
! *
! * Purpose: Tests user-define and query functions of floating-point types.
@@ -968,7 +968,7 @@ CONTAINS
! * Modifications:
! *
! *-------------------------------------------------------------------------
-! */
+!
SUBROUTINE test_derived_flt(cleanup, total_error)
@@ -990,7 +990,7 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
INTEGER :: error
- !/* Create File */
+ ! Create File
CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
IF (error .NE. 0) THEN
WRITE(*,*) "Cannot modify filename"
@@ -1009,7 +1009,7 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
CALL h5tcopy_f(H5T_IEEE_F32LE, tid2, error)
CALL check("h5tcopy_f",error,total_error)
- !/*------------------------------------------------------------------------
+ !------------------------------------------------------------------------
! * 1st floating-point type
! * size=7 byte, precision=42 bits, offset=3 bits, mantissa size=31 bits,
! * mantissa position=3, exponent size=10 bits, exponent position=34,
@@ -1026,7 +1026,7 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
! * bigger than original size but can be decreased. There should be no
! * holes among the significant bits. Exponent bias usually is set
! * 2^(n-1)-1, where n is the exponent size.
- ! *-----------------------------------------------------------------------*/
+ ! *-----------------------------------------------------------------------
CALL H5Tset_fields_f(tid1, INT(44,size_t), INT(34,size_t), INT(10,size_t), &
INT(3,size_t), INT(31,size_t), error)
@@ -1079,7 +1079,7 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
CALL check("H5Tget_ebias_f", error, total_error)
CALL VERIFY("H5Tget_ebias_f", INT(ebias1), 511, total_error)
- !/*--------------------------------------------------------------------------
+ !--------------------------------------------------------------------------
! * 2nd floating-point type
! * size=3 byte, precision=24 bits, offset=0 bits, mantissa size=16 bits,
! * mantissa position=0, exponent size=7 bits, exponent position=16, exponent
@@ -1087,7 +1087,7 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
! *
! * 2 1 0
! * SEEEEEEE MMMMMMMM MMMMMMMM
- ! *--------------------------------------------------------------------------*/
+ ! *--------------------------------------------------------------------------
CALL H5Tset_fields_f(tid2, INT(23,size_t), INT(16,size_t), INT(7,size_t), &
INT(0,size_t), INT(16,size_t), error)
diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90
index e019d0f..32531b0 100644
--- a/fortran/test/tH5T_F03.f90
+++ b/fortran/test/tH5T_F03.f90
@@ -34,12 +34,12 @@
! *** H 5 T T E S T S
! *****************************************
-!/****************************************************************
+!***************************************************************
!**
!** test_array_compound_atomic(): Test basic array datatype code.
!** Tests 1-D array of compound datatypes (with no array fields)
!**
-!****************************************************************/
+!***************************************************************
!
MODULE TH5T_F03
diff --git a/fortran/test/tH5VL.f90 b/fortran/test/tH5VL.f90
index f063722..651ca75 100644
--- a/fortran/test/tH5VL.f90
+++ b/fortran/test/tH5VL.f90
@@ -226,7 +226,6 @@ CONTAINS
INTEGER(SIZE_T) max_len
INTEGER(HID_T) :: vl_type_id
LOGICAL :: vl_flag
- LOGICAL :: differ
!
! Initialize the vl_int_data array.
diff --git a/fortran/test/tf.f90 b/fortran/test/tf.f90
index 6d5911f..450daf2 100644
--- a/fortran/test/tf.f90
+++ b/fortran/test/tf.f90
@@ -134,6 +134,22 @@ CONTAINS
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: verify_INTEGER_HID_T
+!DEC$endif
+ SUBROUTINE verify_INTEGER_HID_T(string,value,correct_value,total_error)
+ USE HDF5
+ CHARACTER(LEN=*) :: string
+ INTEGER(HID_T) :: value, correct_value
+ INTEGER :: total_error
+ IF (value .NE. correct_value) THEN
+ total_error=total_error+1
+ WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
+ ENDIF
+ RETURN
+ END SUBROUTINE verify_INTEGER_HID_T
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
!DEC$attributes dllexport :: verify_Fortran_INTEGER_4
!DEC$endif
SUBROUTINE verify_Fortran_INTEGER_4(string,value,correct_value,total_error)
diff --git a/fortran/testpar/CMakeLists.txt b/fortran/testpar/CMakeLists.txt
index dfe9ce7..98ef6c8 100644
--- a/fortran/testpar/CMakeLists.txt
+++ b/fortran/testpar/CMakeLists.txt
@@ -4,7 +4,7 @@ PROJECT (HDF5_FORTRAN_TESTPAR C CXX Fortran)
#-----------------------------------------------------------------------------
# Setup include Directories
#-----------------------------------------------------------------------------
-INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
#-----------------------------------------------------------------------------
# Add Tests
@@ -17,7 +17,7 @@ add_executable (parallel_test
mdset.f90
)
TARGET_NAMING (parallel_test ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (parallel_test " " " ")
+TARGET_FORTRAN_PROPERTIES (parallel_test ${LIB_TYPE} " " " ")
target_link_libraries (parallel_test
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -27,6 +27,7 @@ target_link_libraries (parallel_test
if (WIN32 AND MSVC)
target_link_libraries (parallel_test "ws2_32.lib")
endif (WIN32 AND MSVC)
+target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (parallel_test PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (parallel_test PROPERTIES FOLDER test/fortran)
diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in
index 9a30c6e..f16dfff 100644
--- a/fortran/testpar/Makefile.in
+++ b/fortran/testpar/Makefile.in
@@ -405,7 +405,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ -I$(top_srcdir)/fortran/src \
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -437,7 +436,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -461,11 +459,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -528,7 +524,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt
index 031b7d6..b5d4308 100644
--- a/hl/CMakeLists.txt
+++ b/hl/CMakeLists.txt
@@ -38,7 +38,3 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
add_subdirectory (${HDF5_HL_SOURCE_DIR}/test ${HDF5_HL_BINARY_DIR}/test)
endif (BUILD_TESTING)
endif (NOT HDF5_EXTERNALLY_CONFIGURED)
-
-if (HDF5_BUILD_CPP_LIB)
- add_subdirectory (${HDF5_HL_SOURCE_DIR}/c++ ${HDF5_HL_BINARY_DIR}/c++)
-endif (HDF5_BUILD_CPP_LIB)
diff --git a/hl/Makefile.am b/hl/Makefile.am
index 3271575..9f31719 100644
--- a/hl/Makefile.am
+++ b/hl/Makefile.am
@@ -43,7 +43,7 @@ DIST_SUBDIRS=src test tools c++ fortran examples
# Install examples
install-examples uninstall-examples:
- @@SETX@; for d in examples $(HDF5_INTERFACES); do \
+ for d in examples $(HDF5_INTERFACES); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
diff --git a/hl/Makefile.in b/hl/Makefile.in
index a4464b7..60c9453 100644
--- a/hl/Makefile.in
+++ b/hl/Makefile.in
@@ -409,7 +409,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -441,7 +440,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -465,11 +463,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -532,7 +528,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -1163,7 +1158,7 @@ help:
# Install examples
install-examples uninstall-examples:
- @@SETX@; for d in examples $(HDF5_INTERFACES); do \
+ for d in examples $(HDF5_INTERFACES); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in
index f20104d..278f97b 100644
--- a/hl/c++/Makefile.in
+++ b/hl/c++/Makefile.in
@@ -405,7 +405,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -437,7 +436,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -461,11 +459,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -528,7 +524,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/c++/examples/CMakeLists.txt b/hl/c++/examples/CMakeLists.txt
index 12c1d50..e3fc3ae 100644
--- a/hl/c++/examples/CMakeLists.txt
+++ b/hl/c++/examples/CMakeLists.txt
@@ -12,7 +12,7 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_DIR}/src)
# --------------------------------------------------------------------
add_executable (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
TARGET_NAMING (ptExampleFL ${LIB_TYPE})
-TARGET_C_PROPERTIES (ptExampleFL " " " ")
+TARGET_C_PROPERTIES (ptExampleFL ${LIB_TYPE} " " " ")
target_link_libraries (
ptExampleFL
${HDF5_HL_CPP_LIB_TARGET}
diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in
index 6421eda..a36886c 100644
--- a/hl/c++/examples/Makefile.in
+++ b/hl/c++/examples/Makefile.in
@@ -352,7 +352,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -384,7 +383,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -408,11 +406,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -475,7 +471,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/c++/examples/run-hlc++-ex.sh.in b/hl/c++/examples/run-hlc++-ex.sh.in
index 103dd76..5aa1032 100644
--- a/hl/c++/examples/run-hlc++-ex.sh.in
+++ b/hl/c++/examples/run-hlc++-ex.sh.in
@@ -33,7 +33,7 @@ EXIT_SUCCESS=0
EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../../}"
+prefix="${prefix:-@prefix@}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name
diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt
index 0dee06f..640cb2d 100644
--- a/hl/c++/src/CMakeLists.txt
+++ b/hl/c++/src/CMakeLists.txt
@@ -11,7 +11,7 @@ set (HDF5_HL_CPP_SRCS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.cpp)
set (HDF5_HL_CPP_HDRS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.h)
add_library (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_CPP_SRCS})
-TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
diff --git a/hl/c++/src/Makefile.am b/hl/c++/src/Makefile.am
index 9751e94..b268948 100644
--- a/hl/c++/src/Makefile.am
+++ b/hl/c++/src/Makefile.am
@@ -30,12 +30,6 @@ lib_LTLIBRARIES=libhdf5_hl_cpp.la
# Add libtool numbers to the HDF5 HL C++ library (from config/lt_vers.am)
libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
-# Shared C++ libraries aren't universally supported.
-if CXX_SHARED_CONDITIONAL
-else
- AM_LDFLAGS+=-static
-endif
-
# Source files for the library
# At the moment, only the H5PT Packet Table has a C++ API.
libhdf5_hl_cpp_la_SOURCES=H5PacketTable.cpp
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index b087217..1813a3c 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -102,9 +102,6 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/depcomp $(include_HEADERS) \
$(top_srcdir)/bin/test-driver
-
-# Shared C++ libraries aren't universally supported.
-@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
TESTS =
subdir = hl/c++/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -408,10 +405,9 @@ AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@ -I$(top_srcdir)/src \
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
+AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -443,7 +439,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -467,11 +462,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -534,7 +527,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -670,7 +662,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
# This is our main target
diff --git a/hl/c++/test/CMakeLists.txt b/hl/c++/test/CMakeLists.txt
index d4e1157..ff06b22 100644
--- a/hl/c++/test/CMakeLists.txt
+++ b/hl/c++/test/CMakeLists.txt
@@ -16,7 +16,7 @@ INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/test)
INCLUDE_DIRECTORIES (${HDF5_CPP_SRC_DIR}/src)
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
-TARGET_C_PROPERTIES (hl_ptableTest " " " ")
+TARGET_C_PROPERTIES (hl_ptableTest ${LIB_TYPE} " " " ")
TARGET_NAMING (hl_ptableTest ${LIB_TYPE})
target_link_libraries (
hl_ptableTest
diff --git a/hl/c++/test/Makefile.am b/hl/c++/test/Makefile.am
index 105188f..c835843 100644
--- a/hl/c++/test/Makefile.am
+++ b/hl/c++/test/Makefile.am
@@ -23,12 +23,6 @@ include $(top_srcdir)/config/commence.am
# Include directories
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/c++/src -I$(top_srcdir)/hl/src -I$(top_srcdir)/hl/c++/src -I$(top_srcdir)/test -I$(top_builddir)/hl/test -I$(top_srcdir)/hl/test
-# Shared C++ libraries aren't universally supported.
-if CXX_SHARED_CONDITIONAL
-else
- AM_LDFLAGS+=-static
-endif
-
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG=ptableTest
diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in
index df525e5..b7d7d09 100644
--- a/hl/c++/test/Makefile.in
+++ b/hl/c++/test/Makefile.in
@@ -98,9 +98,6 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/test-driver
-
-# Shared C++ libraries aren't universally supported.
-@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
check_PROGRAMS = $(am__EXEEXT_1)
TESTS = $(am__EXEEXT_1)
subdir = hl/c++/test
@@ -405,10 +402,9 @@ AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@ -I$(top_srcdir)/src \
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
+AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -440,7 +436,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -464,11 +459,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -531,7 +524,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/examples/CMakeLists.txt b/hl/examples/CMakeLists.txt
index edcb920..e264f75 100644
--- a/hl/examples/CMakeLists.txt
+++ b/hl/examples/CMakeLists.txt
@@ -29,7 +29,7 @@ set (examples
foreach (example ${examples})
add_executable (hl_ex_${example} ${HDF5_HL_EXAMPLES_SOURCE_DIR}/${example}.c)
TARGET_NAMING (hl_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_ex_${example} " " " ")
+ TARGET_C_PROPERTIES (hl_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (hl_ex_${example} ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (hl_ex_${example} PROPERTIES FOLDER examples/hl)
endforeach (example ${examples})
diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in
index af1c2de..f0bf099 100644
--- a/hl/examples/Makefile.in
+++ b/hl/examples/Makefile.in
@@ -352,7 +352,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -384,7 +383,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -408,11 +406,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -475,7 +471,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/examples/run-hlc-ex.sh.in b/hl/examples/run-hlc-ex.sh.in
index a79f67a..d897a02 100644
--- a/hl/examples/run-hlc-ex.sh.in
+++ b/hl/examples/run-hlc-ex.sh.in
@@ -33,7 +33,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../../}"
+prefix="${prefix:-@prefix@}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"
diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in
index 14eb219..4651579 100644
--- a/hl/fortran/Makefile.in
+++ b/hl/fortran/Makefile.in
@@ -409,7 +409,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -441,7 +440,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -465,11 +463,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -532,7 +528,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/fortran/examples/CMakeLists.txt b/hl/fortran/examples/CMakeLists.txt
index bf6a0ca..bded2d9 100644
--- a/hl/fortran/examples/CMakeLists.txt
+++ b/hl/fortran/examples/CMakeLists.txt
@@ -5,7 +5,6 @@ PROJECT (HDF5_HL_F90_EXAMPLES C CXX Fortran)
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (
- ${CMAKE_Fortran_MODULE_DIRECTORY}
${HDF5_F90_BINARY_DIR}
${HDF5_F90_SRC_DIR}/src
)
@@ -18,12 +17,13 @@ set (examples
foreach (example ${examples})
add_executable (hl_f90_ex_${example} ${HDF5_HL_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
TARGET_NAMING (hl_f90_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} " " " ")
+ TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} ${LIB_TYPE} " " " ")
target_link_libraries (hl_f90_ex_${example}
${HDF5_HL_F90_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
)
+ target_include_directories (hl_f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (hl_f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_ex_${example} PROPERTIES FOLDER examples/hl/fortran)
diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in
index e2bbddc..c8878d5 100644
--- a/hl/fortran/examples/Makefile.in
+++ b/hl/fortran/examples/Makefile.in
@@ -352,7 +352,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -384,7 +383,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -408,11 +406,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -475,7 +471,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/fortran/examples/run-hlfortran-ex.sh.in b/hl/fortran/examples/run-hlfortran-ex.sh.in
index 2780bff..12f9fec 100644
--- a/hl/fortran/examples/run-hlfortran-ex.sh.in
+++ b/hl/fortran/examples/run-hlfortran-ex.sh.in
@@ -34,7 +34,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
-prefix="${prefix:-../../../../}"
+prefix="${prefix:-@prefix@}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"
diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt
index f188a53..6e6e44a 100644
--- a/hl/fortran/src/CMakeLists.txt
+++ b/hl/fortran/src/CMakeLists.txt
@@ -8,7 +8,6 @@ INCLUDE_DIRECTORIES (
${HDF5_HL_SRC_DIR}/src
${HDF5_F90_SRC_DIR}/src
${HDF5_F90_BINARY_DIR}
- ${CMAKE_Fortran_MODULE_DIRECTORY}
)
#-----------------------------------------------------------------------------
@@ -26,7 +25,7 @@ set_source_files_properties (${HDF5_HL_F90_C_SRCS} PROPERTIES LANGUAGE C)
set (HDF5_HL_F90_HEADERS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTf90proto.h)
add_library (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_HL_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_HL_F90_C_LIB_NAME} ${LIB_TYPE})
@@ -66,8 +65,7 @@ if (WIN32)
HDF5F90_WINDOWS
)
endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} " " ${SHARED_LINK_FLAGS})
-set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES LINKER_LANGUAGE Fortran)
+TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
target_link_libraries (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} ${LIB_TYPE})
@@ -75,37 +73,35 @@ set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES
FOLDER libraries/hl/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
+
if (WIN32)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5ds.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5tb.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5lt.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE}/h5im.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
else (WIN32)
- install (
- FILES
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5ds.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5tb.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5lt.mod
- ${CMAKE_Fortran_MODULE_DIRECTORY}/h5im.mod
- DESTINATION
- ${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
- fortheaders
- )
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
endif (WIN32)
+set (mod_files
+ ${MOD_BUILD_DIR}/h5ds.mod
+ ${MOD_BUILD_DIR}/h5tb.mod
+ ${MOD_BUILD_DIR}/h5lt.mod
+ ${MOD_BUILD_DIR}/h5im.mod
+)
+
+install (
+ FILES
+ ${mod_files}
+ DESTINATION
+ ${HDF5_INSTALL_INCLUDE_DIR}
+ COMPONENT
+ fortheaders
+)
+
#-----------------------------------------------------------------------------
# Add Target(s) to CMake Install for import into other projects
#-----------------------------------------------------------------------------
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 6b02f75..1989c5a 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -426,7 +426,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ -I$(top_builddir)/fortran/src \
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -458,7 +457,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -482,11 +480,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -549,7 +545,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -685,7 +680,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
# Our main target, the high-level fortran library
diff --git a/hl/fortran/test/CMakeLists.txt b/hl/fortran/test/CMakeLists.txt
index fcb0b8c..55fb987 100644
--- a/hl/fortran/test/CMakeLists.txt
+++ b/hl/fortran/test/CMakeLists.txt
@@ -9,32 +9,36 @@ INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${
#-- Adding test for hl_f90_tstds
add_executable (hl_f90_tstds tstds.f90)
TARGET_NAMING (hl_f90_tstds ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstds " " " ")
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstds ${LIB_TYPE} " " " ")
target_link_libraries (hl_f90_tstds ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
+target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (hl_f90_tstds PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstds PROPERTIES FOLDER test/hl/fortran)
#-- Adding test for hl_f90_tstlite
add_executable (hl_f90_tstlite tstlite.f90)
TARGET_NAMING (hl_f90_tstlite ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite " " " ")
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite ${LIB_TYPE} " " " ")
target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
+target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran)
#-- Adding test for hl_f90_tstimage
add_executable (hl_f90_tstimage tstimage.f90)
TARGET_NAMING (hl_f90_tstimage ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage " " " ")
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage ${LIB_TYPE} " " " ")
target_link_libraries (hl_f90_tstimage ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
+target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (hl_f90_tstimage PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstimage PROPERTIES FOLDER test/hl/fortran)
#-- Adding test for hl_f90_tsttable
add_executable (hl_f90_tsttable tsttable.f90)
TARGET_NAMING (hl_f90_tsttable ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable " " " ")
+TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable ${LIB_TYPE} " " " ")
target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
+target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
set_target_properties (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran)
diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in
index baa8eb2..6725d26 100644
--- a/hl/fortran/test/Makefile.in
+++ b/hl/fortran/test/Makefile.in
@@ -417,7 +417,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ -I$(top_builddir)/fortran/src \
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -449,7 +448,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -473,11 +471,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -540,7 +536,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt
index f4d5a96..3c24e40 100644
--- a/hl/src/CMakeLists.txt
+++ b/hl/src/CMakeLists.txt
@@ -34,7 +34,7 @@ set (HL_HEADERS
)
add_library (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} ${HL_SRCS} ${HL_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} ${LIB_TYPE})
set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES
diff --git a/hl/src/H5DS.c b/hl/src/H5DS.c
index 939a99f..de6e66c 100644
--- a/hl/src/H5DS.c
+++ b/hl/src/H5DS.c
@@ -1430,10 +1430,12 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
hid_t aid = -1; /* attribute ID */
int rank; /* rank of dataset */
hsize_t dims[1]; /* dimensions of dataset */
- const char **buf = NULL; /* buffer to store in the attribute */
H5I_type_t it; /* ID type */
unsigned int i;
-
+ union { /* union is needed to eliminate compiler warnings about */
+ char ** buf; /* discarding the 'const' qualifier in the free */
+ char const ** const_buf; /* buf calls */
+ } u;
/*-------------------------------------------------------------------------
* parameter checking
*-------------------------------------------------------------------------
@@ -1496,19 +1498,19 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
/* allocate and initialize */
- buf = (const char **) HDmalloc((size_t) rank * sizeof(char *));
+ u.const_buf = (char const **) HDmalloc((size_t) rank * sizeof(char *));
- if (buf == NULL)
+ if (u.const_buf == NULL)
goto out;
for (i = 0; i < (unsigned int) rank; i++)
- buf[i] = NULL;
+ u.const_buf[i] = NULL;
/* store the label information in the required index */
- buf[idx] = label;
+ u.const_buf[idx] = label;
/* write the attribute with the label */
- if (H5Awrite(aid, tid, buf) < 0)
+ if (H5Awrite(aid, tid, u.const_buf) < 0)
goto out;
/* close */
@@ -1518,10 +1520,10 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
if (H5Aclose(aid) < 0)
goto out;
- if (buf)
+ if (u.const_buf)
{
- HDfree(buf);
- buf = NULL;
+ HDfree(u.const_buf);
+ u.const_buf = NULL;
}
}
@@ -1532,6 +1534,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
else
{
+
if ((aid = H5Aopen(did, DIMENSION_LABELS, H5P_DEFAULT)) < 0)
goto out;
@@ -1539,34 +1542,34 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
/* allocate and initialize */
- buf = (const char **) HDmalloc((size_t) rank * sizeof(char *));
-
- if (buf == NULL)
+ u.buf = (char **) HDmalloc((size_t) rank * sizeof(char *));
+
+ if (u.buf == NULL)
goto out;
/* read */
- if (H5Aread(aid, tid, (void *) buf) < 0)
+ if (H5Aread(aid, tid, (void *)u.buf) < 0)
goto out;
/* free the ptr that will be replaced by label */
- if (buf[idx])
- HDfree(buf[idx]);
+ if (u.buf[idx])
+ HDfree(u.buf[idx]);
/* store the label information in the required index */
- buf[idx] = label;
+ u.const_buf[idx] = label;
/* write the attribute with the new references */
- if (H5Awrite(aid, tid, buf) < 0)
+ if (H5Awrite(aid, tid, u.buf) < 0)
goto out;
/* label was brought in, so don't free */
- buf[idx] = NULL;
+ u.buf[idx] = NULL;
/* free all the ptr's from the H5Aread() */
for (i = 0; i < (unsigned int) rank; i++)
{
- if (buf[i])
- HDfree(buf[i]);
+ if (u.buf[i])
+ HDfree(u.buf[i]);
}
/* close */
@@ -1574,28 +1577,29 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
if (H5Aclose(aid) < 0)
goto out;
- if (buf)
+ if (u.buf)
{
- HDfree(buf);
- buf = NULL;
+ HDfree(u.buf);
+ u.buf = NULL;
}
}
return SUCCEED;
/* error zone */
+
out:
- if (buf)
+ if (u.buf)
{
- if (buf[idx]) /* check if we errored during H5Awrite */
- buf[idx] = NULL; /* don't free label */
+ if (u.buf[idx]) /* check if we errored during H5Awrite */
+ u.buf[idx] = NULL; /* don't free label */
/* free all the ptr's from the H5Aread() */
for (i = 0; i < (unsigned int) rank; i++)
{
- if (buf[i])
- HDfree(buf[i]);
+ if (u.buf[i])
+ HDfree(u.buf[i]);
}
- HDfree(buf);
+ HDfree(u.buf);
}
H5E_BEGIN_TRY
{
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index b59a7bc..8a3bf09 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -407,7 +407,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -439,7 +438,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -463,11 +461,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -530,7 +526,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -666,7 +661,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
# This library is our main target.
diff --git a/hl/test/CMakeLists.txt b/hl/test/CMakeLists.txt
index 28c716c..47383ce 100644
--- a/hl/test/CMakeLists.txt
+++ b/hl/test/CMakeLists.txt
@@ -23,7 +23,7 @@ INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
MACRO (HL_ADD_EXE hl_name)
add_executable (hl_${hl_name} ${hl_name}.c)
TARGET_NAMING (hl_${hl_name} ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_${hl_name} " " " ")
+ TARGET_C_PROPERTIES (hl_${hl_name} ${LIB_TYPE} " " " ")
target_link_libraries (hl_${hl_name}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -45,8 +45,8 @@ HL_ADD_EXE (test_table)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (hl_gen_test_ds gen_test_ds.c)
- TARGET_NAMING (hl_gen_test_ds ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_gen_test_ds " " " ")
+ TARGET_NAMING (hl_gen_test_ds STATIC)
+ TARGET_C_PROPERTIES (hl_gen_test_ds STATIC " " " ")
target_link_libraries (hl_gen_test_ds
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in
index c98ed35..7a5df10 100644
--- a/hl/test/Makefile.in
+++ b/hl/test/Makefile.in
@@ -458,7 +458,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -490,7 +489,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -514,11 +512,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -581,7 +577,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/tools/CMakeLists.txt b/hl/tools/CMakeLists.txt
index 567b3da..f58a513 100644
--- a/hl/tools/CMakeLists.txt
+++ b/hl/tools/CMakeLists.txt
@@ -19,7 +19,7 @@ INCLUDE_DIRECTORIES (${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5)
add_executable (gif2h5 ${GIF2H5_SRCS})
TARGET_NAMING (gif2h5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (gif2h5 " " " ")
+TARGET_C_PROPERTIES (gif2h5 ${LIB_TYPE} " " " ")
target_link_libraries (gif2h5 ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (gif2h5 PROPERTIES FOLDER tools/hl)
@@ -30,7 +30,7 @@ set (hdf2gif_SRCS
)
add_executable (h52gif ${hdf2gif_SRCS})
TARGET_NAMING (h52gif ${LIB_TYPE})
-TARGET_C_PROPERTIES (h52gif " " " ")
+TARGET_C_PROPERTIES (h52gif ${LIB_TYPE} " " " ")
target_link_libraries (h52gif ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h52gif PROPERTIES FOLDER tools/hl)
@@ -42,8 +42,8 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c)
- TARGET_NAMING (hl_h52gifgentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_h52gifgentest " " " ")
+ TARGET_NAMING (hl_h52gifgentest STATIC)
+ TARGET_C_PROPERTIES (hl_h52gifgentest STATIC " " " ")
target_link_libraries (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
diff --git a/hl/tools/CMakeTests.cmake b/hl/tools/CMakeTests.cmake
index a340c2d..4ebd7a2 100644
--- a/hl/tools/CMakeTests.cmake
+++ b/hl/tools/CMakeTests.cmake
@@ -26,6 +26,13 @@ add_custom_command (
ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/h52giftst.h5 ${PROJECT_BINARY_DIR}/testfiles/h52giftst.h5
)
+add_custom_command (
+ TARGET h52gif
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/ex_image2.h5 ${PROJECT_BINARY_DIR}/testfiles/ex_image2.h5
+)
+
# Remove any output file left over from previous test run
add_test (
NAME HL_TOOLS-clear-objects
@@ -33,8 +40,19 @@ add_test (
-E remove
image1.gif
image1.h5
+ image.gif
+ image24.gif
)
+add_test (NAME HL_TOOLS_gif2h5 COMMAND $<TARGET_FILE:gif2h5> testfiles/image1.gif image1.h5)
+
add_test (NAME HL_TOOLS_h52gif COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image1.gif -i image)
-add_test (NAME HL_TOOLS_gif2h5 COMMAND $<TARGET_FILE:gif2h5> testfiles/image1.gif image1.h5)
+add_test (NAME HL_TOOLS_h52gif_none COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image.gif -i nosuch_image)
+set_tests_properties (HL_TOOLS_h52gif_none PROPERTIES WILL_FAIL "true")
+
+#add_test (NAME HL_TOOLS_h52gifpal COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image.gif -i palette)
+#set_tests_properties (HL_TOOLS_h52gifpal PROPERTIES WILL_FAIL "true")
+
+add_test (NAME HL_TOOLS_h52gif24bits COMMAND $<TARGET_FILE:h52gif> testfiles/ex_image2.h5 image24.gif -i image24bitpixel)
+set_tests_properties (HL_TOOLS_h52gif24bits PROPERTIES WILL_FAIL "true")
diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in
index 097cd1e..324d0c7 100644
--- a/hl/tools/Makefile.in
+++ b/hl/tools/Makefile.in
@@ -406,7 +406,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -438,7 +437,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -462,11 +460,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -529,7 +525,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in
index d3245ed..3da84e1 100644
--- a/hl/tools/gif2h5/Makefile.in
+++ b/hl/tools/gif2h5/Makefile.in
@@ -420,7 +420,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -452,7 +451,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -476,11 +474,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -543,7 +539,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/hl/tools/gif2h5/decompress.c b/hl/tools/gif2h5/decompress.c
index d4e4cdc..ef2d78a 100644
--- a/hl/tools/gif2h5/decompress.c
+++ b/hl/tools/gif2h5/decompress.c
@@ -90,7 +90,7 @@ ReadCode(void)
RawCode += (0x10000 * Raster[ByteOffset + 2]);
RawCode >>= (BitOffset % 8);
- BitOffset += CodeSize;
+ BitOffset += (int)CodeSize;
return (RawCode & ReadMask);
}
diff --git a/hl/tools/gif2h5/gif2mem.c b/hl/tools/gif2h5/gif2mem.c
index a2e4893..456a32d 100644
--- a/hl/tools/gif2h5/gif2mem.c
+++ b/hl/tools/gif2h5/gif2mem.c
@@ -153,7 +153,7 @@ Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct)
if (ImageCount > ImageArray) {
aTemp = ImageArray;
- ImageArray = (ImageArray << 1) + 1;
+ ImageArray = (BYTE)((ImageArray << 1) + 1);
if (!(gifImageDesc = (GIFIMAGEDESC **)realloc(gifImageDesc,
sizeof(GIFIMAGEDESC *) * ImageArray))) {
printf("Out of memory!");
@@ -220,7 +220,7 @@ Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct)
PlainTextCount++;
if (PlainTextCount > PlainTextArray)
- PlainTextArray = (PlainTextArray << 1) + 1;
+ PlainTextArray = (BYTE)((PlainTextArray << 1) + 1);
if (!(gifPlainText = (GIFPLAINTEXT **)realloc(gifPlainText , sizeof(GIFPLAINTEXT *) * PlainTextArray))) {
printf("Out of memory!");
@@ -242,7 +242,7 @@ Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct)
CommentCount++;
if (CommentCount > CommentArray)
- CommentArray = (CommentArray << 1) + 1;
+ CommentArray = (BYTE)((CommentArray << 1) + 1);
if (!(gifComment = (GIFCOMMENT **)realloc(gifComment , sizeof(GIFCOMMENT *) * CommentArray))) {
printf("Out of memory!");
@@ -269,7 +269,7 @@ Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct)
if (ImageCount > ImageArray) {
aTemp = ImageArray;
- ImageArray = (ImageArray << 1) + 1;
+ ImageArray = (BYTE)((ImageArray << 1) + 1);
if (!(gifGraphicControl = (GIFGRAPHICCONTROL **)realloc(gifGraphicControl , sizeof(GIFGRAPHICCONTROL *) * ImageArray))) {
printf("Out of memory!");
@@ -307,7 +307,7 @@ Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct)
ApplicationCount++;
if (ApplicationCount > ApplicationArray)
- ApplicationArray = (ApplicationArray << 1) + 1;
+ ApplicationArray = (BYTE)((ApplicationArray << 1) + 1);
if (!(gifApplication = (GIFAPPLICATION **)realloc(gifApplication , sizeof(GIFAPPLICATION *) * ApplicationArray))) {
printf("Out of memory!");
diff --git a/hl/tools/gif2h5/h52gifgentst.c b/hl/tools/gif2h5/h52gifgentst.c
index ef38c3b..3433d0a 100644
--- a/hl/tools/gif2h5/h52gifgentst.c
+++ b/hl/tools/gif2h5/h52gifgentst.c
@@ -64,7 +64,7 @@ int main(void)
space = WIDTH*HEIGHT / PAL_ENTRIES;
for (i=0, j=0, n=0; i < WIDTH*HEIGHT; i++, j++ )
{
- buf[i] = n;
+ buf[i] = (unsigned char)n;
if ( j > space )
{
n++;
@@ -83,9 +83,9 @@ int main(void)
*/
for ( i=0, n=0; i<PAL_ENTRIES*3; i+=3, n++)
{
- pal[i] =n; /* red */
- pal[i+1]=0; /* green */
- pal[i+2]=255-n; /* blue */
+ pal[i] = (unsigned char)n; /* red */
+ pal[i+1] = (unsigned char)0; /* green */
+ pal[i+2] = (unsigned char)(255-n); /* blue */
}
/* make a palette */
diff --git a/hl/tools/gif2h5/h52giftest.sh.in b/hl/tools/gif2h5/h52giftest.sh.in
index 186b369..7aec219 100644
--- a/hl/tools/gif2h5/h52giftest.sh.in
+++ b/hl/tools/gif2h5/h52giftest.sh.in
@@ -18,6 +18,7 @@
TESTFILE1="$srcdir/testfiles/h52giftst.h5"
TESTFILE2="$srcdir/testfiles/image1.gif"
+TESTFILE3="$srcdir/testfiles/ex_image2.h5"
# initialize errors variable
errors=0
@@ -29,45 +30,69 @@ TESTING() {
-TOOLTEST1()
+# Verify the test runs with success (return code is 0)
+TOOLTEST()
{
- $RUNSERIAL ./h52gif $*
-
- RET=$?
- if [ $RET != 0 ] ; then
- echo "*FAILED*"
- errors="` expr $errors + 1 `";
- else
- echo " PASSED"
- fi
+ # for now, discard any error messages generated.
+ $RUNSERIAL $* > /dev/null 2>&1
+
+ RET=$?
+ if [ $RET = 0 ] ; then
+ echo " PASSED"
+ else
+ echo "*FAILED*"
+ errors="` expr $errors + 1 `";
+ fi
}
-TOOLTEST2()
+# Verify the test runs with failure (return code is not 0)
+# Use for testing if tool can handle error conditions like
+# illegal input, bad arguments, exeeding limits, ...
+TOOLTESTFAIL()
{
- $RUNSERIAL ./gif2h5 $*
-
- RET=$?
- if [ $RET != 0 ] ; then
- echo "*FAILED*"
- errors="` expr $errors + 1 `";
- else
- echo " PASSED"
- fi
+ # for now, discard any error messages generated.
+ $RUNSERIAL $* > /dev/null 2>&1
+
+ RET=$?
+ if [ $RET != 0 ] ; then
+ echo " PASSED"
+ else
+ echo "*FAILED*"
+ errors="` expr $errors + 1 `";
+ fi
}
+# Positive tests for gif2h5
+echo "**validate the gif2h5 tool processes input correctly..."
+TESTING "./gif2h5 image1.gif image1.h5"
+TOOLTEST ./gif2h5 $TESTFILE2 image1.h5
+echo ""
+# Positive tests for h52gif
+echo "**validate the h52gif tool processes input correctly..."
TESTING "./h52gif h52giftst.h5 image1.gif -i image"
-TOOLTEST1 $TESTFILE1 image1.gif -i image
-TESTING "./gif2h5 image1.gif image1.h5"
-TOOLTEST2 $TESTFILE2 image1.h5
+TOOLTEST ./h52gif $TESTFILE1 image1.gif -i image
+echo ""
+# Negative tests.
+echo "**verify the the h52gif tool handle error conditions correctly..."
+# nonexisting dataset name
+TESTING "./h52gif h52giftst.h5 image.gif -i nosuch_image"
+TOOLTESTFAIL "./h52gif $TESTFILE1 image.gif -i nosuch_image"
+# this test should have failed but it did not. Comment it out for now.
+#TESTING "./h52gif h52giftst.h5 image.gif -i palette"
+#TOOLTESTFAIL "./h52gif $TESTFILE1 image.gif -i palette"
+TESTING "./h52gif h52giftst.h5 image24.gif -i image24bitpixel"
+TOOLTESTFAIL "./h52gif $TESTFILE3 image24.gif -i image24bitpixel"
+echo ""
+# all done. summarize results.
if test $errors -eq 0 ; then
- echo "All h52gif tests passed."
+ echo "All gif2h5 and h52gif tests passed."
exit 0
else
- echo "h52gif tests failed with $errors errors."
+ echo "Some gif2h5 or h52gif tests failed with $errors errors."
exit 1
fi
diff --git a/hl/tools/gif2h5/hdf2gif.c b/hl/tools/gif2h5/hdf2gif.c
index 090d657..5c342ba 100644
--- a/hl/tools/gif2h5/hdf2gif.c
+++ b/hl/tools/gif2h5/hdf2gif.c
@@ -20,6 +20,8 @@
#include "h5tools.h"
#include "h5tools_utils.h"
+#define IMAGE_WIDTH_MAX 65535 /* unsigned 16bits integer */
+#define IMAGE_HEIGHT_MAX 65535 /* unsigned 16bits integer */
int EndianOrder;
@@ -147,6 +149,17 @@ int main(int argc , char **argv)
if ( H5IMget_image_info( fid, image_name, &width, &height, &planes, interlace, &npals ) < 0 )
goto out;
+ if (width > IMAGE_WIDTH_MAX || height > IMAGE_HEIGHT_MAX){
+ fprintf(stderr, "HDF5 image is too large. Limit is %d by %d.\n", IMAGE_WIDTH_MAX, IMAGE_HEIGHT_MAX);
+ goto out;
+ }
+
+ /* tool can handle single plane images only. */
+ if (planes > 1){
+ fprintf(stderr, "Cannot handle multiple planes image\n");
+ goto out;
+ }
+
Image = (BYTE*) malloc( (size_t) width * (size_t) height );
if ( H5IMread_image( fid, image_name, Image ) < 0 )
@@ -194,9 +207,9 @@ int main(int argc , char **argv)
numcols = 256;
for (i = 0 ; i < numcols ; i++)
{
- Red[i] = 255 - i;
- Green[i] = 255 - i;
- Blue[i] = 255 - i;
+ Red[i] = (BYTE)(255 - i);
+ Green[i] = (BYTE)(255 - i);
+ Blue[i] = (BYTE)(255 - i);
}
}
else
@@ -229,7 +242,7 @@ int main(int argc , char **argv)
if (j==i)
{
/* wasn't found */
- pc2nc[i] = nc;
+ pc2nc[i] = (BYTE)nc;
r1[nc] = Red[i];
g1[nc] = Green[i];
b1[nc] = Blue[i];
diff --git a/hl/tools/gif2h5/hdfgifwr.c b/hl/tools/gif2h5/hdfgifwr.c
index d828226..4c52f4c 100644
--- a/hl/tools/gif2h5/hdfgifwr.c
+++ b/hl/tools/gif2h5/hdfgifwr.c
@@ -270,7 +270,7 @@ nomatch:
ent = c;
if (free_ent < maxmaxcode) {
- CodeTabOf (i) = free_ent++; /* code -> hashtable */
+ CodeTabOf (i) = (unsigned short)free_ent++; /* code -> hashtable */
HashTabOf (i) = fcode;
} else {
cl_block();
@@ -313,9 +313,9 @@ output(int code)
cur_accum &= masks[cur_bits];
if (cur_bits > 0)
- cur_accum |= ((long)code << cur_bits);
+ cur_accum |= (unsigned long)((long)code << cur_bits);
else
- cur_accum = code;
+ cur_accum = (unsigned long)code;
cur_bits += n_bits;
@@ -437,7 +437,7 @@ static char accum[ 256 ];
static void
char_out(int c)
{
- accum[ a_count++ ] = c;
+ accum[ a_count++ ] = (char)c;
if (a_count >= 254)
flush_char();
diff --git a/hl/tools/gif2h5/testfiles/REAMDE b/hl/tools/gif2h5/testfiles/REAMDE
new file mode 100644
index 0000000..a428d47
--- /dev/null
+++ b/hl/tools/gif2h5/testfiles/REAMDE
@@ -0,0 +1,6 @@
+ex_image2.h5
+ Generated by hl/examples/ex_image2.c
+5giftst.h5:
+ Generated by ../h52gifgentst.c
+image1.gif:
+ To be determined.
diff --git a/hl/tools/gif2h5/testfiles/ex_image2.h5 b/hl/tools/gif2h5/testfiles/ex_image2.h5
new file mode 100644
index 0000000..a36df1b
--- /dev/null
+++ b/hl/tools/gif2h5/testfiles/ex_image2.h5
Binary files differ
diff --git a/hl/tools/h5watch/Makefile.in b/hl/tools/h5watch/Makefile.in
index ffb0cfa..77545ca 100644
--- a/hl/tools/h5watch/Makefile.in
+++ b/hl/tools/h5watch/Makefile.in
@@ -417,7 +417,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -449,7 +448,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -473,11 +471,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -540,7 +536,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 248f03f..dc87d5a 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -30,7 +30,7 @@ Obtaining HDF5 source code
CMake version
1. We suggest you obtain the latest CMake from the Kitware web site.
- The HDF5 1.8."X" product requires a minimum CMake version 2.8.12,
+ The HDF5 1.8."X" product requires a minimum CMake version 3.1.0,
where "X" is the current HDF5 release version.
@@ -227,7 +227,7 @@ IV. Further considerations
========================================================================
1. We suggest you obtain the latest CMake for windows from the Kitware
- web site. The HDF5 1.8."X" product requires a minimum CMake version 2.8.12.
+ web site. The HDF5 1.8."X" product requires a minimum CMake version 3.1.0.
2. If you plan to use Zlib or Szip:
A. Download the binary packages and install them in a central location.
@@ -542,15 +542,14 @@ The config/cmake/cacheinit.cmake file overrides the following values.
---------------- General Build Options ---------------------
BUILD_SHARED_LIBS "Build Shared Libraries" OFF
BUILD_STATIC_EXECS "Build Static Executabless" OFF
-BUILD_STATIC_PIC "Build Static PIC" OFF
BUILD_TESTING "Build HDF5 Unit Testing" OFF
---------------- HDF5 Build Options ---------------------
-HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF
-HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF
+HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" ON
+HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON
HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
-HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF
-HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF
+HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON
+HDF5_BUILD_TOOLS "Build HDF5 Tools" ON
if (HDF5_BUILD_FORTRAN)
HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON
@@ -574,7 +573,6 @@ HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks"
HDF5_TEST_VFD "Execute tests with different VFDs" OFF
HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF
HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." OFF
-HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON
HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON
HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
if (APPLE)
@@ -590,10 +588,6 @@ HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF
HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF
ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0
SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0
-HDF5_USE_FILTER_FLETCHER32 "Use the FLETCHER32 Filter" ON
-HDF5_USE_FILTER_NBIT "Use the NBIT Filter" ON
-HDF5_USE_FILTER_SCALEOFFSET "Use the SCALEOFFSET Filter" ON
-HDF5_USE_FILTER_SHUFFLE "Use the SHUFFLE Filter" ON
if (HDF5_ENABLE_SZIP_SUPPORT)
HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
if (WINDOWS)
diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel
index 2624b3b..c38c3fc 100644
--- a/release_docs/INSTALL_parallel
+++ b/release_docs/INSTALL_parallel
@@ -107,89 +107,9 @@ This allows for >2GB sized files on Linux systems and is only available with
Linux kernels 2.4 and greater.
-2.4. Red Storm (Cray XT3) (for v1.8 and later)
+2.4. Hopper (Cray XE6) (for v1.8 and later)
-------------------------
-Both serial and parallel HDF5 are supported in Red Storm.
-2.4.1 Building serial HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the serial HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/hdf5'.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" \
- CC=cc FC=ftn CXX=CC \
- ./configure --prefix=/project/hdf5/hdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.2 Building parallel HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the Parallel HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/phdf5'. You also
-# have done the proper setup to have mpicc and mpif90 as the compiler commands.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" RUNPARALLEL="yod -sz 3" \
- CC=cc FC=ftn \
- ./configure --enable-parallel --prefix=/project/hdf5/phdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.3 Red Storm known problems
-------------------------------
-For Red Storm, a Cray XT3 system, the yod command sometimes gives the
-message, "yod allocation delayed for node recovery". This interferes with
-test suites that do not expect seeing this message. To bypass this problem,
-I launch the executables with a command shell script called "myyod" which
-consists of the following lines. (You should set $RUNSERIAL and $RUNPARALLEL
-to use myyod instead of yod.)
-==== myyod =======
-#!/bin/sh
-# sleep 2 seconds to allow time for the node recovery else it pops the
-# message,
-# yod allocation delayed for node recovery
-sleep 2
-yod $*
-==== end of myyod =======
-
-For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh will fail on
-the test "Testing h5ls -w80 -r -g tgroup.h5" fails. This test is
-expected to fail and exit with a non-zero code but the yod command does
-not propagate the exit code of the executables. Yod always returns 0 if it
-can launch the executable. The test suite shell expects a non-zero for
-this particular test, therefore it concludes the test has failed when it
-receives 0 from yod. To bypass this problem for now, change the following
-lines in the tools/h5ls/testh5ls.sh.
-======== Original =========
-# The following combination of arguments is expected to return an error message
-# and return value 1
-TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== Skip the test =========
-echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== end of bypass ========
-
-2.5. Hopper (Cray XE6) (for v1.8 and later)
--------------------------
-
-2.5.1 Building HDF5 for Hopper
-------------------------------------------
The following steps are for building HDF5 for the Hopper compute
nodes. They would probably work for other Cray systems but have
not been verified.
@@ -226,43 +146,6 @@ The build will be in build-hdf5/hdf5/ (or whatever you specify in --prefix).
To compile other HDF5 applications use the wrappers created by the build (build-hdf5/hdf5/bin/h5pcc or h5fc)
-2.5.2 Hopper known issues
-------------------------------
-Issue 1:
-Sometimes when building the library with make, you might get this problem:
-
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | \
-sed -e 's/-L/:/g' -e 's/
-//g'`" \
-./H5make_libsettings > H5lib_settings.c
-|| \
-(test $HDF5_Make_Ignore && echo "*** Error ignored")
-|| \
-(rm -f H5lib_settings.c ; exit 1)
-/bin/sh: line 4: 9644 Segmentation fault
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | sed -e 's/-L/:/g' -e 's/
-//g'`" ./H5make_libsettings > H5lib_settings.c
-
-If that happens, you are probable running with make -j <x>. In that
-case, you need to cleanup everything and start again as detailed above
-but use serial make (do not use -j <x>).
-
-Issue 2:
-* When building using the Cray compilers on Cray machines, HDF5
- configure mistakenly thinks the compiler is an intel compiler and
- sets the -std=c99 flag which breaks configure on Cray. To build HDF5
- properly on a Cray machine, please consult with the instructions in
- INSTALL_parallel for building on Hopper.
- (MSC - 2013/04/26 - HDFFV-8429)
-
-Issue 3:
-* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
- to aprun -np X, because the H5lib_settings.c file was not generated
- properly. Not setting those environment variables works, because
- configure was able to automatically detect that it's a Cray system
- and used the proper launch commands when necessary.
- (MSC - 2012/04/18)
-
3. Detail explanation
---------------------
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 15d3206..d840b65 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.216-swmr0 currently under development
+HDF5 version 1.9.217-swmr0 currently under development
================================================================================
diff --git a/release_docs/USING_CMake_Examples.txt b/release_docs/USING_CMake_Examples.txt
index 6bc7ff0..0956ff1 100644
--- a/release_docs/USING_CMake_Examples.txt
+++ b/release_docs/USING_CMake_Examples.txt
@@ -22,7 +22,7 @@ I. Preconditions
1. We suggest you obtain the latest CMake for windows from the Kitware
web site. The HDF5 1.8.x product requires a minimum CMake version
- of 2.8.12.
+ of 3.1.0.
2. You have installed the HDF5 library built with CMake, by executing
the HDF Install Utility (the *.exe file in the binary package for
@@ -47,7 +47,7 @@ Files in the HDF5 install directory:
Default installation process:
Create a directory to run the examples, i.e. \test_hdf5.
- Copy HDF5Examples-0.1.1-Source.zip(.tar.gz) to this directory, do NOT unzip.
+ Copy HDF5Examples-0.1.1-Source.zip(.tar.gz) to this directory, uncompress.
Copy HDF518_Examples.cmake to this directory.
Edit line 8 of the HDF518_Examples.cmake file and change the INSTALLDIR
to the HDF5 install location.
@@ -55,7 +55,7 @@ Default installation process:
Execute from this directory:
ctest -S HDF518_Examples.cmake,HDF5Examples-0.1.1-Source -C Release -O test.log
-The script will uncompress the examples file HDF5Examples-0.1.1-Source.zip(.tar.gz),
+The script will use the examples folder HDF5Examples-0.1.1-Source,
and create a build directory inside the HDF5Examples-0.1.1-Source directory.
It will then configure, build, and execute the examples. All the log files
will be found under the build\Testing\Temporary directory, check these for
@@ -75,9 +75,9 @@ Line 14: uncomment to allow Mac machines to build shared examples.
Line 15: uncomment to build and test Fortran examples.
-Line 16: uncomment to build and test Fortran examples with F2003 option.
+Line 16: comment to NOT build and test Fortran examples with F2003 option.
-Line 17: comment to use an existing source directory.
+Line 17: uncomment to use a compressed source file.
Line 71: change the CTEST_7Z_COMMAND to a different unzip program.
diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt
index ae62ac9..347876c 100644
--- a/release_docs/USING_HDF5_CMake.txt
+++ b/release_docs/USING_HDF5_CMake.txt
@@ -37,7 +37,7 @@ I. Preconditions
1. We suggest you obtain the latest CMake for windows from the Kitware
web site. The HDF5 1.8.x product requires a minimum CMake version
- of 2.8.12.
+ of 3.1.0.
2. You have installed the HDF5 library built with CMake, by executing
the HDF Install Utility (the *.exe file in the binary package for
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d6368cd..de8cc9e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -784,14 +784,14 @@ set (H5_PRIVATE_HEADERS
# specific type checks inside
#-----------------------------------------------------------------------------
#add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c)
-#TARGET_C_PROPERTIES (H5detect " " " ")
+#TARGET_C_PROPERTIES (H5detect STATIC " " " ")
IF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
SET (LOCAL_OPT_FLAG "-O0")
ELSE (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
SET (LOCAL_OPT_FLAG " ")
ENDIF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c)
-TARGET_C_PROPERTIES (H5detect ${LOCAL_OPT_FLAG} " ")
+TARGET_C_PROPERTIES (H5detect STATIC ${LOCAL_OPT_FLAG} " ")
if (MSVC OR MINGW)
target_link_libraries (H5detect "ws2_32.lib")
@@ -806,7 +806,7 @@ add_custom_command (
)
add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
-TARGET_C_PROPERTIES (H5make_libsettings " " " ")
+TARGET_C_PROPERTIES (H5make_libsettings STATIC " " " ")
if (MSVC OR MINGW)
target_link_libraries (H5make_libsettings "ws2_32.lib")
endif (MSVC OR MINGW)
@@ -873,7 +873,7 @@ set (common_SRCS ${common_SRCS} ${HDF5_BINARY_DIR}/H5overflow.h)
set_source_files_properties (${HDF5_BINARY_DIR}/H5overflow.h GENERATED)
add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
if (NOT WIN32)
target_link_libraries (${HDF5_LIB_TARGET} dl)
diff --git a/src/H5A.c b/src/H5A.c
index 7dae36b..d474234 100644
--- a/src/H5A.c
+++ b/src/H5A.c
@@ -638,7 +638,7 @@ H5Aread(hid_t attr_id, hid_t dtype_id, void *buf)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "null attribute buffer")
/* Go write the actual data to the attribute */
- if((ret_value = H5A_read(attr, mem_type, buf, H5AC_dxpl_id)) < 0)
+ if((ret_value = H5A_read(attr, mem_type, buf, H5AC_ind_dxpl_id)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "unable to read attribute")
done:
@@ -1160,7 +1160,7 @@ H5Arename_by_name(hid_t loc_id, const char *obj_name, const char *old_attr_name,
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
/* Call private attribute rename routine */
- if(H5A_rename_by_name(loc, obj_name, old_attr_name, new_attr_name, lapl_id) < 0)
+ if(H5A_rename_by_name(loc, obj_name, old_attr_name, new_attr_name, lapl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute")
} /* end if */
@@ -1537,7 +1537,7 @@ H5Adelete_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type,
H5G_loc_reset(&obj_loc);
/* Find the object's location */
- if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
@@ -1668,7 +1668,7 @@ H5Aexists_by_name(hid_t loc_id, const char *obj_name, const char *attr_name,
if(TRUE != H5P_isa_class(lapl_id, H5P_LINK_ACCESS))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not link access property list ID")
- if((ret_value = H5A_exists_by_name(loc, obj_name, attr_name, lapl_id)) < 0)
+ if((ret_value = H5A_exists_by_name(loc, obj_name, attr_name, lapl_id, H5AC_ind_dxpl_id)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists")
done:
diff --git a/src/H5AC.c b/src/H5AC.c
index 9dfe581..39385ec 100644
--- a/src/H5AC.c
+++ b/src/H5AC.c
@@ -106,11 +106,6 @@ H5FL_DEFINE_STATIC(H5AC_slist_entry_t);
/* (Global variable definition, declaration is in H5ACprivate.h also) */
hid_t H5AC_dxpl_id=(-1);
-/* Private dataset transfer property list for metadata I/O calls */
-/* (Collective set and "library internal" set) */
-/* (Static variable definition) */
-static hid_t H5AC_noblock_dxpl_id=(-1);
-
/* Dataset transfer property list for independent metadata I/O calls */
/* (just "library internal" set - i.e. independent transfer mode) */
/* (Global variable definition, declaration is in H5ACprivate.h also) */
@@ -261,9 +256,7 @@ H5AC_init_interface(void)
{
#ifdef H5_HAVE_PARALLEL
H5P_genplist_t *xfer_plist; /* Dataset transfer property list object */
- unsigned block_before_meta_write; /* "block before meta write" property value */
unsigned coll_meta_write; /* "collective metadata write" property value */
- unsigned library_internal = 1; /* "library internal" property value */
#endif /* H5_HAVE_PARALLEL */
herr_t ret_value = SUCCEED; /* Return value */
@@ -273,7 +266,7 @@ H5AC_init_interface(void)
/* Sanity check */
HDassert(H5P_CLS_DATASET_XFER_g != NULL);
- /* Get an ID for the blocking, collective H5AC dxpl */
+ /* Get an ID for the collective H5AC dxpl */
if((H5AC_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
@@ -281,51 +274,13 @@ H5AC_init_interface(void)
if (NULL == (xfer_plist = (H5P_genplist_t *)H5I_object(H5AC_dxpl_id)))
HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
- /* Insert 'block before metadata write' property */
- block_before_meta_write=1;
- if(H5P_insert(xfer_plist,H5AC_BLOCK_BEFORE_META_WRITE_NAME,H5AC_BLOCK_BEFORE_META_WRITE_SIZE,&block_before_meta_write,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(xfer_plist,H5AC_LIBRARY_INTERNAL_NAME,H5AC_LIBRARY_INTERNAL_SIZE,&library_internal,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
/* Insert 'collective metadata write' property */
coll_meta_write = 1;
if(H5P_insert(xfer_plist, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Get an ID for the non-blocking, collective H5AC dxpl */
- if((H5AC_noblock_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
- HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
-
- /* Get the property list object */
- if (NULL == (xfer_plist = (H5P_genplist_t *)H5I_object(H5AC_noblock_dxpl_id)))
- HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
-
- /* Insert 'block before metadata write' property */
- block_before_meta_write=0;
- if(H5P_insert(xfer_plist,H5AC_BLOCK_BEFORE_META_WRITE_NAME,H5AC_BLOCK_BEFORE_META_WRITE_SIZE,&block_before_meta_write,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(xfer_plist,H5AC_LIBRARY_INTERNAL_NAME,H5AC_LIBRARY_INTERNAL_SIZE,&library_internal,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'collective metadata write' property */
- coll_meta_write = 1;
- if(H5P_insert(xfer_plist, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
-
- /* Get an ID for the non-blocking, independent H5AC dxpl */
+ /* Get an ID for the independent H5AC dxpl */
if((H5AC_ind_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
@@ -333,29 +288,16 @@ H5AC_init_interface(void)
if(NULL == (H5AC_ind_dxpl_g = (H5P_genplist_t *)H5I_object(H5AC_ind_dxpl_id)))
HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
- /* Insert 'block before metadata write' property */
- block_before_meta_write=0;
- if(H5P_insert(H5AC_ind_dxpl_g, H5AC_BLOCK_BEFORE_META_WRITE_NAME, H5AC_BLOCK_BEFORE_META_WRITE_SIZE, &block_before_meta_write,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(H5AC_ind_dxpl_g, H5AC_LIBRARY_INTERNAL_NAME, H5AC_LIBRARY_INTERNAL_SIZE, &library_internal,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
/* Insert 'collective metadata write' property */
coll_meta_write = 0;
if(H5P_insert(H5AC_ind_dxpl_g, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
#else /* H5_HAVE_PARALLEL */
/* Sanity check */
HDassert(H5P_LST_DATASET_XFER_ID_g!=(-1));
H5AC_dxpl_id = H5P_DATASET_XFER_DEFAULT;
- H5AC_noblock_dxpl_id = H5P_DATASET_XFER_DEFAULT;
H5AC_ind_dxpl_id = H5P_DATASET_XFER_DEFAULT;
/* Get the property list objects for the IDs */
@@ -392,19 +334,17 @@ H5AC_term_interface(void)
if (H5_interface_initialize_g) {
#ifdef H5_HAVE_PARALLEL
- if(H5AC_dxpl_id > 0 || H5AC_noblock_dxpl_id > 0 || H5AC_ind_dxpl_id > 0) {
+ if(H5AC_dxpl_id > 0 || H5AC_ind_dxpl_id > 0) {
/* Indicate more work to do */
n = 1; /* H5I */
/* Close H5AC dxpl */
if(H5I_dec_ref(H5AC_dxpl_id) < 0 ||
- H5I_dec_ref(H5AC_noblock_dxpl_id) < 0 ||
H5I_dec_ref(H5AC_ind_dxpl_id) < 0)
H5E_clear_stack(NULL); /*ignore error*/
else {
/* Reset static IDs */
H5AC_dxpl_id = (-1);
- H5AC_noblock_dxpl_id = (-1);
H5AC_ind_dxpl_id = (-1);
/* Reset interface initialization flag */
@@ -415,7 +355,6 @@ H5AC_term_interface(void)
#else /* H5_HAVE_PARALLEL */
/* Reset static IDs */
H5AC_dxpl_id=(-1);
- H5AC_noblock_dxpl_id=(-1);
H5AC_ind_dxpl_id=(-1);
#endif /* H5_HAVE_PARALLEL */
/* Reset interface initialization flag */
@@ -695,7 +634,7 @@ H5AC_dest(H5F_t *f, hid_t dxpl_id)
#endif /* H5_HAVE_PARALLEL */
/* Destroy the cache */
- if(H5C_dest(f, dxpl_id, H5AC_noblock_dxpl_id) < 0)
+ if(H5C_dest(f, dxpl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "can't destroy cache")
f->shared->cache = NULL;
@@ -708,8 +647,7 @@ H5AC_dest(H5F_t *f, hid_t dxpl_id)
if(aux_ptr->candidate_slist_ptr != NULL)
H5SL_close(aux_ptr->candidate_slist_ptr);
aux_ptr->magic = 0;
- H5FL_FREE(H5AC_aux_t, aux_ptr);
- aux_ptr = NULL;
+ aux_ptr = H5FL_FREE(H5AC_aux_t, aux_ptr);
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -777,7 +715,7 @@ H5AC_expunge_entry(H5F_t *f,
result = H5C_expunge_entry(f,
dxpl_id,
- H5AC_noblock_dxpl_id,
+ H5AC_dxpl_id,
type,
addr,
flags);
@@ -856,7 +794,7 @@ H5AC_flush(H5F_t *f, hid_t dxpl_id)
#endif /* H5_HAVE_PARALLEL */
/* Flush the cache */
- if(H5C_flush_cache(f, dxpl_id, H5AC_noblock_dxpl_id, H5AC__NO_FLAGS_SET) < 0)
+ if(H5C_flush_cache(f, dxpl_id, H5AC_dxpl_id, H5AC__NO_FLAGS_SET) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't flush cache.")
done:
@@ -1003,7 +941,7 @@ H5AC_insert_entry(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t add
#endif /* H5AC_DO_TAGGING_SANITY_CHECKS */
/* Insert entry into metadata cache */
- if(H5C_insert_entry(f, dxpl_id, H5AC_noblock_dxpl_id, type, addr, thing, flags) < 0)
+ if(H5C_insert_entry(f, dxpl_id, H5AC_dxpl_id, type, addr, thing, flags) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTINS, FAIL, "H5C_insert_entry() failed")
#if H5AC__TRACE_FILE_ENABLED
@@ -1024,7 +962,7 @@ H5AC_insert_entry(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t add
/* Check if we should try to flush */
if(aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold)
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
}
@@ -1177,7 +1115,7 @@ H5AC_move_entry(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t ne
#ifdef H5_HAVE_PARALLEL
/* Check if we should try to flush */
if(NULL != aux_ptr && aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -1402,7 +1340,7 @@ H5AC_protect(H5F_t *f,
thing = H5C_protect(f,
dxpl_id,
- H5AC_noblock_dxpl_id,
+ H5AC_dxpl_id,
type,
addr,
udata,
@@ -1720,13 +1658,13 @@ H5AC_unprotect(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr,
} /* end if */
#endif /* H5_HAVE_PARALLEL */
- if(H5C_unprotect(f, dxpl_id, H5AC_noblock_dxpl_id, type, addr, thing, flags) < 0)
+ if(H5C_unprotect(f, dxpl_id, H5AC_dxpl_id, type, addr, thing, flags) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "H5C_unprotect() failed.")
#ifdef H5_HAVE_PARALLEL
/* Check if we should try to flush */
if((aux_ptr != NULL) && (aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold)) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -2949,7 +2887,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
*/
if ( aux_ptr->sync_point_done != NULL ) {
- addr_buf_ptr = H5MM_malloc((size_t)num_entries * sizeof(haddr_t));
+ addr_buf_ptr = (haddr_t *)H5MM_malloc((size_t)num_entries * sizeof(haddr_t));
if ( addr_buf_ptr == NULL ) {
@@ -2995,8 +2933,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3005,7 +2942,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
/* and also remove the matching entry from the dirtied list
* if it exists.
*/
- if((slist_entry_ptr = H5SL_search(aux_ptr->d_slist_ptr, (void *)(&addr))) != NULL) {
+ if((slist_entry_ptr = (H5AC_slist_entry_t *)H5SL_search(aux_ptr->d_slist_ptr, (void *)(&addr))) != NULL) {
HDassert( slist_entry_ptr->magic == H5AC__H5AC_SLIST_ENTRY_T_MAGIC );
HDassert( slist_entry_ptr->addr == addr );
@@ -3013,8 +2950,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3306,8 +3242,7 @@ H5AC_copy_candidate_list_to_buffer(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from candidate entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->candidate_slist_len -= 1;
@@ -3474,8 +3409,7 @@ H5AC_log_deleted_entry(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3491,8 +3425,7 @@ H5AC_log_deleted_entry(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from cleaned entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3601,8 +3534,7 @@ H5AC_log_dirtied_entry(const H5AC_info_t * entry_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from clean entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3696,8 +3628,7 @@ H5AC_log_flushed_entry(H5C_t * cache_ptr,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3718,8 +3649,7 @@ H5AC_log_flushed_entry(H5C_t * cache_ptr,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3949,8 +3879,7 @@ H5AC_log_moved_entry(const H5F_t *f,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -4331,7 +4260,7 @@ H5AC_propagate_flushed_and_still_clean_entries_list(H5F_t * f,
HDassert( aux_ptr->c_slist_len == 0 );
} /* end if */
else {
- if(H5AC_receive_and_apply_clean_list(f, dxpl_id, H5AC_noblock_dxpl_id, cache_ptr) < 0)
+ if(H5AC_receive_and_apply_clean_list(f, dxpl_id, H5AC_dxpl_id, cache_ptr) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Can't receive and/or process clean slist broadcast.")
} /* end else */
@@ -4905,7 +4834,7 @@ H5AC_rsp__p0_only__flush(H5F_t *f,
} /* end if */
/* Propagate cleaned entries to other ranks. */
- if(H5AC_propagate_flushed_and_still_clean_entries_list(f, H5AC_noblock_dxpl_id, cache_ptr) < 0)
+ if(H5AC_propagate_flushed_and_still_clean_entries_list(f, H5AC_dxpl_id, cache_ptr) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't propagate clean entries list.")
done:
@@ -5012,7 +4941,7 @@ H5AC_rsp__p0_only__flush_to_min_clean(H5F_t *f,
*/
aux_ptr->write_permitted = TRUE;
- result = H5C_flush_to_min_clean(f, dxpl_id, H5AC_noblock_dxpl_id);
+ result = H5C_flush_to_min_clean(f, dxpl_id, H5AC_dxpl_id);
aux_ptr->write_permitted = FALSE;
@@ -5256,7 +5185,7 @@ H5AC_tidy_cache_0_lists(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
d_slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, d_slist_entry_ptr);
+ d_slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, d_slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -5272,7 +5201,7 @@ H5AC_tidy_cache_0_lists(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from clean entry slist.")
c_slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, c_slist_entry_ptr);
+ c_slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, c_slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -5315,7 +5244,7 @@ H5AC_flush_entries(H5F_t *f)
/* Check if we have >1 ranks */
if(f->shared->cache->aux_ptr) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_CACHE) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_CACHE) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h
index 327f1ec..715fad3 100644
--- a/src/H5ACprivate.h
+++ b/src/H5ACprivate.h
@@ -204,20 +204,10 @@ typedef H5C_t H5AC_t;
/* Metadata specific properties for FAPL */
/* (Only used for parallel I/O) */
#ifdef H5_HAVE_PARALLEL
-/* Definitions for "block before metadata write" property */
-#define H5AC_BLOCK_BEFORE_META_WRITE_NAME "H5AC_block_before_meta_write"
-#define H5AC_BLOCK_BEFORE_META_WRITE_SIZE sizeof(unsigned)
-#define H5AC_BLOCK_BEFORE_META_WRITE_DEF 0
-
/* Definitions for "collective metadata write" property */
#define H5AC_COLLECTIVE_META_WRITE_NAME "H5AC_collective_metadata_write"
#define H5AC_COLLECTIVE_META_WRITE_SIZE sizeof(unsigned)
#define H5AC_COLLECTIVE_META_WRITE_DEF 0
-
-/* Definitions for "library internal" property */
-#define H5AC_LIBRARY_INTERNAL_NAME "H5AC_library_internal"
-#define H5AC_LIBRARY_INTERNAL_SIZE sizeof(unsigned)
-#define H5AC_LIBRARY_INTERNAL_DEF 0
#endif /* H5_HAVE_PARALLEL */
/* Dataset transfer property list for flush calls */
diff --git a/src/H5Aint.c b/src/H5Aint.c
index 3d33eec..f6f13d0 100644
--- a/src/H5Aint.c
+++ b/src/H5Aint.c
@@ -1187,7 +1187,7 @@ H5A_type(const H5A_t *attr)
*/
htri_t
H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
- hid_t lapl_id)
+ hid_t lapl_id, hid_t dxpl_id)
{
H5G_loc_t obj_loc; /* Location used to open group */
H5G_name_t obj_path; /* Opened object group hier. path */
@@ -1203,12 +1203,12 @@ H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
H5G_loc_reset(&obj_loc);
/* Find the object's location */
- if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, H5AC_ind_dxpl_id) < 0)
+ if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
/* Check if the attribute exists */
- if((ret_value = H5O_attr_exists(obj_loc.oloc, attr_name, H5AC_ind_dxpl_id)) < 0)
+ if((ret_value = H5O_attr_exists(obj_loc.oloc, attr_name, dxpl_id)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists")
done:
@@ -2387,7 +2387,7 @@ done:
*/
herr_t
H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_name,
- const char *new_attr_name, hid_t lapl_id)
+ const char *new_attr_name, hid_t lapl_id, hid_t dxpl_id)
{
H5G_loc_t obj_loc; /* Location used to open group */
H5G_name_t obj_path; /* Opened object group hier. path */
@@ -2410,7 +2410,7 @@ H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_nam
loc_found = TRUE;
/* Call attribute rename routine */
- if(H5O_attr_rename(obj_loc.oloc, H5AC_dxpl_id, old_attr_name, new_attr_name) < 0)
+ if(H5O_attr_rename(obj_loc.oloc, dxpl_id, old_attr_name, new_attr_name) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute")
} /* end if */
diff --git a/src/H5Apkg.h b/src/H5Apkg.h
index a28f564..1137e63 100644
--- a/src/H5Apkg.h
+++ b/src/H5Apkg.h
@@ -206,9 +206,9 @@ H5_DLL herr_t H5A_close(H5A_t *attr);
H5_DLL htri_t H5A_get_ainfo(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5O_ainfo_t *ainfo);
H5_DLL herr_t H5A_set_version(const H5F_t *f, H5A_t *attr);
H5_DLL herr_t H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_name,
- const char *new_attr_name, hid_t lapl_id);
+ const char *new_attr_name, hid_t lapl_id, hid_t dxpl_id);
H5_DLL htri_t H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
- hid_t lapl_id);
+ hid_t lapl_id, hid_t dxpl_id);
/* Attribute "dense" storage routines */
H5_DLL herr_t H5A_dense_create(H5F_t *f, hid_t dxpl_id, H5O_ainfo_t *ainfo,
diff --git a/src/H5D.c b/src/H5D.c
index 7445b70..78dab75 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -329,7 +329,7 @@ H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id)
H5O_loc_t oloc; /* Dataset object location */
H5O_type_t obj_type; /* Type of object at location */
hbool_t loc_found = FALSE; /* Location at 'name' found */
- hid_t dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datset */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datset */
hid_t ret_value;
FUNC_ENTER_API(FAIL)
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index 66cb87c..bdd9c9c 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -17,7 +17,7 @@
* Thursday, April 24, 2008
*
* Purpose: Abstract indexed (chunked) I/O functions. The logical
- * multi-dimensional data space is regularly partitioned into
+ * multi-dimensional dataspace is regularly partitioned into
* same-sized "chunks", the first of which is aligned with the
* logical origin. The chunks are indexed by different methods,
* that map a chunk index to disk address. Each chunk can be
@@ -204,7 +204,6 @@ static herr_t H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *ty
H5D_chunk_map_t *fm);
static herr_t H5D__chunk_flush(H5D_t *dset, hid_t dxpl_id);
static herr_t H5D__chunk_io_term(const H5D_chunk_map_t *fm);
-static herr_t H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last);
/* "Nonexistent" layout operation callback */
static ssize_t
@@ -219,6 +218,7 @@ static void *H5D__chunk_alloc(size_t size, const H5O_pline_t *pline);
static void *H5D__chunk_xfree(void *chk, const H5O_pline_t *pline);
static void *H5D__chunk_realloc(void *chk, size_t size,
const H5O_pline_t *pline);
+static herr_t H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last);
static herr_t H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last,
const H5D_chunk_ud_t *udata);
static hbool_t H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last,
@@ -333,7 +333,7 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz
FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL)
- /* Allocate data space and initialize it if it hasn't been. */
+ /* Allocate dataspace and initialize it if it hasn't been. */
if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage))
/* Allocate storage */
if(H5D__alloc_storage(dset, dxpl_id, H5D_ALLOC_WRITE, FALSE, NULL) < 0)
@@ -342,7 +342,7 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz
/* Calculate the index of this chunk */
H5VM_chunk_scaled(dset->shared->ndims, offset, layout->u.chunk.dim, scaled);
- /* Find out the file address of the chunk */
+ /* Find out the file address of the chunk (if any) */
if(H5D__chunk_lookup(dset, dxpl_id, offset, scaled, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
@@ -378,7 +378,7 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz
if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
- /* Evict the entry from the cache if present, but do not flush
+ /* Evict the (old) entry from the cache if present, but do not flush
* it to disk */
if(UINT_MAX != udata.idx_hint)
if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[udata.idx_hint], FALSE) < 0)
@@ -601,21 +601,21 @@ H5D__chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id)
H5D_COPS_NONE == dset->shared->layout.storage.u.chunk.ops));
if(NULL == (dapl = (H5P_genplist_t *)H5I_object(dapl_id)))
- HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for fapl ID");
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for fapl ID")
/* Use the properties in dapl_id if they have been set, otherwise use the properties from the file */
if(H5P_get(dapl, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, &rdcc->nslots) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache number of slots");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache number of slots")
if(rdcc->nslots == H5D_CHUNK_CACHE_NSLOTS_DEFAULT)
rdcc->nslots = H5F_RDCC_NSLOTS(f);
if(H5P_get(dapl, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, &rdcc->nbytes_max) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache byte size");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache byte size")
if(rdcc->nbytes_max == H5D_CHUNK_CACHE_NBYTES_DEFAULT)
rdcc->nbytes_max = H5F_RDCC_NBYTES(f);
if(H5P_get(dapl, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, &rdcc->w0) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get preempt read chunks");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get preempt read chunks")
if(rdcc->w0 < 0)
rdcc->w0 = H5F_RDCC_W0(f);
@@ -2292,10 +2292,10 @@ H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *ud
/* Stored the information to cache */
HDmemcpy(last->offset, udata->common.offset, sizeof(hsize_t) * udata->common.layout->ndims);
+ last->addr = udata->addr;
last->nbytes = udata->nbytes;
last->chunk_idx = udata->chunk_idx;
last->filter_mask = udata->filter_mask;
- last->addr = udata->addr;
/* Indicate that the cached info is valid */
last->valid = TRUE;
@@ -2340,10 +2340,10 @@ H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, H5D_chunk_ud_t *uda
HGOTO_DONE(FALSE)
/* Retrieve the information from the cache */
+ udata->addr = last->addr;
udata->nbytes = last->nbytes;
udata->chunk_idx = last->chunk_idx;
udata->filter_mask = last->filter_mask;
- udata->addr = last->addr;
/* Indicate that the data was found */
HGOTO_DONE(TRUE)
@@ -2511,9 +2511,9 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset,
udata->common.scaled = scaled;
/* Reset information about the chunk we are looking for */
+ udata->addr = HADDR_UNDEF;
udata->nbytes = 0;
udata->filter_mask = 0;
- udata->addr = HADDR_UNDEF;
udata->new_unfilt_chunk = FALSE;
udata->need_insert = FALSE;
udata->need_modify = FALSE;
@@ -2524,8 +2524,7 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset,
ent = dset->shared->cache.chunk.slot[udata->idx_hint];
if(ent)
- for(u = 0, found = TRUE; u < dset->shared->layout.u.chunk.ndims - 1;
- u++)
+ for(u = 0, found = TRUE; u < dset->shared->layout.u.chunk.ndims - 1; u++)
if(chunk_offset[u] != ent->offset[u]) {
found = FALSE;
break;
@@ -2755,12 +2754,11 @@ done:
* output pipeline failed. Do not free the entry or remove it from the
* list.
*/
- if(ret_value < 0 && point_of_no_return) {
+ if(ret_value < 0 && point_of_no_return)
if(ent->chunk)
ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk,
((ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL
: &(dset->shared->dcpl_cache.pline)));
- } /* end if */
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5D__chunk_flush_entry() */
@@ -3650,7 +3648,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
/* Check if any space dimensions are 0, if so we do not have to do anything
*/
- for(op_dim=0; op_dim<space_ndims; op_dim++)
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++)
if(space_dim[op_dim] == 0) {
/* Reset any cached chunk info for this dataset */
H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last);
@@ -3865,8 +3863,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
* possible (though ill-advised) for the filter to shrink the
* buffer. */
if(fb_info.fill_buf_size < orig_chunk_size) {
- if(NULL == (fb_info.fill_buf = H5D__chunk_realloc(
- fb_info.fill_buf, orig_chunk_size, pline)))
+ if(NULL == (fb_info.fill_buf = H5D__chunk_realloc(fb_info.fill_buf, orig_chunk_size, pline)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory reallocation failed for raw data chunk")
fb_info.fill_buf_size = orig_chunk_size;
} /* end if */
@@ -3903,13 +3900,13 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
udata.common.storage = &layout->storage.u.chunk;
udata.common.offset = chunk_offset;
udata.common.rdcc = &dset->shared->cache.chunk;
+ udata.addr = HADDR_UNDEF;
H5_ASSIGN_OVERFLOW(udata.nbytes, chunk_size, size_t, uint32_t);
udata.filter_mask = filter_mask;
- udata.addr = HADDR_UNDEF;
udata.need_insert = FALSE;
udata.need_modify = FALSE;
- /* Allocate the chunk with all processes */
+ /* Allocate the chunk (with all processes) */
if(H5D__idx_chunk_alloc(&idx_info, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk on chunk level")
@@ -3927,11 +3924,9 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
/* collect all chunk addresses to be written to
write collectively at the end */
/* allocate/resize address array if no more space left */
- if(0 == chunk_info.num_io % 1024) {
- if(NULL == (chunk_info.addr = (haddr_t *)HDrealloc
- (chunk_info.addr, (chunk_info.num_io + 1024) * sizeof(haddr_t))))
- HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed for chunk addresses");
- } /* end if */
+ if(0 == chunk_info.num_io % 1024)
+ if(NULL == (chunk_info.addr = (haddr_t *)HDrealloc(chunk_info.addr, (chunk_info.num_io + 1024) * sizeof(haddr_t))))
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed for chunk addresses")
/* Store the chunk's address for later */
chunk_info.addr[chunk_info.num_io] = udata.addr;
@@ -4012,10 +4007,9 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
#ifdef H5_HAVE_PARALLEL
/* do final collective I/O */
- if(using_mpi && blocks_written) {
+ if(using_mpi && blocks_written)
if(H5D__chunk_collective_fill(dset, dxpl_id, &chunk_info, chunk_size, fb_info.fill_buf) < 0)
HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
- } /* end if */
#endif /* H5_HAVE_PARALLEL */
/* Reset any cached chunk info for this dataset */
@@ -4030,10 +4024,8 @@ done:
unfilt_fill_buf = H5D__chunk_xfree(unfilt_fill_buf, &def_pline);
#ifdef H5_HAVE_PARALLEL
- if(using_mpi) {
- if(chunk_info.addr)
- HDfree(chunk_info.addr);
- } /* end if */
+ if(using_mpi && chunk_info.addr)
+ HDfree(chunk_info.addr);
#endif
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
@@ -4330,8 +4322,7 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
* should use this if MPI_type_create_hindexed block is working
* mpi_code = MPI_Type_create_hindexed_block(blocks, block_len, chunk_disp_array, MPI_BYTE, &file_type);
*/
- mpi_code = MPI_Type_create_hindexed(blocks, block_lens, chunk_disp_array,
- MPI_BYTE, &file_type);
+ mpi_code = MPI_Type_create_hindexed(blocks, block_lens, chunk_disp_array, MPI_BYTE, &file_type);
if(mpi_code != MPI_SUCCESS)
HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&file_type)))
@@ -4364,9 +4355,8 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set transfer mode")
}
- /* low level write */
- if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, (haddr_t)0, (blocks) ? (size_t)1 : (size_t)0,
- data_dxpl_id, fill_buf) < 0)
+ /* low level write (collective) */
+ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, (haddr_t)0, (blocks) ? (size_t)1 : (size_t)0, data_dxpl_id, fill_buf) < 0)
HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
/* Barrier so processes don't race ahead */
@@ -4433,8 +4423,7 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
chk_udata.new_unfilt_chunk = new_unfilt_chunk;
- /* If this chunk does not exist in cache or on disk, no need to do anything
- */
+ /* If this chunk does not exist in cache or on disk, no need to do anything */
if(!H5F_addr_defined(chk_udata.addr) && UINT_MAX == chk_udata.idx_hint)
HGOTO_DONE(SUCCEED)
@@ -4451,8 +4440,7 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk)
/* Compute the # of elements to leave with existing value, in each dimension */
for(u = 0; u < rank; u++) {
- count[u] = MIN(layout->u.chunk.dim[u], (udata->space_dim[u]
- - chunk_offset[u]));
+ count[u] = MIN(layout->u.chunk.dim[u], (udata->space_dim[u] - chunk_offset[u]));
HDassert(count[u] > 0);
} /* end for */
@@ -4679,7 +4667,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
chunk_offset[space_ndims] = (hsize_t)0;
/* Check if any old dimensions are 0, if so we do not have to do anything */
- for(op_dim=0; op_dim<space_ndims; op_dim++)
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++)
if(old_dim[op_dim] == 0) {
/* Reset any cached chunk info for this dataset */
H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last);
@@ -4748,7 +4736,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
*/
HDmemset(min_mod_chunk_off, 0, sizeof(min_mod_chunk_off));
HDmemset(max_mod_chunk_off, 0, sizeof(max_mod_chunk_off));
- for(op_dim = 0; op_dim < space_ndims; op_dim++) {
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) {
/* Calculate the largest offset of chunks that might need to be
* modified in this dimension */
max_mod_chunk_off[op_dim] = chunk_dim[op_dim] * ((old_dim[op_dim] - 1)
@@ -4816,7 +4804,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
} /* end if */
/* Main loop: fill or remove chunks */
- for(op_dim=0; op_dim<space_ndims; op_dim++) {
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) {
/* Check if modification along this dimension is really necessary */
if(!shrunk_dim[op_dim])
continue;
@@ -5430,9 +5418,9 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
udata_dst.common.storage = udata->idx_info_dst->storage;
udata_dst.common.offset = chunk_rec->offset;
udata_dst.common.rdcc = NULL;
+ udata_dst.addr = HADDR_UNDEF;
udata_dst.nbytes = chunk_rec->nbytes;
udata_dst.filter_mask = chunk_rec->filter_mask;
- udata_dst.addr = HADDR_UNDEF;
/* Need to compress variable-length & reference data elements before writing to file */
if(must_filter) {
diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c
index 11d6f60..e913a3f 100644
--- a/src/H5Dcontig.c
+++ b/src/H5Dcontig.c
@@ -670,7 +670,7 @@ H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
} /* end if */
else {
/* Allocate room for the data sieve buffer */
- if(NULL == (dset_contig->sieve_buf = H5FL_BLK_MALLOC(sieve_buf, dset_contig->sieve_buf_size)))
+ if(NULL == (dset_contig->sieve_buf = H5FL_BLK_CALLOC(sieve_buf, dset_contig->sieve_buf_size)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed")
/* Determine the new sieve buffer size & location */
@@ -941,7 +941,7 @@ H5D__contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
} /* end if */
else {
/* Allocate room for the data sieve buffer */
- if(NULL == (dset_contig->sieve_buf = H5FL_BLK_MALLOC(sieve_buf, dset_contig->sieve_buf_size)))
+ if(NULL == (dset_contig->sieve_buf = H5FL_BLK_CALLOC(sieve_buf, dset_contig->sieve_buf_size)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed")
#ifdef H5_CLEAR_MEMORY
diff --git a/src/H5Ddbg.c b/src/H5Ddbg.c
index a7c6dc1..4e934f2 100644
--- a/src/H5Ddbg.c
+++ b/src/H5Ddbg.c
@@ -113,7 +113,7 @@ H5Ddebug(hid_t dset_id)
/* Print B-tree information */
if(H5D_CHUNKED == dset->shared->layout.type)
- (void)H5D__chunk_dump_index(dset, H5AC_dxpl_id, stdout);
+ (void)H5D__chunk_dump_index(dset, H5AC_ind_dxpl_id, stdout);
else if(H5D_CONTIGUOUS == dset->shared->layout.type)
HDfprintf(stdout, " %-10s %a\n", "Address:", dset->shared->layout.storage.u.contig.addr);
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c
index eb3f285..3b3fb0f 100644
--- a/src/H5Ddeprec.c
+++ b/src/H5Ddeprec.c
@@ -233,7 +233,7 @@ H5Dopen1(hid_t loc_id, const char *name)
H5O_type_t obj_type; /* Type of object at location */
hbool_t loc_found = FALSE; /* Location at 'name' found */
hid_t dapl_id = H5P_DATASET_ACCESS_DEFAULT; /* dapl to use to open dataset */
- hid_t dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datset */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datset */
hid_t ret_value;
FUNC_ENTER_API(FAIL)
diff --git a/src/H5Dfill.c b/src/H5Dfill.c
index e682dd6..484c362 100644
--- a/src/H5Dfill.c
+++ b/src/H5Dfill.c
@@ -133,7 +133,7 @@ H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t buf_type_id, hid_
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a datatype")
/* Fill the selection in the memory buffer */
- if(H5D__fill(fill, fill_type, buf, buf_type, space, H5AC_dxpl_id) < 0)
+ if(H5D__fill(fill, fill_type, buf, buf_type, space, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed")
done:
diff --git a/src/H5Dio.c b/src/H5Dio.c
index 17351ed..44080dc 100644
--- a/src/H5Dio.c
+++ b/src/H5Dio.c
@@ -303,7 +303,7 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id,
hsize_t *direct_offset;
uint32_t direct_datasize;
hsize_t internal_offset[H5O_LAYOUT_NDIMS];
- unsigned u;
+ unsigned u; /* Local index variable */
/* Get the dataset transfer property list */
if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index 108ee03..764030b 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -286,9 +286,9 @@ typedef struct H5D_chunk_ud_t {
/* Upward */
unsigned idx_hint; /*index of chunk in cache, if present */
+ haddr_t addr; /*file address of chunk */
uint32_t nbytes; /*size of stored data */
unsigned filter_mask; /*excluded filters */
- haddr_t addr; /*file address of chunk */
hbool_t new_unfilt_chunk; /*whether the chunk just became unfiltered */
hsize_t chunk_idx; /*chunk index for EA, FA indexing */
hbool_t need_insert;
@@ -392,10 +392,10 @@ typedef struct H5D_chunk_map_t {
typedef struct H5D_chunk_cached_t {
hbool_t valid; /*whether cache info is valid*/
hsize_t offset[H5O_LAYOUT_NDIMS]; /*logical offset to start*/
+ haddr_t addr; /*file address of chunk */
uint32_t nbytes; /*size of stored data */
hsize_t chunk_idx; /*index of chunk in dataset */
unsigned filter_mask; /*excluded filters */
- haddr_t addr; /*file address of chunk */
} H5D_chunk_cached_t;
/* The raw data chunk cache */
diff --git a/src/H5E.c b/src/H5E.c
index f36ab9a..c3c7685 100644
--- a/src/H5E.c
+++ b/src/H5E.c
@@ -1397,17 +1397,7 @@ H5Epush2(hid_t err_stack, const char *file, const char *func, unsigned line,
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
/* If the description doesn't fit into the initial buffer size, allocate more space and try again */
- while((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap))
-#ifdef H5_VSNPRINTF_WORKS
- >
-#else /* H5_VSNPRINTF_WORKS */
- >=
-#endif /* H5_VSNPRINTF_WORKS */
- (tmp_len - 1)
-#ifndef H5_VSNPRINTF_WORKS
- || (desc_len < 0)
-#endif /* H5_VSNPRINTF_WORKS */
- ) {
+ while((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap)) > (tmp_len - 1)) {
/* shutdown & restart the va_list */
va_end(ap);
va_start(ap, fmt);
@@ -1416,11 +1406,7 @@ H5Epush2(hid_t err_stack, const char *file, const char *func, unsigned line,
H5MM_xfree(tmp);
/* Allocate a description of the appropriate length */
-#ifdef H5_VSNPRINTF_WORKS
tmp_len = desc_len + 1;
-#else /* H5_VSNPRINTF_WORKS */
- tmp_len = 2 * tmp_len;
-#endif /* H5_VSNPRINTF_WORKS */
if(NULL == (tmp = H5MM_malloc((size_t)tmp_len)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
} /* end while */
diff --git a/src/H5Eint.c b/src/H5Eint.c
index 88dfdee..2092566 100644
--- a/src/H5Eint.c
+++ b/src/H5Eint.c
@@ -741,17 +741,7 @@ H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned lin
HGOTO_DONE(FAIL)
/* If the description doesn't fit into the initial buffer size, allocate more space and try again */
- while((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap))
-#ifdef H5_VSNPRINTF_WORKS
- >
-#else /* H5_VSNPRINTF_WORKS */
- >=
-#endif /* H5_VSNPRINTF_WORKS */
- (tmp_len - 1)
-#ifndef H5_VSNPRINTF_WORKS
- || (desc_len < 0)
-#endif /* H5_VSNPRINTF_WORKS */
- ) {
+ while((desc_len = HDvsnprintf(tmp, (size_t)tmp_len, fmt, ap)) > (tmp_len - 1)) {
/* shutdown & restart the va_list */
va_end(ap);
va_start(ap, fmt);
@@ -760,11 +750,7 @@ H5E_printf_stack(H5E_t *estack, const char *file, const char *func, unsigned lin
H5MM_xfree(tmp);
/* Allocate a description of the appropriate length */
-#ifdef H5_VSNPRINTF_WORKS
tmp_len = desc_len + 1;
-#else /* H5_VSNPRINTF_WORKS */
- tmp_len = 2 * tmp_len;
-#endif /* H5_VSNPRINTF_WORKS */
if(NULL == (tmp = H5MM_malloc((size_t)tmp_len)))
HGOTO_DONE(FAIL)
} /* end while */
diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h
index 0e6def6..2065b08 100644
--- a/src/H5Eprivate.h
+++ b/src/H5Eprivate.h
@@ -186,7 +186,7 @@ H5_DLL herr_t H5E_init(void);
H5_DLL herr_t H5E_push_stack(H5E_t *estack, const char *file, const char *func,
unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *desc);
H5_DLL herr_t H5E_printf_stack(H5E_t *estack, const char *file, const char *func,
- unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *fmt, ...);
+ unsigned line, hid_t cls_id, hid_t maj_id, hid_t min_id, const char *fmt, ...)__attribute__((format (printf, 8, 9)));
H5_DLL herr_t H5E_clear_stack(H5E_t *estack);
H5_DLL herr_t H5E_dump_api_stack(hbool_t is_api);
diff --git a/src/H5Epublic.h b/src/H5Epublic.h
index 17a35d9..1639ab4 100644
--- a/src/H5Epublic.h
+++ b/src/H5Epublic.h
@@ -165,7 +165,7 @@ H5_DLL herr_t H5Eclose_stack(hid_t stack_id);
H5_DLL ssize_t H5Eget_class_name(hid_t class_id, char *name, size_t size);
H5_DLL herr_t H5Eset_current_stack(hid_t err_stack_id);
H5_DLL herr_t H5Epush2(hid_t err_stack, const char *file, const char *func, unsigned line,
- hid_t cls_id, hid_t maj_id, hid_t min_id, const char *msg, ...);
+ hid_t cls_id, hid_t maj_id, hid_t min_id, const char *msg, ...)__attribute__((format (printf, 8, 9)));
H5_DLL herr_t H5Epop(hid_t err_stack, size_t count);
H5_DLL herr_t H5Eprint2(hid_t err_stack, FILE *stream);
H5_DLL herr_t H5Ewalk2(hid_t err_stack, H5E_direction_t direction, H5E_walk2_t func,
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 70cf49a..d81509a 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -1049,8 +1049,7 @@ H5FD_mpio_open(const char *name, unsigned flags, hid_t fapl_id,
char debug_str[128];
int flag, i;
if (MPI_INFO_NULL != info_dup) {
- /*OKAY: CAST DISCARDS CONST*/
- MPI_Info_get(fa->info, (char *)H5F_MPIO_DEBUG_KEY, 127, debug_str, &flag);
+ MPI_Info_get(fa->info, H5F_MPIO_DEBUG_KEY, sizeof(debug_str)-1, debug_str, &flag);
if (flag) {
fprintf(stdout, "H5FD_mpio debug flags=%s\n", debug_str );
for (i=0;
@@ -1063,8 +1062,7 @@ H5FD_mpio_open(const char *name, unsigned flags, hid_t fapl_id,
}
#endif
- /*OKAY: CAST DISCARDS CONST*/
- if(MPI_SUCCESS != (mpi_code = MPI_File_open(comm_dup, (char*)name, mpi_amode, info_dup, &fh)))
+ if(MPI_SUCCESS != (mpi_code = MPI_File_open(comm_dup, name, mpi_amode, info_dup, &fh)))
HMPI_GOTO_ERROR(NULL, "MPI_File_open failed", mpi_code)
file_opened=1;
@@ -1460,12 +1458,13 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
MPI_Count bytes_read; /* Number of bytes read in */
MPI_Count type_size; /* MPI datatype used for I/O's size */
MPI_Count io_size; /* Actual number of bytes requested */
+ MPI_Count n;
#else
int bytes_read; /* Number of bytes read in */
int type_size; /* MPI datatype used for I/O's size */
int io_size; /* Actual number of bytes requested */
-#endif
int n;
+#endif
H5P_genplist_t *plist = NULL; /* Property list pointer */
hbool_t use_view_this_time = FALSE;
herr_t ret_value = SUCCEED;
@@ -1506,7 +1505,10 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
/* Obtain the data transfer properties */
if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list")
- xfer_mode = (H5FD_mpio_xfer_t)H5P_peek_unsigned(plist, H5D_XFER_IO_XFER_MODE_NAME);
+
+ /* get the transfer mode from the dxpl */
+ if(H5P_get(plist, H5D_XFER_IO_XFER_MODE_NAME, &xfer_mode)<0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O transfer mode")
/*
* Set up for a fancy xfer using complex types, or single byte block. We
@@ -1521,15 +1523,14 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
use_view_this_time = TRUE;
/* prepare for a full-blown xfer using btype, ftype, and disp */
- if(H5P_get(plist,H5FD_MPI_XFER_MEM_MPI_TYPE_NAME,&buf_type)<0)
+ if(H5P_get(plist, H5FD_MPI_XFER_MEM_MPI_TYPE_NAME, &buf_type)<0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O type property")
- if(H5P_get(plist,H5FD_MPI_XFER_FILE_MPI_TYPE_NAME,&file_type)<0)
+ if(H5P_get(plist, H5FD_MPI_XFER_FILE_MPI_TYPE_NAME, &file_type)<0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O type property")
/*
* Set the file view when we are using MPI derived types
*/
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
if (MPI_SUCCESS != (mpi_code=MPI_File_set_view(file->f, mpi_off, MPI_BYTE, file_type, H5FD_mpi_native_g, file->info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
@@ -1548,9 +1549,12 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
if (H5FD_mpio_Debug[(int)'t'])
fprintf(stdout, "H5FD_mpio_read: using MPIO collective mode\n");
#endif
- /* Peek the collective_opt property to check whether the application wants to do IO individually. */
+ /* Get the collective_opt property to check whether the application wants to do IO individually. */
HDassert(plist);
- coll_opt_mode = (H5FD_mpio_collective_opt_t)H5P_peek_unsigned(plist, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME);
+
+ /* get the transfer mode from the dxpl */
+ if(H5P_get(plist, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, &coll_opt_mode)<0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O collective_op property")
if(coll_opt_mode == H5FD_MPIO_COLLECTIVE_IO) {
#ifdef H5FDmpio_DEBUG
@@ -1573,7 +1577,6 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
/*
* Reset the file view when we used MPI derived types
*/
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
if(MPI_SUCCESS != (mpi_code = MPI_File_set_view(file->f, (MPI_Offset)0, MPI_BYTE, MPI_BYTE, H5FD_mpi_native_g, file->info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
} else {
@@ -1799,8 +1802,9 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list")
- /* Obtain the data transfer properties */
- xfer_mode = (H5FD_mpio_xfer_t)H5P_peek_unsigned(plist, H5D_XFER_IO_XFER_MODE_NAME);
+ /* get the transfer mode from the dxpl */
+ if(H5P_get(plist, H5D_XFER_IO_XFER_MODE_NAME, &xfer_mode)<0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O transfer mode")
/*
* Set up for a fancy xfer using complex types, or single byte block. We
@@ -1823,7 +1827,6 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
/*
* Set the file view when we are using MPI derived types
*/
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
if(MPI_SUCCESS != (mpi_code = MPI_File_set_view(file->f, mpi_off, MPI_BYTE, file_type, H5FD_mpi_native_g, file->info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
@@ -1853,17 +1856,18 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
if(H5FD_mpio_Debug[(int)'t'])
fprintf(stdout, "H5FD_mpio_write: using MPIO collective mode\n");
#endif
- /* Peek the collective_opt property to check whether the application wants to do IO individually. */
+ /* Get the collective_opt property to check whether the application wants to do IO individually. */
HDassert(plist);
- coll_opt_mode = (H5FD_mpio_collective_opt_t)H5P_peek_unsigned(plist, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME);
+ /* get the transfer mode from the dxpl */
+ if(H5P_get(plist, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, &coll_opt_mode)<0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get MPI-I/O collective_op property")
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
if(coll_opt_mode == H5FD_MPIO_COLLECTIVE_IO) {
#ifdef H5FDmpio_DEBUG
if(H5FD_mpio_Debug[(int)'t'])
fprintf(stdout, "H5FD_mpio_write: doing MPI collective IO\n");
#endif
- if(MPI_SUCCESS != (mpi_code = MPI_File_write_at_all(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat)))
+ if(MPI_SUCCESS != (mpi_code = MPI_File_write_at_all(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at_all failed", mpi_code)
} /* end if */
else {
@@ -1871,17 +1875,15 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr,
if(H5FD_mpio_Debug[(int)'t'])
fprintf(stdout, "H5FD_mpio_write: doing MPI independent IO\n");
#endif
- if(MPI_SUCCESS != (mpi_code = MPI_File_write_at(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat)))
+ if(MPI_SUCCESS != (mpi_code = MPI_File_write_at(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at failed", mpi_code)
} /* end else */
/* Reset the file view when we used MPI derived types */
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
if(MPI_SUCCESS != (mpi_code = MPI_File_set_view(file->f, (MPI_Offset)0, MPI_BYTE, MPI_BYTE, H5FD_mpi_native_g, file->info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
} else {
- /*OKAY: CAST DISCARDS CONST QUALIFIER*/
- if(MPI_SUCCESS != (mpi_code = MPI_File_write_at(file->f, mpi_off, (void*)buf, size_i, buf_type, &mpi_stat)))
+ if(MPI_SUCCESS != (mpi_code = MPI_File_write_at(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at failed", mpi_code)
}
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 3f90a15..4009ca8 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -488,6 +488,8 @@
if it is changed, the code
must compensate. -QAK
*/
+#define HDF5_BTREE_IK_MAX_ENTRIES 65536 /* 2^16 - 2 bytes for storing entries (children) */
+ /* See format specification on version 1 B-trees */
/* Default file space handling strategy */
#define H5F_FILE_SPACE_STRATEGY_DEF H5F_FILE_SPACE_ALL
diff --git a/src/H5G.c b/src/H5G.c
index 217d80c..b6cbd83 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -463,7 +463,7 @@ H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not group access property list")
/* Open the group */
- if((grp = H5G__open_name(&loc, name, gapl_id, H5AC_dxpl_id)) == NULL)
+ if((grp = H5G__open_name(&loc, name, gapl_id, H5AC_ind_dxpl_id)) == NULL)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group")
/* Register an ID for the group */
diff --git a/src/H5Gdeprec.c b/src/H5Gdeprec.c
index 17920ab..ca9e7fd 100644
--- a/src/H5Gdeprec.c
+++ b/src/H5Gdeprec.c
@@ -261,7 +261,7 @@ H5Gcreate1(hid_t loc_id, const char *name, size_t size_hint)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get group info")
/* Set the non-default local heap size hint */
- ginfo.lheap_size_hint = size_hint;
+ H5_ASSIGN_OVERFLOW(ginfo.lheap_size_hint, size_hint, size_t, uint32_t);
if(H5P_set(gc_plist, H5G_CRT_GROUP_INFO_NAME, &ginfo) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set group info")
} /* end if */
@@ -322,7 +322,7 @@ H5Gopen1(hid_t loc_id, const char *name)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
/* Open the group */
- if((grp = H5G__open_name(&loc, name, H5P_DEFAULT, H5AC_dxpl_id)) == NULL)
+ if((grp = H5G__open_name(&loc, name, H5P_DEFAULT, H5AC_ind_dxpl_id)) == NULL)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group")
/* Register an atom for the group */
diff --git a/src/H5Gtest.c b/src/H5Gtest.c
index 0bd32be..2628fd7 100644
--- a/src/H5Gtest.c
+++ b/src/H5Gtest.c
@@ -97,6 +97,7 @@ H5G__is_empty_test(hid_t gid)
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = FALSE; /* Indicate that a header message is present */
htri_t linfo_exists = FALSE;/* Indicate that the 'link info' message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -108,11 +109,11 @@ H5G__is_empty_test(hid_t gid)
/* "New format" checks */
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
/* Sanity check that new group format shouldn't have old messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -121,19 +122,19 @@ H5G__is_empty_test(hid_t gid)
} /* end if */
/* Check for a link info message */
- if((linfo_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, H5AC_dxpl_id)) < 0)
+ if((linfo_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(linfo_exists > 0) {
H5O_linfo_t linfo; /* Link info message */
/* Sanity check that new group format shouldn't have old messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link info messages found")
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -152,7 +153,7 @@ H5G__is_empty_test(hid_t gid)
/* "Old format" checks */
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
H5O_stab_t stab; /* Info about local heap & B-tree */
@@ -161,17 +162,17 @@ H5G__is_empty_test(hid_t gid)
/* Sanity check that old group format shouldn't have new messages */
if(linfo_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link info messages found")
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_GINFO_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_GINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and group info messages found")
/* Get the B-tree & local heap info */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read symbol table message")
/* Get the count of links in the group */
- if(H5G__stab_count(&(grp->oloc), &nlinks, H5AC_dxpl_id) < 0)
+ if(H5G__stab_count(&(grp->oloc), &nlinks, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to count links")
/* Check for link count */
@@ -208,6 +209,7 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -217,13 +219,13 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists == 0)
HGOTO_DONE(FALSE)
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -233,7 +235,7 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
int msg_count; /* Number of messages of a type */
/* Check how many link messages there are */
- if((msg_count = H5O_msg_count(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_count = H5O_msg_count(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTCOUNT, FAIL, "unable to count link messages")
*nmsgs = (unsigned)msg_count;
} /* end if */
@@ -266,6 +268,7 @@ H5G__has_stab_test(hid_t gid)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -275,13 +278,13 @@ H5G__has_stab_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists == 0)
HGOTO_DONE(FALSE)
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -316,6 +319,7 @@ H5G__is_new_dense_test(hid_t gid)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -325,25 +329,25 @@ H5G__is_new_dense_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_DONE(FALSE)
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_DONE(FALSE)
/* Check if the group has link info message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
H5O_linfo_t linfo; /* Link info message */
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -386,6 +390,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
H5B2_t *bt2_corder = NULL; /* v2 B-tree handle for creation order index */
H5O_linfo_t linfo; /* Link info message */
H5G_t *grp = NULL; /* Pointer to group */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -395,10 +400,10 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Set metadata tag in dxpl_id */
- H5_BEGIN_TAG(H5AC_dxpl_id, grp->oloc.addr, FAIL);
+ H5_BEGIN_TAG(dxpl_id, grp->oloc.addr, FAIL);
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR_TAG(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -408,7 +413,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
HGOTO_DONE_TAG(FAIL, FAIL)
/* Open the name index v2 B-tree */
- if(NULL == (bt2_name = H5B2_open(grp->oloc.file, H5AC_dxpl_id, linfo.name_bt2_addr, NULL, NULL)))
+ if(NULL == (bt2_name = H5B2_open(grp->oloc.file, dxpl_id, linfo.name_bt2_addr, NULL, NULL)))
HGOTO_ERROR_TAG(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for name index")
/* Retrieve # of records in name index */
@@ -418,7 +423,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
/* Check if there is a creation order index */
if(H5F_addr_defined(linfo.corder_bt2_addr)) {
/* Open the creation order index v2 B-tree */
- if(NULL == (bt2_corder = H5B2_open(grp->oloc.file, H5AC_dxpl_id, linfo.corder_bt2_addr, NULL, NULL)))
+ if(NULL == (bt2_corder = H5B2_open(grp->oloc.file, dxpl_id, linfo.corder_bt2_addr, NULL, NULL)))
HGOTO_ERROR_TAG(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for creation order index")
/* Retrieve # of records in creation order index */
@@ -433,9 +438,9 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
done:
/* Release resources */
- if(bt2_name && H5B2_close(bt2_name, H5AC_dxpl_id) < 0)
+ if(bt2_name && H5B2_close(bt2_name, dxpl_id) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTCLOSEOBJ, FAIL, "can't close v2 B-tree for name index")
- if(bt2_corder && H5B2_close(bt2_corder, H5AC_dxpl_id) < 0)
+ if(bt2_corder && H5B2_close(bt2_corder, dxpl_id) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTCLOSEOBJ, FAIL, "can't close v2 B-tree for creation order index")
FUNC_LEAVE_NOAPI(ret_value)
@@ -465,7 +470,8 @@ herr_t
H5G__lheap_size_test(hid_t gid, size_t *lheap_size)
{
H5G_t *grp = NULL; /* Pointer to group */
- H5O_stab_t stab; /* Symbol table message */
+ H5O_stab_t stab; /* Symbol table message */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -475,11 +481,11 @@ H5G__lheap_size_test(hid_t gid, size_t *lheap_size)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Make certain the group has a symbol table message */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read symbol table message")
/* Check the size of the local heap for the group */
- if(H5HL_get_size(grp->oloc.file, H5AC_dxpl_id, stab.heap_addr, lheap_size) < 0)
+ if(H5HL_get_size(grp->oloc.file, dxpl_id, stab.heap_addr, lheap_size) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTGETSIZE, FAIL, "can't query local heap size")
done:
@@ -607,16 +613,17 @@ H5G__verify_cached_stab_test(H5O_loc_t *grp_oloc, H5G_entry_t *ent)
{
H5O_stab_t stab; /* Symbol table */
H5HL_t *heap = NULL; /* Pointer to local heap */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_PACKAGE_TAG(H5AC_ind_dxpl_id, grp_oloc->addr, FAIL)
+ FUNC_ENTER_PACKAGE_TAG(dxpl_id, grp_oloc->addr, FAIL)
/* Verify that stab info is cached in ent */
if(ent->type != H5G_CACHED_STAB)
HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "symbol table information is not cached")
/* Read the symbol table message from the group */
- if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, H5AC_ind_dxpl_id))
+ if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "unable to read symbol table message")
/* Verify that the cached symbol table info matches the symbol table message
@@ -630,7 +637,7 @@ H5G__verify_cached_stab_test(H5O_loc_t *grp_oloc, H5G_entry_t *ent)
HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "b-tree address is invalid")
/* Verify that the heap address is valid */
- if(NULL == (heap = H5HL_protect(grp_oloc->file, H5AC_ind_dxpl_id, stab.heap_addr, H5AC_READ)))
+ if(NULL == (heap = H5HL_protect(grp_oloc->file, dxpl_id, stab.heap_addr, H5AC_READ)))
HGOTO_ERROR(H5E_HEAP, H5E_NOTFOUND, FAIL, "heap address is invalid")
done:
@@ -763,6 +770,7 @@ H5G__verify_cached_stabs_test(hid_t gid)
H5O_stab_t stab; /* Symbol table message */
H5G_bt_common_t udata = {NULL, NULL}; /* Dummy udata so H5B_iterate doesn't freak out */
haddr_t prev_tag = HADDR_UNDEF; /* Previous metadata tag */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -775,13 +783,13 @@ H5G__verify_cached_stabs_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Set up metadata tagging */
- if(H5AC_tag(H5AC_ind_dxpl_id, grp->oloc.addr, &prev_tag) < 0)
+ if(H5AC_tag(dxpl_id, grp->oloc.addr, &prev_tag) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "unable to apply metadata tag")
/* Check for group having a symbol table message */
/* Check for the group having a group info message */
if((stab_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID,
- H5AC_ind_dxpl_id)) < 0)
+ dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
/* No need to check anything if the symbol table doesn't exist */
@@ -789,17 +797,17 @@ H5G__verify_cached_stabs_test(hid_t gid)
HGOTO_DONE(SUCCEED);
/* Read the stab */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_ind_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get symbol table info")
/* Iterate over the b-tree, checking validity of cached information */
- if((ret_value = H5B_iterate(grp->oloc.file, H5AC_ind_dxpl_id, H5B_SNODE,
+ if((ret_value = H5B_iterate(grp->oloc.file, dxpl_id, H5B_SNODE,
stab.btree_addr, H5G_verify_cached_stabs_test_cb, &udata))
< 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTNEXT, FAIL, "iteration operator failed");
/* Reset metadata tagging */
- if(H5AC_tag(H5AC_ind_dxpl_id, prev_tag, NULL) < 0)
+ if(H5AC_tag(dxpl_id, prev_tag, NULL) < 0)
HDONE_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "unable to apply metadata tag")
done:
diff --git a/src/H5HGpkg.h b/src/H5HGpkg.h
index ebba8e5..c1ce954 100644
--- a/src/H5HGpkg.h
+++ b/src/H5HGpkg.h
@@ -77,8 +77,7 @@ H5FL_BLK_EXTERN(gheap_chunk);
* largest data type is eight bytes.
*/
#define H5HG_ALIGNMENT 8
-#define H5HG_ALIGN(X) (size_t)(H5HG_ALIGNMENT*(((X)+H5HG_ALIGNMENT-1)/ \
- H5HG_ALIGNMENT))
+#define H5HG_ALIGN(X) (H5HG_ALIGNMENT*(((X)+H5HG_ALIGNMENT-1)/H5HG_ALIGNMENT))
#define H5HG_ISALIGNED(X) ((X)==H5HG_ALIGN(X))
/*
@@ -86,20 +85,20 @@ H5FL_BLK_EXTERN(gheap_chunk);
* that the stuff that follows the header is aligned.
*/
#define H5HG_SIZEOF_HDR(f) \
- H5HG_ALIGN(4 + /*magic number */ \
- 1 + /*version number */ \
- 3 + /*reserved */ \
- H5F_SIZEOF_SIZE(f)) /*collection size */
+ (size_t)H5HG_ALIGN(4 + /*magic number */ \
+ 1 + /*version number */ \
+ 3 + /*reserved */ \
+ H5F_SIZEOF_SIZE(f)) /*collection size */
/*
* The overhead associated with each object in the heap, always a multiple of
* the alignment so that the stuff that follows the header is aligned.
*/
#define H5HG_SIZEOF_OBJHDR(f) \
- H5HG_ALIGN(2 + /*object id number */ \
- 2 + /*reference count */ \
- 4 + /*reserved */ \
- H5F_SIZEOF_SIZE(f)) /*object data size */
+ (size_t)H5HG_ALIGN(2 + /*object id number */ \
+ 2 + /*reference count */ \
+ 4 + /*reserved */ \
+ H5F_SIZEOF_SIZE(f)) /*object data size */
/*
* The initial guess for the number of messages in a collection. We assume
diff --git a/src/H5O.c b/src/H5O.c
index 000c6cd..dcb1a6d 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -310,12 +310,12 @@ H5Oopen_by_idx(hid_t loc_id, const char *group_name, H5_index_t idx_type,
H5G_loc_reset(&obj_loc);
/* Find the object's location, according to the order in the index */
- if(H5G_loc_find_by_idx(&loc, group_name, idx_type, order, n, &obj_loc/*out*/, lapl_id, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find_by_idx(&loc, group_name, idx_type, order, n, &obj_loc/*out*/, lapl_id, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "group not found")
loc_found = TRUE;
/* Open the object */
- if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_dxpl_id, TRUE)) < 0)
+ if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_ind_dxpl_id, TRUE)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
done:
@@ -391,7 +391,7 @@ H5Oopen_by_addr(hid_t loc_id, haddr_t addr)
H5G_name_reset(obj_loc.path); /* objects opened through this routine don't have a path name */
/* Open the object */
- if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_dxpl_id, TRUE)) < 0)
+ if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_ind_dxpl_id, TRUE)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
done:
@@ -574,7 +574,7 @@ H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not link access property list ID")
/* Check if the object exists */
- if((ret_value = H5G_loc_exists(&loc, name, lapl_id, H5AC_dxpl_id)) < 0)
+ if((ret_value = H5G_loc_exists(&loc, name, lapl_id, H5AC_ind_dxpl_id)) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to determine if '%s' exists", name)
done:
@@ -1356,6 +1356,7 @@ H5O_open_name(H5G_loc_t *loc, const char *name, hid_t lapl_id, hbool_t app_ref)
H5G_name_t obj_path; /* Opened object group hier. path */
H5O_loc_t obj_oloc; /* Opened object object location */
hbool_t loc_found = FALSE; /* Entry at 'name' found */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
hid_t ret_value = FAIL;
FUNC_ENTER_NOAPI(FAIL)
@@ -1370,12 +1371,12 @@ H5O_open_name(H5G_loc_t *loc, const char *name, hid_t lapl_id, hbool_t app_ref)
H5G_loc_reset(&obj_loc);
/* Find the object's location */
- if(H5G_loc_find(loc, name, &obj_loc/*out*/, lapl_id, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find(loc, name, &obj_loc/*out*/, lapl_id, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
/* Open the object */
- if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_ind_dxpl_id, app_ref)) < 0)
+ if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, dxpl_id, app_ref)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
done:
diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c
index 24eed35..555361a 100644
--- a/src/H5Ocopy.c
+++ b/src/H5Ocopy.c
@@ -86,7 +86,7 @@ static herr_t H5O_copy_header_real(const H5O_loc_t *oloc_src, H5O_loc_t *oloc_ds
static herr_t H5O_copy_header(const H5O_loc_t *oloc_src, H5O_loc_t *oloc_dst /*out*/,
hid_t dxpl_id, hid_t ocpypl_id);
static herr_t H5O_copy_obj(H5G_loc_t *src_loc, H5G_loc_t *dst_loc,
- const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id);
+ const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id);
static herr_t H5O_copy_obj_by_ref(H5O_loc_t *src_oloc, hid_t dxpl_id,
H5O_loc_t *dst_oloc, H5G_loc_t *dst_root_loc, H5O_copy_t *cpy_info);
static herr_t H5O_copy_free_comm_dt_cb(void *item, void *key, void *op_data);
@@ -243,7 +243,7 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
H5G_loc_reset(&tmp_loc);
/* Check if object already exists in destination */
- if(H5G_loc_find(&dst_loc, dst_name, &tmp_loc, H5P_DEFAULT, H5AC_dxpl_id) >= 0) {
+ if(H5G_loc_find(&dst_loc, dst_name, &tmp_loc, H5P_DEFAULT, H5AC_ind_dxpl_id) >= 0) {
H5G_name_free(&tmp_path);
HGOTO_ERROR(H5E_SYM, H5E_EXISTS, FAIL, "destination object already exists")
} /* end if */
@@ -255,7 +255,7 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
H5G_loc_reset(&src_loc);
/* Find the source object to copy */
- if(H5G_loc_find(&loc, src_name, &src_loc/*out*/, H5P_DEFAULT, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find(&loc, src_name, &src_loc/*out*/, H5P_DEFAULT, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "source object not found")
loc_found = TRUE;
@@ -281,7 +281,7 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not object copy property list")
/* Do the actual copying of the object */
- if(H5O_copy_obj(&src_loc, &dst_loc, dst_name, ocpypl_id, lcpl_id) < 0)
+ if(H5O_copy_obj(&src_loc, &dst_loc, dst_name, ocpypl_id, lcpl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "unable to copy object")
done:
@@ -1160,14 +1160,13 @@ done:
*/
static herr_t
H5O_copy_obj(H5G_loc_t *src_loc, H5G_loc_t *dst_loc, const char *dst_name,
- hid_t ocpypl_id, hid_t lcpl_id)
+ hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id)
{
H5G_name_t new_path; /* Copied object group hier. path */
H5O_loc_t new_oloc; /* Copied object object location */
H5G_loc_t new_loc; /* Group location of object copied */
H5F_t *cached_dst_file; /* Cached destination file */
hbool_t entry_inserted = FALSE; /* Flag to indicate that the new entry was inserted into a group */
- hid_t dxpl_id = H5AC_dxpl_id; /* DXPL for operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
@@ -1665,7 +1664,8 @@ H5O_copy_search_comm_dt_check(H5O_loc_t *obj_oloc,
attr_op.u.lib_op = H5O_copy_search_comm_dt_attr_cb;
udata->obj_oloc.file = obj_oloc->file;
udata->obj_oloc.addr = obj_oloc->addr;
- if(H5O_attr_iterate_real((hid_t)-1, obj_oloc, udata->dxpl_id, H5_INDEX_NAME, H5_ITER_NATIVE, 0, NULL, &attr_op, udata) < 0)
+ if(H5O_attr_iterate_real((hid_t)-1, obj_oloc, udata->dxpl_id, H5_INDEX_NAME,
+ H5_ITER_NATIVE, (hsize_t)0, NULL, &attr_op, udata) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_BADITER, FAIL, "error iterating over attributes");
done:
diff --git a/src/H5Olayout.c b/src/H5Olayout.c
index fb0a4b8..7ef0c4b 100644
--- a/src/H5Olayout.c
+++ b/src/H5Olayout.c
@@ -965,6 +965,7 @@ H5O_layout_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_mesg,
"Index Type:", "v2 B-tree");
break;
+ case H5D_CHUNK_IDX_NTYPES:
default:
HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth,
"Index Type:", "Unknown", (unsigned)mesg->u.chunk.idx_type);
diff --git a/src/H5Pfcpl.c b/src/H5Pfcpl.c
index aca589c..5fc93fd 100644
--- a/src/H5Pfcpl.c
+++ b/src/H5Pfcpl.c
@@ -517,6 +517,9 @@ H5Pset_sym_k(hid_t plist_id, unsigned ik, unsigned lk)
/* Set values */
if (ik > 0) {
+ if((ik * 2) >= HDF5_BTREE_IK_MAX_ENTRIES)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "istore IK value exceeds maximum B-tree entries");
+
if(H5P_get(plist, H5F_CRT_BTREE_RANK_NAME, btree_k) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get rank for btree interanl nodes");
btree_k[H5B_SNODE_ID] = ik;
@@ -614,6 +617,9 @@ H5Pset_istore_k(hid_t plist_id, unsigned ik)
if (ik == 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "istore IK value must be positive");
+ if((ik * 2) >= HDF5_BTREE_IK_MAX_ENTRIES)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "istore IK value exceeds maximum B-tree entries");
+
/* Get the plist structure */
if(NULL == (plist = H5P_object_verify(plist_id,H5P_FILE_CREATE)))
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID");
diff --git a/src/H5R.c b/src/H5R.c
index 9b99914..d96f5e6 100644
--- a/src/H5R.c
+++ b/src/H5R.c
@@ -603,7 +603,7 @@ H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *_r
file = loc.oloc->file;
/* Create reference */
- if((ret_value = H5R_dereference(file, oapl_id, H5AC_dxpl_id, ref_type, _ref, TRUE)) < 0)
+ if((ret_value = H5R_dereference(file, oapl_id, H5AC_ind_dxpl_id, ref_type, _ref, TRUE)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to dereference object")
done:
@@ -1026,7 +1026,7 @@ H5Rget_name(hid_t id, H5R_type_t ref_type, const void *_ref, char *name,
file = loc.oloc->file;
/* Get name */
- if((ret_value = H5R_get_name(file, H5P_DEFAULT, H5AC_dxpl_id, id, ref_type, _ref, name, size)) < 0)
+ if((ret_value = H5R_get_name(file, H5P_DEFAULT, H5AC_ind_dxpl_id, id, ref_type, _ref, name, size)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to determine object path")
done:
diff --git a/src/H5RS.c b/src/H5RS.c
index dc6795e..5bbdabd 100644
--- a/src/H5RS.c
+++ b/src/H5RS.c
@@ -139,7 +139,7 @@ done:
REVISION LOG
--------------------------------------------------------------------------*/
H5RS_str_t *
-H5RS_wrap(const char *s)
+H5RS_wrap(char *s)
{
H5RS_str_t *ret_value; /* Return value */
@@ -150,7 +150,7 @@ H5RS_wrap(const char *s)
HGOTO_ERROR(H5E_RS, H5E_NOSPACE, NULL, "memory allocation failed")
/* Set the internal fields */
- ret_value->s = (char *)s; /* (Cast away const OK - QAK) */
+ ret_value->s = s;
ret_value->wrapped = 1;
ret_value->n = 1;
diff --git a/src/H5RSprivate.h b/src/H5RSprivate.h
index c46f53c..757e0e4 100644
--- a/src/H5RSprivate.h
+++ b/src/H5RSprivate.h
@@ -46,7 +46,7 @@ typedef struct H5RS_str_t H5RS_str_t;
/* Private routines */
/********************/
H5_DLL H5RS_str_t *H5RS_create(const char *s);
-H5_DLL H5RS_str_t *H5RS_wrap(const char *s);
+H5_DLL H5RS_str_t *H5RS_wrap(char *s);
H5_DLL H5RS_str_t *H5RS_own(char *s);
H5_DLL herr_t H5RS_decr(H5RS_str_t *rs);
H5_DLL herr_t H5RS_incr(H5RS_str_t *rs);
diff --git a/src/H5Rdeprec.c b/src/H5Rdeprec.c
index ea30913..9877f42 100644
--- a/src/H5Rdeprec.c
+++ b/src/H5Rdeprec.c
@@ -228,7 +228,7 @@ H5Rdereference1(hid_t obj_id, H5R_type_t ref_type, const void *_ref)
file = loc.oloc->file;
/* Create reference */
- if((ret_value = H5R_dereference(file, H5P_DATASET_ACCESS_DEFAULT, H5AC_dxpl_id, ref_type, _ref, TRUE)) < 0)
+ if((ret_value = H5R_dereference(file, H5P_DATASET_ACCESS_DEFAULT, H5AC_ind_dxpl_id, ref_type, _ref, TRUE)) < 0)
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable dereference object")
done:
diff --git a/src/H5S.c b/src/H5S.c
index a9812695..4a1783e 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -482,6 +482,12 @@ H5Sextent_copy(hid_t dst_id,hid_t src_id)
if(H5S_extent_copy(&(dst->extent), &(src->extent), TRUE) < 0)
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, FAIL, "can't copy extent")
+ /* If the selection is 'all', update the number of elements selected in the
+ * destination space */
+ if(H5S_SEL_ALL == H5S_GET_SELECT_TYPE(dst))
+ if(H5S_select_all(dst, FALSE) < 0)
+ HGOTO_ERROR(H5E_DATASPACE, H5E_CANTDELETE, FAIL, "can't change selection")
+
done:
FUNC_LEAVE_API(ret_value)
} /* end H5Sextent_copy() */
diff --git a/src/H5Sdbg.c b/src/H5Sdbg.c
index df033da..0cbe4f2 100644
--- a/src/H5Sdbg.c
+++ b/src/H5Sdbg.c
@@ -113,6 +113,7 @@ H5S_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream, int indent,
indent + 3, MAX(0, fwidth - 3));
break;
+ case H5S_NO_CLASS:
default:
fprintf(stream, "%*s%-*s **UNKNOWN-%ld**\n", indent, "", fwidth,
"Space class:", (long)(H5S_GET_EXTENT_TYPE(mesg)));
diff --git a/src/H5T.c b/src/H5T.c
index c67f958..fa3ad8e 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -1045,24 +1045,24 @@ H5T_init_interface(void)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
status = 0;
- status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum_i", enum_type, fixedpt, H5T__conv_enum_numeric, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum_f", enum_type, floatpt, H5T__conv_enum_numeric, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T__conv_array, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum_i", enum_type, fixedpt, H5T__conv_enum_numeric, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum_f", enum_type, floatpt, H5T__conv_enum_numeric, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T__conv_array, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
/*
* Native conversions should be listed last since we can use hardware to
@@ -1073,272 +1073,220 @@ H5T_init_interface(void)
*/
/* floating point */
-#if H5T_CONV_INTERNAL_FP_FP
- status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_dxpl_id, FALSE);
-#endif /*H5T_CONV_INTERNAL_FP_FP*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_dxpl_id, FALSE);
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+ status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_ind_dxpl_id, FALSE);
+#if H5_SIZEOF_LONG_DOUBLE != 0
+ status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_ind_dxpl_id, FALSE);
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/* from long long */
- status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T__conv_ullong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T__conv_ullong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar, H5AC_ind_dxpl_id, FALSE);
/* From long */
- status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar, H5AC_ind_dxpl_id, FALSE);
/* From short */
- status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T__conv_ushort_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T__conv_ushort_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar, H5AC_ind_dxpl_id, FALSE);
/* From int */
- status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar, H5AC_ind_dxpl_id, FALSE);
/* From char */
- status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar, H5AC_ind_dxpl_id, FALSE);
/* From char to floats */
- status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned char to floats */
- status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From short to floats */
- status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned short to floats */
- status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T__conv_ushort_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T__conv_ushort_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From int to floats */
- status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned int to floats */
- status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From long to floats */
- status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned long to floats */
-#if H5T_CONV_INTERNAL_ULONG_FLT
- status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_ULONG_FLT */
-#if H5T_CONV_INTERNAL_ULONG_DBL
- status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_ULONG_DBL */
-#if H5T_CONV_INTERNAL_ULONG_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_ULONG_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From long long to floats */
- status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double, H5AC_dxpl_id, FALSE);
-#ifdef H5T_CONV_INTERNAL_LLONG_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LLONG_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned long long to floats */
-#if H5T_CONV_INTERNAL_ULLONG_FP
- status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_ULLONG_FP */
-#ifdef H5T_CONV_INTERNAL_ULLONG_LDOUBLE
- status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T__conv_ullong_ldouble, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_ULLONG_LDOUBLE */
+ status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T__conv_ullong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From floats to char */
- status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned char */
- status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar, H5AC_ind_dxpl_id, FALSE);
/* From floats to short */
- status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned short */
- status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T__conv_ldouble_ushort, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T__conv_ldouble_ushort, H5AC_ind_dxpl_id, FALSE);
/* From floats to int */
- status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned int */
- status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_UINT
- status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_UINT */
-
- status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint, H5AC_ind_dxpl_id, FALSE);
+
+ status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned long */
- status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong, H5AC_dxpl_id, FALSE);
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
+ status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong, H5AC_ind_dxpl_id, FALSE);
/* From floats to long long */
-#if H5T_CONV_INTERNAL_FP_LLONG
- status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_FP_LLONG */
-#ifdef H5T_CONV_INTERNAL_LDOUBLE_LLONG
- status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_LLONG */
+ status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned long long */
-#if H5T_CONV_INTERNAL_FP_ULLONG
- status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_FP_ULLONG */
-#if H5T_CONV_INTERNAL_LDOUBLE_ULLONG
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T__conv_ldouble_ullong, H5AC_dxpl_id, FALSE);
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_ULLONG */
+ status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T__conv_ldouble_ullong, H5AC_ind_dxpl_id, FALSE);
/*
* The special no-op conversion is the fastest, so we list it last. The
* data types we use are not important as long as the source and
* destination are equal.
*/
- status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop, H5AC_ind_dxpl_id, FALSE);
/* Initialize the +/- Infinity values for floating-point types */
status |= H5T_init_inf();
@@ -1453,7 +1401,7 @@ H5T_term_interface(void)
H5T__print_stats(path, &nprint/*in,out*/);
path->cdata.command = H5T_CONV_FREE;
if((path->func)((hid_t)FAIL, (hid_t)FAIL, &(path->cdata), (size_t)0,
- (size_t)0, (size_t)0, NULL, NULL,H5AC_dxpl_id) < 0) {
+ (size_t)0, (size_t)0, NULL, NULL,H5AC_ind_dxpl_id) < 0) {
#ifdef H5T_DEBUG
if (H5DEBUG(T)) {
fprintf(H5DEBUG(T), "H5T: conversion function "
@@ -2977,7 +2925,7 @@ H5T_decode(const unsigned char *buf)
HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, NULL, "unknown version of encoded datatype")
/* Decode the serialized datatype message */
- if(NULL == (ret_value = (H5T_t *)H5O_msg_decode(f, H5AC_dxpl_id, NULL, H5O_DTYPE_ID, buf)))
+ if(NULL == (ret_value = (H5T_t *)H5O_msg_decode(f, H5AC_ind_dxpl_id, NULL, H5O_DTYPE_ID, buf)))
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, NULL, "can't decode object")
/* Mark datatype as being in memory now */
diff --git a/src/H5TS.c b/src/H5TS.c
index b69bd4d..d4b90db 100644
--- a/src/H5TS.c
+++ b/src/H5TS.c
@@ -489,7 +489,7 @@ H5TS_win32_thread_exit(void)
*--------------------------------------------------------------------------
*/
H5TS_thread_t
-H5TS_create_thread(void *func, H5TS_attr_t *attr, void *udata)
+H5TS_create_thread(void *(*func)(void *), H5TS_attr_t *attr, void *udata)
{
H5TS_thread_t ret_value;
diff --git a/src/H5TSprivate.h b/src/H5TSprivate.h
index cc22f96..5394b77 100644
--- a/src/H5TSprivate.h
+++ b/src/H5TSprivate.h
@@ -122,7 +122,7 @@ H5_DLL herr_t H5TS_mutex_lock(H5TS_mutex_t *mutex);
H5_DLL herr_t H5TS_mutex_unlock(H5TS_mutex_t *mutex);
H5_DLL herr_t H5TS_cancel_count_inc(void);
H5_DLL herr_t H5TS_cancel_count_dec(void);
-H5_DLL H5TS_thread_t H5TS_create_thread(void * func, H5TS_attr_t * attr, void *udata);
+H5_DLL H5TS_thread_t H5TS_create_thread(void *(*func)(void *), H5TS_attr_t * attr, void *udata);
#if defined c_plusplus || defined __cplusplus
}
diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c
index 7359a56..024cc83 100644
--- a/src/H5Tcommit.c
+++ b/src/H5Tcommit.c
@@ -558,7 +558,7 @@ H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)
H5O_type_t obj_type; /* Type of object at location */
H5G_loc_t type_loc; /* Group object for datatype */
hbool_t obj_found = FALSE; /* Object at 'name' found */
- hid_t dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datatype */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datatype */
hid_t ret_value = FAIL; /* Return value */
FUNC_ENTER_API(FAIL)
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index 58b0b46..df85553 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -7086,7 +7086,6 @@ H5T__conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
* destination values are packed.
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_FP
herr_t
H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7095,7 +7094,6 @@ H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(FLOAT, DOUBLE, float, double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_FP_FP */
/*-------------------------------------------------------------------------
@@ -7113,7 +7111,7 @@ H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7122,7 +7120,7 @@ H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(FLOAT, LDOUBLE, float, long double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7147,7 +7145,6 @@ H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
* destination values are packed.
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_FP
herr_t
H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7156,7 +7153,6 @@ H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(DOUBLE, FLOAT, double, float, -FLT_MAX, FLT_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_FP*/
/*-------------------------------------------------------------------------
@@ -7174,7 +7170,7 @@ H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7183,7 +7179,7 @@ H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(DOUBLE, LDOUBLE, double, long double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7201,7 +7197,7 @@ H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7210,7 +7206,7 @@ H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(LDOUBLE, FLOAT, long double, float, -FLT_MAX, FLT_MAX);
}
-#endif /* H5T_CONV_INTERNAL_FP_LDOUBLE */
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7228,7 +7224,7 @@ H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7237,7 +7233,7 @@ H5T__conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(LDOUBLE, DOUBLE, long double, double, -DBL_MAX, DBL_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7305,7 +7301,6 @@ H5T__conv_schar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7314,7 +7309,6 @@ H5T__conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(SCHAR, LDOUBLE, signed char, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7382,7 +7376,6 @@ H5T__conv_uchar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7391,7 +7384,6 @@ H5T__conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(UCHAR, LDOUBLE, unsigned char, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7459,7 +7451,6 @@ H5T__conv_short_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7468,7 +7459,6 @@ H5T__conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(SHORT, LDOUBLE, short, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7536,7 +7526,6 @@ H5T__conv_ushort_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7545,7 +7534,6 @@ H5T__conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(USHORT, LDOUBLE, unsigned short, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7613,7 +7601,6 @@ H5T__conv_int_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7622,7 +7609,6 @@ H5T__conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(INT, LDOUBLE, int, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7690,7 +7676,6 @@ H5T__conv_uint_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7699,7 +7684,6 @@ H5T__conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(UINT, LDOUBLE, unsigned int, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7767,7 +7751,6 @@ H5T__conv_long_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_INTEGER_LDOUBLE
herr_t
H5T__conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7776,7 +7759,6 @@ H5T__conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(LONG, LDOUBLE, long, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7794,7 +7776,6 @@ H5T__conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULONG_FLT
herr_t
H5T__conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7803,7 +7784,6 @@ H5T__conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULONG, FLOAT, unsigned long, float, -, -);
}
-#endif /* H5T_CONV_INTERNAL_ULONG_FLT */
/*-------------------------------------------------------------------------
@@ -7821,7 +7801,6 @@ H5T__conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULONG_DBL
herr_t
H5T__conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7830,7 +7809,6 @@ H5T__conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULONG, DOUBLE, unsigned long, double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_ULONG_DBL */
/*-------------------------------------------------------------------------
@@ -7848,7 +7826,6 @@ H5T__conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULONG_LDOUBLE
herr_t
H5T__conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7857,7 +7834,6 @@ H5T__conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULONG, LDOUBLE, unsigned long, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_ULONG_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7925,7 +7901,6 @@ H5T__conv_llong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LLONG_LDOUBLE
herr_t
H5T__conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7934,7 +7909,6 @@ H5T__conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(LLONG, LDOUBLE, long long, long double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_LLONG_LDOUBLE */
/*-------------------------------------------------------------------------
@@ -7952,7 +7926,6 @@ H5T__conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULLONG_FP
herr_t
H5T__conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7961,7 +7934,6 @@ H5T__conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULLONG, FLOAT, unsigned long long, float, -, -);
}
-#endif /*H5T_CONV_INTERNAL_ULLONG_FP*/
/*-------------------------------------------------------------------------
@@ -7979,7 +7951,6 @@ H5T__conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULLONG_FP
herr_t
H5T__conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7988,7 +7959,6 @@ H5T__conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULLONG, DOUBLE, unsigned long long, double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_ULLONG_FP*/
/*-------------------------------------------------------------------------
@@ -8006,7 +7976,6 @@ H5T__conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_ULLONG_LDOUBLE
herr_t
H5T__conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8015,7 +7984,6 @@ H5T__conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_xF(ULLONG, LDOUBLE, unsigned long long, long double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_ULLONG_LDOUBLE*/
/*-------------------------------------------------------------------------
@@ -8141,7 +8109,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8152,7 +8119,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, SCHAR, long double, signed char, SCHAR_MIN, SCHAR_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
/*-------------------------------------------------------------------------
@@ -8170,7 +8136,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8181,7 +8146,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, UCHAR, long double, unsigned char, 0, UCHAR_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
/*-------------------------------------------------------------------------
@@ -8307,7 +8271,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8318,7 +8281,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, SHORT, long double, short, SHRT_MIN, SHRT_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /*H5T_CONV_INTERNAL_LDOUBLE_INTEGER*/
/*-------------------------------------------------------------------------
@@ -8336,7 +8298,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8347,7 +8308,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, USHORT, long double, unsigned short, 0, USHRT_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
/*-------------------------------------------------------------------------
@@ -8473,7 +8433,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8484,7 +8443,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, INT, long double, int, INT_MIN, INT_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
/*-------------------------------------------------------------------------
@@ -8502,7 +8460,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_UINT
herr_t
H5T__conv_ldouble_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8513,7 +8470,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, UINT, long double, unsigned int, 0, UINT_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_UINT */
/*-------------------------------------------------------------------------
@@ -8639,7 +8595,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8650,7 +8605,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, LONG, long double, long, LONG_MIN, LONG_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /*H5T_CONV_INTERNAL_LDOUBLE_INTEGER*/
/*-------------------------------------------------------------------------
@@ -8668,7 +8622,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_INTEGER
herr_t
H5T__conv_ldouble_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8679,7 +8632,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, ULONG, long double, unsigned long, 0, ULONG_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */
/*-------------------------------------------------------------------------
@@ -8697,7 +8649,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LLONG
herr_t
H5T__conv_float_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8708,7 +8659,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(FLOAT, LLONG, float, long long, LLONG_MIN, LLONG_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /* H5T_CONV_INTERNAL_FP_LLONG */
/*-------------------------------------------------------------------------
@@ -8726,7 +8676,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_ULLONG
herr_t
H5T__conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8735,7 +8684,6 @@ H5T__conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Fx(FLOAT, ULLONG, float, unsigned long long, 0, ULLONG_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_ULLONG*/
/*-------------------------------------------------------------------------
@@ -8753,7 +8701,6 @@ H5T__conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LLONG
herr_t
H5T__conv_double_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8764,7 +8711,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(DOUBLE, LLONG, double, long long, LLONG_MIN, LLONG_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /*H5T_CONV_INTERNAL_FP_LLONG*/
/*-------------------------------------------------------------------------
@@ -8782,7 +8728,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_ULLONG
herr_t
H5T__conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8791,7 +8736,6 @@ H5T__conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Fx(DOUBLE, ULLONG, double, unsigned long long, 0, ULLONG_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_ULLONG*/
/*-------------------------------------------------------------------------
@@ -8809,7 +8753,6 @@ H5T__conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_LLONG
herr_t
H5T__conv_ldouble_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8820,7 +8763,6 @@ H5_GCC_DIAG_OFF(float-equal)
H5T_CONV_Fx(LDOUBLE, LLONG, long double, long long, LLONG_MIN, LLONG_MAX);
H5_GCC_DIAG_ON(float-equal)
}
-#endif /*H5T_CONV_INTERNAL_LDOUBLE_LLONG*/
/*-------------------------------------------------------------------------
@@ -8838,7 +8780,6 @@ H5_GCC_DIAG_ON(float-equal)
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_LDOUBLE_ULLONG
herr_t
H5T__conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -8847,7 +8788,6 @@ H5T__conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Fx(LDOUBLE, ULLONG, long double, unsigned long long, 0, ULLONG_MAX);
}
-#endif /*H5T_CONV_INTERNAL_LDOUBLE_ULLONG*/
/*-------------------------------------------------------------------------
diff --git a/src/H5Tdeprec.c b/src/H5Tdeprec.c
index a8881fb..f1586bd 100644
--- a/src/H5Tdeprec.c
+++ b/src/H5Tdeprec.c
@@ -200,7 +200,7 @@ H5Topen1(hid_t loc_id, const char *name)
H5O_type_t obj_type; /* Type of object at location */
H5G_loc_t type_loc; /* Group object for datatype */
hbool_t obj_found = FALSE; /* Object at 'name' found */
- hid_t dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datatype */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datatype */
hid_t ret_value = FAIL;
FUNC_ENTER_API(FAIL)
diff --git a/src/H5Tnative.c b/src/H5Tnative.c
index 1a97f39..960a811 100644
--- a/src/H5Tnative.c
+++ b/src/H5Tnative.c
@@ -396,7 +396,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member value")
HDmemcpy(memb_value, tmp_memb_value, H5T_get_size(super_type));
- if(H5T_convert(tpath, super_type_id, nat_super_type_id, (size_t)1, (size_t)0, (size_t)0, memb_value, NULL, H5P_DEFAULT) < 0)
+ if(H5T_convert(tpath, super_type_id, nat_super_type_id, (size_t)1, (size_t)0, (size_t)0, memb_value, NULL, H5P_DATASET_XFER_DEFAULT) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member value")
if(H5T__enum_insert(new_type, memb_name, memb_value) < 0)
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index bd37829..4697bfc 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -111,123 +111,6 @@
/* (_not_ setting H5T_VISIT_SIMPLE and setting either H5T_VISIT_COMPLEX_FIRST or H5T_VISIT_COMPLEX_LAST will mean visiting all nodes _except_ "simple" "leafs" in the "tree" */
-/* Define an internal macro for converting between floating number(float and double) and floating number.
- * All Cray compilers don't support denormalized floating values generating exception(?). */
-#if H5_CONVERT_DENORMAL_FLOAT
-#define H5T_CONV_INTERNAL_FP_FP 1
-#endif /*H5_CONVERT_DENORMAL_FLOAT*/
-
-/* Define an internal macro for converting between floating number(float and double) and long double.
- * All Cray compilers don't support denormalized floating values generating exception(?). NEC doesn't
- * support long double. */
-#if H5_SIZEOF_LONG_DOUBLE && H5_CONVERT_DENORMAL_FLOAT
-#define H5T_CONV_INTERNAL_FP_LDOUBLE 1
-#endif /*H5_SIZEOF_LONG_DOUBLE && H5_CONVERT_DENORMAL_FLOAT*/
-
-/* Define an internal macro for converting all integers to long double. SGI compilers give some
- * incorrect conversions. */
-#if (H5_WANT_DATA_ACCURACY && H5_INTEGER_TO_LDOUBLE_ACCURATE) || (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_INTEGER_LDOUBLE 1
-#endif
-
-/* Define an internal macro for converting unsigned long to float.
- * Pathscale compiler on Sandia's Linux machine has some problem.
- * 64-bit Solaris does different rounding. */
-#if (H5_WANT_DATA_ACCURACY && H5_ULONG_TO_FLOAT_ACCURATE && H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE) || \
- (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_ULONG_FLT 1
-#endif
-
-/* Define an internal macro for converting unsigned (long) long to double.
- * 64-bit Solaris does different rounding. */
-#if (H5_WANT_DATA_ACCURACY && H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE) || (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_ULONG_DBL 1
-#endif
-
-/* Define an internal macro for converting unsigned long to long double. SGI compilers give some
- * incorrect conversions. 64-bit Solaris does different rounding. */
-#if (H5_WANT_DATA_ACCURACY && H5_INTEGER_TO_LDOUBLE_ACCURATE && H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE) || \
- (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_ULONG_LDOUBLE 1
-#endif
-
-/* Define an internal macro for converting long long to long double. Mac OS 10.4 gives some
- * incorrect conversions. */
-#if (H5_WANT_DATA_ACCURACY && H5_INTEGER_TO_LDOUBLE_ACCURATE && defined(H5_LLONG_TO_LDOUBLE_CORRECT)) || \
- (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_LLONG_LDOUBLE 1
-#endif
-
-/* Define an internal macro for converting unsigned long long to floating numbers. SGI compilers give
- * some incorect conversion. 64-bit Solaris does different rounding. Windows Visual Studio 6 does
- * not support unsigned long long. */
-#if (H5_WANT_DATA_ACCURACY && H5_ULLONG_TO_FP_CAST_WORKS && H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE) || \
- (!H5_WANT_DATA_ACCURACY && H5_ULLONG_TO_FP_CAST_WORKS)
-#define H5T_CONV_INTERNAL_ULLONG_FP 1
-#endif
-
-/* Define an internal macro for converting unsigned long long to long double. SGI compilers give
- * some incorect conversion. 64-bit Solaris does different rounding. Windows Visual Studio 6 does
- * not support unsigned long long. For FreeBSD(sleipnir), the last 2 bytes of mantissa are lost when
- * compiler tries to do the conversion. For Cygwin, compiler doesn't do rounding correctly.
- * Mac OS 10.4 gives some incorrect result. */
-#if (H5_WANT_DATA_ACCURACY && H5_ULLONG_TO_FP_CAST_WORKS && H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE && \
- defined(H5_ULLONG_TO_LDOUBLE_PRECISION) && defined(H5_LLONG_TO_LDOUBLE_CORRECT)) || (!H5_WANT_DATA_ACCURACY && \
- H5_ULLONG_TO_FP_CAST_WORKS)
-#define H5T_CONV_INTERNAL_ULLONG_LDOUBLE 1
-#endif
-
-/* Define an internal macro for converting long double to all integers. SGI compilers give some incorrect
- * conversions. HP-UX 11.00 compiler generates floating exception. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_INTEGER_WORKS) || \
- (!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
-#define H5T_CONV_INTERNAL_LDOUBLE_INTEGER 1
-#endif
-
-/* Define an internal macro for converting long double to unsigned int. SGI compilers give some incorrect
- * conversions. HP-UX 11.00 compiler generates floating exception. Some Intel compilers on some Linux
- * give incorrect values. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_UINT_ACCURATE && \
- H5_LDOUBLE_TO_INTEGER_WORKS) || (!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
-#define H5T_CONV_INTERNAL_LDOUBLE_UINT 1
-#endif
-
-/* Define an internal macro for converting floating numbers to long long. The hard conversion on Windows
- * .NET 2003 has a bug and gives wrong exception value. */
-#if (H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS)) || (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_FP_LLONG 1
-#endif
-
-/* Define an internal macro for converting long double to long long. SGI compilers give some incorrect
- * conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates floating exception.
- * The hard conversion on Windows .NET 2003 has a bug and gives wrong exception value. */
-#if (H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS) && H5_LDOUBLE_TO_INTEGER_ACCURATE && \
- H5_LDOUBLE_TO_INTEGER_WORKS && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \
- (!H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS) && H5_LDOUBLE_TO_INTEGER_WORKS)
-#define H5T_CONV_INTERNAL_LDOUBLE_LLONG 1
-#endif
-
-/* Define an internal macro for converting floating numbers to unsigned long long. PGI compiler does
- * roundup when the source fraction part is greater than 0.5. HP-UX compilers set the maximal number
- * for unsigned long long as 0x7fffffffffffffff during conversion. */
-#if (H5_WANT_DATA_ACCURACY && H5_FP_TO_ULLONG_ACCURATE && defined(H5_FP_TO_ULLONG_RIGHT_MAXIMUM)) || \
- (!H5_WANT_DATA_ACCURACY)
-#define H5T_CONV_INTERNAL_FP_ULLONG 1
-#else
-#define H5T_CONV_INTERNAL_FP_ULLONG 0
-#endif
-
-/* Define an internal macro for converting long double to unsigned long long. SGI compilers give some
- * incorrect conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates
- * floating exception. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_INTEGER_WORKS && \
- H5_FP_TO_ULLONG_ACCURATE && defined(H5_FP_TO_ULLONG_RIGHT_MAXIMUM) && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \
- (!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
-#define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 1
-#else
-#define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 0
-#endif
-
/* Statistics about a conversion function */
struct H5T_stats_t {
unsigned ncalls; /*num calls to conversion function */
diff --git a/src/H5VM.c b/src/H5VM.c
index 2fb56c4..10ea511 100644
--- a/src/H5VM.c
+++ b/src/H5VM.c
@@ -418,8 +418,7 @@ H5VM_hyper_disjointp(unsigned n,
HGOTO_DONE(TRUE)
for(u = 0; u < n; u++) {
- HDassert(size1[u] < HSIZET_MAX);
- HDassert(size2[u] < HSIZET_MAX);
+ HDcompile_assert(sizeof(uint32_t) <= sizeof(hsize_t));
if(0 == size1[u] || 0 == size2[u])
HGOTO_DONE(TRUE)
diff --git a/src/H5VMprivate.h b/src/H5VMprivate.h
index fe7baed..7f654e1 100644
--- a/src/H5VMprivate.h
+++ b/src/H5VMprivate.h
@@ -396,26 +396,17 @@ H5VM_log2_gen(uint64_t n)
unsigned r; /* r will be log2(n) */
register unsigned int t, tt, ttt; /* temporaries */
-#ifdef H5_BAD_LOG2_CODE_GENERATED
- if(n > (uint64_t)0x7fffffffffffffff)
- r = 63;
- else {
- n &= (uint64_t)0x7fffffffffffffff;
-#endif /* H5_BAD_LOG2_CODE_GENERATED */
- if((ttt = (unsigned)(n >> 32)))
- if((tt = (unsigned)(n >> 48)))
- r = (t = (unsigned)(n >> 56)) ? 56 + (unsigned)LogTable256[t] : 48 + (unsigned)LogTable256[tt & 0xFF];
- else
- r = (t = (unsigned)(n >> 40)) ? 40 + (unsigned)LogTable256[t] : 32 + (unsigned)LogTable256[ttt & 0xFF];
+ if((ttt = (unsigned)(n >> 32)))
+ if((tt = (unsigned)(n >> 48)))
+ r = (t = (unsigned)(n >> 56)) ? 56 + (unsigned)LogTable256[t] : 48 + (unsigned)LogTable256[tt & 0xFF];
else
- if((tt = (unsigned)(n >> 16)))
- r = (t = (unsigned)(n >> 24)) ? 24 + (unsigned)LogTable256[t] : 16 + (unsigned)LogTable256[tt & 0xFF];
- else
- /* Added 'uint8_t' cast to pacify PGCC compiler */
- r = (t = (unsigned)(n >> 8)) ? 8 + (unsigned)LogTable256[t] : (unsigned)LogTable256[(uint8_t)n];
-#ifdef H5_BAD_LOG2_CODE_GENERATED
- } /* end else */
-#endif /* H5_BAD_LOG2_CODE_GENERATED */
+ r = (t = (unsigned)(n >> 40)) ? 40 + (unsigned)LogTable256[t] : 32 + (unsigned)LogTable256[ttt & 0xFF];
+ else
+ if((tt = (unsigned)(n >> 16)))
+ r = (t = (unsigned)(n >> 24)) ? 24 + (unsigned)LogTable256[t] : 16 + (unsigned)LogTable256[tt & 0xFF];
+ else
+ /* Added 'uint8_t' cast to pacify PGCC compiler */
+ r = (t = (unsigned)(n >> 8)) ? 8 + (unsigned)LogTable256[t] : (unsigned)LogTable256[(uint8_t)n];
return(r);
} /* H5VM_log2_gen() */
diff --git a/src/H5Ztrans.c b/src/H5Ztrans.c
index 1b8c096..7a94487 100644
--- a/src/H5Ztrans.c
+++ b/src/H5Ztrans.c
@@ -160,35 +160,6 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Unexpected type conversion operation") \
}
-/* Due to the undefined nature of embedding macros/conditionals within macros, we employ
- * this clever little hack. We always compile in the code for the type conversion, even if
- * it isn't supported in the compiler. To avoid errors, we define ULLONG_TO_FP_XFORM_TYPE_OP_ERROR on
- * unsupported compilers, which will cause the code to execute HGOTO_ERROR and skip the code
- * that does the actual conversion */
-
-
-#ifndef H5_ULLONG_TO_FP_CAST_WORKS
-#define H5Z_XFORM_ULL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
-{ \
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Cannot convert from unsigned long long to double: required for data transform") \
-}
-#else
-#define H5Z_XFORM_ULL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
- H5Z_XFORM_DO_OP1(RESL,RESR,TYPE,OP,SIZE)
-#endif
-
-/* Windows Intel 8.1 compiler has error converting long long to double.
- * Hard code it in.
- */
-#ifndef H5_LLONG_TO_FP_CAST_WORKS
-#define H5Z_XFORM_LL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
-{ \
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Cannot convert from long long to double: required for data transform") \
-}
-#else
-#define H5Z_XFORM_LL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
- H5Z_XFORM_DO_OP1(RESL,RESR,TYPE,OP,SIZE)
-#endif
#if H5_SIZEOF_LONG_DOUBLE !=0
#define H5Z_XFORM_TYPE_OP(RESL,RESR,TYPE,OP,SIZE) \
{ \
@@ -211,9 +182,9 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
else if((TYPE) == H5T_NATIVE_ULONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_LLONG) \
- H5Z_XFORM_LL_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_ULLONG) \
- H5Z_XFORM_ULL_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_FLOAT) \
H5Z_XFORM_DO_OP1((RESL), (RESR), float, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_DOUBLE) \
@@ -243,9 +214,9 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
else if((TYPE) == H5T_NATIVE_ULONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_LLONG) \
- H5Z_XFORM_LL_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_ULLONG) \
- H5Z_XFORM_ULL_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_FLOAT) \
H5Z_XFORM_DO_OP1((RESL), (RESR), float, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_DOUBLE) \
diff --git a/src/H5api_adpt.h b/src/H5api_adpt.h
index 845a9a0..7602310 100644
--- a/src/H5api_adpt.h
+++ b/src/H5api_adpt.h
@@ -21,59 +21,16 @@
#ifndef H5API_ADPT_H
#define H5API_ADPT_H
+#ifdef __cplusplus
+#define __attribute__(X) /*void*/
+#endif /* __cplusplus */
+#ifndef H5_HAVE_ATTRIBUTE
+#define __attribute__(X) /*void*/
+#endif /* H5_HAVE_ATTRIBUTE */
+
/* This will only be defined if HDF5 was built with CMake */
#ifdef H5_BUILT_AS_DYNAMIC_LIB
-#if defined (hdf5_EXPORTS)
- #define _HDF5DLL_
-#else
- #define _HDF5USEDLL_
-#endif
-
-#if defined (hdf5_test_EXPORTS)
- #define _HDF5TESTDLL_
-#else
- #define _HDF5TESTUSEDLL_
-#endif
-
-#if defined (hdf5_tools_EXPORTS)
- #define _HDF5TOOLSDLL_
-#else
- #define _HDF5TOOLSUSEDLL_
-#endif
-
-#if defined (hdf5_cpp_EXPORTS)
- #define HDF5_CPPDLL_EXPORTS
-#else
- #define HDF5CPP_USEDLL
-#endif
-
-#if defined (hdf5_hl_EXPORTS)
- #define _HDF5_HLDLL_EXPORTS_
-#else
- #define _HDF5USEHLDLL_
-#endif
-
-#if defined (hdf5_hl_cpp_EXPORTS)
- #define HDF5_HL_CPPDLL_EXPORTS
-#else
- #define HDF5USE_HLCPPDLL
-#endif
-
-#if defined (hdf5_f90cstub_EXPORTS)
- #define HDF5FORT_CSTUB_DLL_EXPORTS
-#else
- #define HDF5FORT_CSTUB_USEDLL
-#endif
-
-#if defined (hdf5_test_f90cstub_EXPORTS)
- #define HDF5FORTTEST_CSTUB_DLL_EXPORTS
-#endif
-
-#if defined (hdf5_hl_f90cstub_EXPORTS)
- #define HDF5_HL_F90CSTUBDLL_EXPORTS
-#endif
-
#if defined(hdf5_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_DLL __declspec(dllexport)
@@ -281,144 +238,25 @@
#define HDF5_HL_F90CSTUBDLLVAR extern
#endif /* HDF5_HL_F90CSTUBDLL */
-#elif defined(H5_BUILT_AS_STATIC_LIB)
+#else
#define H5_DLL
- #define H5_HLDLL
- #define H5_HLCPPDLL
- #define HDF5_HL_F90CSTUBDLL
#define H5_DLLVAR extern
- #define H5_DLLCPP
#define H5TEST_DLL
#define H5TEST_DLLVAR extern
#define H5TOOLS_DLL
#define H5TOOLS_DLLVAR extern
+ #define H5_DLLCPP
+ #define H5_DLLCPPVAR extern
+ #define H5_HLDLL
+ #define H5_HLDLLVAR extern
+ #define H5_HLCPPDLL
+ #define H5_HLCPPDLLVAR extern
#define H5_FCDLL
#define H5_FCDLLVAR extern
#define H5_FCTESTDLL
#define H5_FCTESTDLLVAR extern
-
-#else
-/* This is the original HDFGroup defined preprocessor code which should still work
- * with the VS projects that are maintained by "The HDF Group"
- * The Visual Studio project files will not be supported in the next major release of 1.10.
- */
-
-#if defined(H5_HAVE_WIN32_API)
-
-#if defined(_HDF5DLL_)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5_DLL __declspec(dllexport)
-#define H5_DLLVAR extern __declspec(dllexport)
-#elif defined(_HDF5USEDLL_)
-#define H5_DLL __declspec(dllimport)
-#define H5_DLLVAR __declspec(dllimport)
-#else
-#define H5_DLL
-#define H5_DLLVAR extern
-#endif /* _HDF5DLL_ */
-
-#if defined(_HDF5TESTDLL_)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5TEST_DLL __declspec(dllexport)
-#define H5TEST_DLLVAR extern __declspec(dllexport)
-#elif defined(_HDF5TESTUSEDLL_)
-#define H5TEST_DLL __declspec(dllimport)
-#define H5TEST_DLLVAR __declspec(dllimport)
-#else
-#define H5TEST_DLL
-#define H5TEST_DLLVAR extern
-#endif /* _HDF5TESTDLL_ */
-
-#if defined(_HDF5TOOLSDLL_)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5TOOLS_DLL __declspec(dllexport)
-#define H5TOOLS_DLLVAR extern __declspec(dllexport)
-#elif defined(_HDF5TOOLSUSEDLL_)
-#define H5TOOLS_DLL __declspec(dllimport)
-#define H5TOOLS_DLLVAR __declspec(dllimport)
-#else
-#define H5TOOLS_DLL
-#define H5TOOLS_DLLVAR extern
-#endif /* _HDF5TOOLSDLL_ */
-
-#if defined(_HDF5_HLDLL_EXPORTS_)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5_HLDLL __declspec(dllexport)
-#elif defined(_HDF5USEHLDLL_)
-#define H5_HLDLL __declspec(dllimport)
-#else
-#define H5_HLDLL
-#endif /* _HDF5_HLDLL_EXPORTS */
-
-#if defined(HDF5_HL_CPPDLL_EXPORTS)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5_HLCPPDLL __declspec(dllexport)
-#elif defined(HDF5USE_HLCPPDLL)
-#define H5_HLCPPDLL __declspec(dllimport)
-#else
-#define H5_HLCPPDLL
-#endif /*HDF5_HL_CPPDLL_EXPORTS*/
-
-#if defined(HDF5_HL_F90CSTUBDLL_EXPORTS)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define HDF5_HL_F90CSTUBDLL __declspec(dllexport)
-#elif defined(HDF5USE_HLF90CSTUBDLL)
-#define HDF5_HL_F90CSTUBDLL __declspec(dllimport)
-#else
-#define HDF5_HL_F90CSTUBDLL
-#endif /*HDF5_HL_F90CSTUBDLL_EXPORTS*/
-
-
-#if defined(HDF5FORT_CSTUB_DLL_EXPORTS)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5_FCDLL __declspec(dllexport)
-#define H5_FCDLLVAR extern __declspec(dllexport)
-#elif defined(HDF5FORT_CSTUB_USEDLL)
-#define H5_FCDLL __declspec(dllimport)
-#define H5_FCDLLVAR __declspec(dllimport)
-#else
-#define H5_FCDLL
-#define H5_FCDLLVAR extern
-#endif /* _HDF5_FORTRANDLL_EXPORTS_ */
-
-#if defined(HDF5FORTTEST_CSTUB_DLL_EXPORTS)
-#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
-#define H5_FCTESTDLL __declspec(dllexport)
-#define H5_FCTESTDLLVAR extern __declspec(dllexport)
-#elif defined(HDF5FORTTEST_CSTUB_USEDLL)
-#define H5_FCTESTDLL __declspec(dllimport)
-#define H5_FCTESTDLLVAR __declspec(dllimport)
-#else
-#define H5_FCTESTDLL
-#define H5_FCTESTDLLVAR extern
-#endif /* _HDF5_FORTRANDLL_EXPORTS_ */
-
-/* Added to export or to import C++ APIs - BMR (02-15-2002) */
-#if defined(HDF5_CPPDLL_EXPORTS) /* this name is generated at creation */
-#define H5_DLLCPP __declspec(dllexport)
-#elif defined(HDF5CPP_USEDLL)
-#define H5_DLLCPP __declspec(dllimport)
-#else
-#define H5_DLLCPP
-#endif /* HDF5_CPPDLL_EXPORTS */
-
-#else /*H5_HAVE_WIN32_API*/
-#define H5_DLL
-#define H5_HLDLL
-#define H5_HLCPPDLL
-#define HDF5_HL_F90CSTUBDLL
-#define H5_DLLVAR extern
-#define H5_DLLCPP
-#define H5TEST_DLL
-#define H5TEST_DLLVAR extern
-#define H5TOOLS_DLL
-#define H5TOOLS_DLLVAR extern
-#define H5_FCDLL
-#define H5_FCDLLVAR extern
-#define H5_FCTESTDLL
-#define H5_FCTESTDLLVAR extern
-#endif /*H5_HAVE_WIN32_API*/
+ #define HDF5_HL_F90CSTUBDLL
+ #define HDF5_HL_F90CSTUBDLLVAR extern
+#endif /* H5_BUILT_AS_DYNAMIC_LIB */
#endif /* H5API_ADPT_H */
-
-#endif /* */
diff --git a/src/H5config.h.in b/src/H5config.h.in
index a2fa0ad..c089cd3 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -3,17 +3,10 @@
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
-/* Define if your system generates wrong code for log2 routine. */
-#undef BAD_LOG2_CODE_GENERATED
-
/* Define if the memory buffers being written to disk should be cleared before
writing. */
#undef CLEAR_MEMORY
-/* Define if your system can handle converting denormalized floating-point
- values. */
-#undef CONVERT_DENORMAL_FLOAT
-
/* Define if C++ compiler recognizes offsetof */
#undef CXX_HAVE_OFFSETOF
@@ -37,18 +30,6 @@
/* As FC_FUNC, but for C identifiers containing underscores. */
#undef FC_FUNC_
-/* Define if your system can handle overflow converting floating-point to
- integer values. */
-#undef FP_TO_INTEGER_OVERFLOW_WORKS
-
-/* Define if your system roundup accurately converting floating-point to
- unsigned long long values. */
-#undef FP_TO_ULLONG_ACCURATE
-
-/* Define if your system has right maximum convert floating-point to unsigned
- long long values. */
-#undef FP_TO_ULLONG_RIGHT_MAXIMUM
-
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
@@ -375,42 +356,13 @@
/* Define to 1 if you have the `_scrsize' function. */
#undef HAVE__SCRSIZE
-/* Define if your system can't handle converting floating-point values to long
- long. */
-#undef HW_FP_TO_LLONG_NOT_WORKS
-
/* Define if HDF5's high-level library headers should be included in hdf5.h */
#undef INCLUDE_HL
-/* Define if your system can accurately convert from integers to long double
- values. */
-#undef INTEGER_TO_LDOUBLE_ACCURATE
-
-/* Define if your system can convert long double to integers accurately. */
-#undef LDOUBLE_TO_INTEGER_ACCURATE
-
-/* Define if your system can convert from long double to integer values. */
-#undef LDOUBLE_TO_INTEGER_WORKS
-
-/* Define if your system can convert long double to (unsigned) long long
- values correctly. */
-#undef LDOUBLE_TO_LLONG_ACCURATE
-
/* Define if your system converts long double to (unsigned) long values with
special algorithm. */
#undef LDOUBLE_TO_LONG_SPECIAL
-/* Define if your system can convert long double to unsigned int values
- correctly. */
-#undef LDOUBLE_TO_UINT_ACCURATE
-
-/* Define if your system can compile long long to floating-point casts. */
-#undef LLONG_TO_FP_CAST_WORKS
-
-/* Define if your system can convert (unsigned) long long to long double
- values correctly. */
-#undef LLONG_TO_LDOUBLE_CORRECT
-
/* Define if your system can convert (unsigned) long to long double values
with special algorithm. */
#undef LONG_TO_LDOUBLE_SPECIAL
@@ -582,22 +534,6 @@
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
-/* Define if your system can compile unsigned long long to floating-point
- casts. */
-#undef ULLONG_TO_FP_CAST_WORKS
-
-/* Define if your system can convert unsigned long long to long double with
- correct precision. */
-#undef ULLONG_TO_LDOUBLE_PRECISION
-
-/* Define if your system accurately converting unsigned long to float values.
- */
-#undef ULONG_TO_FLOAT_ACCURATE
-
-/* Define if your system can accurately convert unsigned (long) long values to
- floating-point values. */
-#undef ULONG_TO_FP_BOTTOM_BIT_ACCURATE
-
/* Define using v1.6 public API symbols by default */
#undef USE_16_API_DEFAULT
@@ -609,13 +545,6 @@
/* Version number of package */
#undef VERSION
-/* Define if vsnprintf() returns the correct value for formatted strings that
- don't fit into size allowed */
-#undef VSNPRINTF_WORKS
-
-/* Data accuracy is prefered to speed during data conversions */
-#undef WANT_DATA_ACCURACY
-
/* Check exception handling functions during data conversions */
#undef WANT_DCONV_EXCEPTION
diff --git a/src/H5private.h b/src/H5private.h
index 3ac8633..f4dbe53 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -275,12 +275,10 @@
#endif
/*
- * Does the compiler support the __attribute__(()) syntax? This is how gcc
- * suppresses warnings about unused function arguments. It's no big deal if
- * we don't.
+ * Does the compiler support the __attribute__(()) syntax? It's no
+ * big deal if we don't.
*/
#ifdef __cplusplus
-# define __attribute__(X) /*void*/
# define UNUSED /*void*/
# define NORETURN /*void*/
#else /* __cplusplus */
@@ -288,7 +286,6 @@
# define UNUSED __attribute__((unused))
# define NORETURN __attribute__((noreturn))
#else
-# define __attribute__(X) /*void*/
# define UNUSED /*void*/
# define NORETURN /*void*/
#endif
diff --git a/src/H5public.h b/src/H5public.h
index 62b5d2b..f4df047 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -94,10 +94,10 @@ extern "C" {
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 9 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 216 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 217 /* For tweaks, bug-fixes, or development */
#define H5_VERS_SUBRELEASE "swmr0" /* For pre-releases like snap0 */
/* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.9.216-swmr0" /* Full version string */
+#define H5_VERS_INFO "HDF5 library version: 1.9.217-swmr0" /* Full version string */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
H5_VERS_RELEASE)
diff --git a/src/Makefile.in b/src/Makefile.in
index 11ec806..9862c48 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -472,7 +472,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -504,7 +503,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -528,11 +526,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -595,7 +591,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
@@ -731,7 +726,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 207
LT_VERS_AGE = 0
# Our main target, the HDF5 library
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 83f82bd..55b3c44 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -27,7 +27,7 @@ set (TEST_LIB_HEADERS
)
add_library (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
if (MSVC)
target_link_libraries (${HDF5_TEST_LIB_TARGET} "ws2_32.lib")
endif (MSVC)
@@ -68,7 +68,7 @@ if (BUILD_SHARED_LIBS)
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} " " " ")
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
@@ -99,7 +99,7 @@ if (BUILD_SHARED_LIBS)
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} " " " ")
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
@@ -154,14 +154,14 @@ set (testhdf5_SRCS
#-- Adding test for testhdf5
add_executable (testhdf5 ${testhdf5_SRCS})
TARGET_NAMING (testhdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (testhdf5 " " " ")
+TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (testhdf5 PROPERTIES FOLDER test)
MACRO (ADD_H5_EXE file)
add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
TARGET_NAMING (${file} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${file} " " " ")
+ TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (${file} PROPERTIES FOLDER test)
ENDMACRO (ADD_H5_EXE file)
@@ -237,21 +237,21 @@ endforeach (test ${H5_TESTS})
#-- Adding test for cache
add_executable (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache " " " ")
+TARGET_C_PROPERTIES (cache ${LIB_TYPE} " " " ")
target_link_libraries (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache PROPERTIES FOLDER test)
#-- Adding test for cache_api
add_executable (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache_api ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_api " " " ")
+TARGET_C_PROPERTIES (cache_api ${LIB_TYPE} " " " ")
target_link_libraries (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_api PROPERTIES FOLDER test)
#-- Adding test for cache_tagging
add_executable (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache_tagging ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_tagging " " " ")
+TARGET_C_PROPERTIES (cache_tagging ${LIB_TYPE} " " " ")
target_link_libraries (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_tagging PROPERTIES FOLDER test)
@@ -264,7 +264,7 @@ add_executable (ttsafe
${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
)
TARGET_NAMING (ttsafe ${LIB_TYPE})
-TARGET_C_PROPERTIES (ttsafe " " " ")
+TARGET_C_PROPERTIES (ttsafe ${LIB_TYPE} " " " ")
target_link_libraries (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (ttsafe PROPERTIES FOLDER test)
@@ -272,7 +272,7 @@ set_target_properties (ttsafe PROPERTIES FOLDER test)
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
add_executable (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
TARGET_NAMING (err_compat ${LIB_TYPE})
- TARGET_C_PROPERTIES (err_compat " " " ")
+ TARGET_C_PROPERTIES (err_compat ${LIB_TYPE} " " " ")
target_link_libraries (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (err_compat PROPERTIES FOLDER test)
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
@@ -280,14 +280,14 @@ endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
#-- Adding test for error_test
add_executable (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
TARGET_NAMING (error_test ${LIB_TYPE})
-TARGET_C_PROPERTIES (error_test " " " ")
+TARGET_C_PROPERTIES (error_test ${LIB_TYPE} " " " ")
target_link_libraries (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (error_test PROPERTIES FOLDER test)
#-- Adding test for links_env
add_executable (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
TARGET_NAMING (links_env ${LIB_TYPE})
-TARGET_C_PROPERTIES (links_env " " " ")
+TARGET_C_PROPERTIES (links_env ${LIB_TYPE} " " " ")
target_link_libraries (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (links_env PROPERTIES FOLDER test)
@@ -308,8 +308,8 @@ endif (\${TEST_RESULT} STREQUAL \"0\")
##############################################################################
if (BUILD_SHARED_LIBS)
add_executable (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
- TARGET_NAMING (plugin ${LIB_TYPE})
- TARGET_C_PROPERTIES (plugin " " " ")
+ TARGET_NAMING (plugin SHARED)
+ TARGET_C_PROPERTIES (plugin SHARED " " " ")
target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
set_target_properties (plugin PROPERTIES FOLDER test)
endif (BUILD_SHARED_LIBS)
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index f609b7a..92e4574 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -727,8 +727,8 @@ endif (HDF5_TEST_VFD)
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
MACRO (ADD_H5_GENERATOR genfile)
add_executable (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
- TARGET_NAMING (${genfile} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${genfile} " " " ")
+ TARGET_NAMING (${genfile} STATIC)
+ TARGET_C_PROPERTIES (${genfile} STATIC " " " ")
target_link_libraries (${genfile} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (${genfile} PROPERTIES FOLDER generator/test)
ENDMACRO (ADD_H5_GENERATOR genfile)
diff --git a/test/Makefile.in b/test/Makefile.in
index dedc262..05cf231 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -900,7 +900,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -932,7 +931,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -956,11 +954,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -1023,7 +1019,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/test/dsets.c b/test/dsets.c
index 7f32e1d..1849d98 100644
--- a/test/dsets.c
+++ b/test/dsets.c
@@ -25,24 +25,16 @@
#include "h5test.h"
#include "H5srcdir.h"
-#include "H5Dpublic.h"
#include "H5VMprivate.h"
-#ifdef H5_HAVE_SZLIB_H
-# include "szlib.h"
-#endif
-
-/*
- * This file needs to access private datatypes from the H5D package.
- */
-#define H5D_PACKAGE
-#define H5D_TESTING
-#include "H5Dpkg.h"
/*
* This file needs to access private datatypes from the H5Z package.
*/
#define H5Z_PACKAGE
#include "H5Zpkg.h"
+#ifdef H5_HAVE_SZLIB_H
+# include "szlib.h"
+#endif
const char *FILENAME[] = {
diff --git a/test/dt_arith.c b/test/dt_arith.c
index 1e183aa..c5b72d4 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -3294,7 +3294,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
check_mant[1] = HDfrexpl(hw_ld, check_expo+1);
#endif
}
-#ifdef H5_CONVERT_DENORMAL_FLOAT
/* Special check for denormalized values */
if(check_expo[0]<(-(int)dst_ebias) || check_expo[1]<(-(int)dst_ebias)) {
int expo_diff=check_expo[0]-check_expo[1];
@@ -3317,58 +3316,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
continue;
} /* end else */
-#else /* H5_CONVERT_DENORMAL_FLOAT */
- {
- hssize_t expo; /*exponent */
- uint8_t tmp[32];
-
- assert(src_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&saved[j*src_size],src_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<src_size; k++)
- tmp[k]=saved[j*src_size+(src_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = saved[j*src_size+(src_size-2)-k];
- tmp[k+1] = saved[j*src_size+(src_size-1)-k];
-
- tmp[(src_size-2)-k] = saved[j*src_size+k];
- tmp[(src_size-1)-k] = saved[j*src_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, src_epos, src_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- assert(dst_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&buf[j*dst_size],dst_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<dst_size; k++)
- tmp[k]=buf[j*dst_size+(dst_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = buf[j*dst_size+(dst_size-2)-k];
- tmp[k+1] = buf[j*dst_size+(dst_size-1)-k];
-
- tmp[(dst_size-2)-k] = buf[j*dst_size+k];
- tmp[(dst_size-1)-k] = buf[j*dst_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, dst_epos, dst_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- if (check_expo[0]==check_expo[1] &&
- HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
- continue;
- } /* end else */
- } /* end else */
- }
-#endif /* H5_CONVERT_DENORMAL_FLOAT */
}
if (0==fails_this_test++) {
@@ -3877,12 +3824,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_float = (float)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_float = (float)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -3930,12 +3875,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_double = (double)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_double = (double)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -3984,12 +3927,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_ldouble = (long double)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_ldouble = (long double)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -4451,67 +4392,6 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
}
}
}
-/* On some machines (notably the SGI and Solaris 64-bit machines) unsigned long
-* values are not converted to float or double values correctly, they are
-* consistently off by the lowest bit being rounded oppositely to our
-* software conversion routines output. So, on those machines, we allow
-* the converted value to be +/- 1 from the machine's value. -QAK
-*/
-#ifndef H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS
- if(dst_size==sizeof(unsigned)) {
- unsigned tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
- else if (dst_size==sizeof(unsigned long)) {
- unsigned long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
- else if (dst_size==sizeof(unsigned long long)) {
- unsigned long long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long long));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
-#endif /* end H5_ULONG_FP_BOTTOM_BIT_WORKS */
-
-/* For PGI compiler on Linux, during conversion from 'float' or 'double' to
-* 'unsigned long long', round-up happens when the fraction of float-point
-* value is greater than 0.5. So we allow the converted value to be off by 1.
-*/
-#ifndef H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS
- if((src_type==FLT_FLOAT || src_type==FLT_DOUBLE) && dst_type==INT_ULLONG) {
- unsigned long long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long long));
- if((tmp_s+1)==tmp_h)
- continue; /*no error*/
- }
-#endif /*end H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS*/
-
-/* For GNU compilers on FreeBSD(sleipnir), during conversion from 'unsigned long long'
-* to 'long double', the last 2 bytes of mantissa are lost. But this loss seems
-* acceptable. We allow it to go through instead of fail it. Sometimes, there's roundup
-* to the 3rd last byte of mantissa. So we only try to compare all but the last 3 bytes.
-*/
-#ifndef H5_ULLONG_TO_LDOUBLE_PRECISION
-#if H5_SIZEOF_LONG_DOUBLE !=0
- if(src_type==INT_ULLONG && dst_type==FLT_LDOUBLE) {
- long double tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(long double));
- HDmemcpy(&tmp_h,&hw[0],sizeof(long double));
- /*Don't compare the last 3 bytes of mantissa*/
- if(!HDmemcmp(&tmp_s+4, &tmp_h+4, sizeof(long double)-4))
- continue; /*no error*/
- }
-#endif
-#endif /*end H5_ULLONG_TO_LDOUBLE_PRECISION*/
/* Print errors */
if (0==fails_this_test++) {
@@ -5112,9 +4992,7 @@ run_int_fp_conv(const char *name)
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LONG, H5T_NATIVE_DOUBLE);
-#if H5_ULONG_TO_FLOAT_ACCURATE
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULONG, H5T_NATIVE_FLOAT);
-#endif
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULONG, H5T_NATIVE_DOUBLE);
#endif
@@ -5122,29 +5000,10 @@ run_int_fp_conv(const char *name)
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_DOUBLE);
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_DOUBLE);
-#else /* H5_ULLONG_TO_FP_CAST_WORKS */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "float");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
- }
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
#endif
-#if H5_INTEGER_TO_LDOUBLE_ACCURATE
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_SCHAR, H5T_NATIVE_LDOUBLE);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_UCHAR, H5T_NATIVE_LDOUBLE);
@@ -5173,50 +5032,10 @@ run_int_fp_conv(const char *name)
#endif
#endif /* H5_SIZEOF_LONG!=H5_SIZEOF_INT */
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG
-#if H5_LLONG_TO_LDOUBLE_CORRECT
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_LDOUBLE);
-#else /* H5_LLONG_TO_LDOUBLE_CORRECT */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long long", "long double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler error in handling conversion.");
- }
-#endif /* H5_LLONG_TO_LDOUBLE_CORRECT */
-#if H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_LDOUBLE);
-#else /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "long double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
- }
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */
#endif
#endif
-#else /*H5_INTEGER_TO_LDOUBLE_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "all integers", "long double");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE !=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
-
- }
-#endif /*H5_INTEGER_TO_LDOUBLE_ACCURATE*/
return nerrors;
}
@@ -5240,7 +5059,6 @@ static int
run_fp_int_conv(const char *name)
{
int nerrors = 0;
-#ifdef H5_FP_TO_INTEGER_OVERFLOW_WORKS
int test_values;
#ifdef H5_VMS
@@ -5277,62 +5095,23 @@ run_fp_int_conv(const char *name)
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG
if(!strcmp(name, "hw")) { /* Hardware conversion */
- /* Windows .NET 2003 doesn't work for hardware conversion of this case.
- * .NET should define this macro H5_HW_FP_TO_LLONG_NOT_WORKS. */
-#ifndef H5_HW_FP_TO_LLONG_NOT_WORKS
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_LLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_LLONG);
-#endif /*H5_HW_FP_TO_LLONG_NOT_WORKS*/
} else { /* Software conversion */
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_LLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_LLONG);
}
-#ifdef H5_FP_TO_ULLONG_RIGHT_MAXIMUM
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_ULLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_ULLONG);
-#else /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "float", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to hardware conversion error.");
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "double", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to hardware conversion error.");
- }
-#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
#endif
-#if H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_SCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_UCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_SHORT);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_USHORT);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_INT);
-#if H5_LDOUBLE_TO_UINT_ACCURATE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_UINT);
-#else /*H5_LDOUBLE_TO_UINT_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "unsigned int");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_UINT_ACCURATE*/
#if H5_SIZEOF_LONG!=H5_SIZEOF_INT && H5_SIZEOF_LONG_DOUBLE!=0
#ifndef H5_LDOUBLE_TO_LONG_SPECIAL
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_LONG);
@@ -5355,77 +5134,13 @@ run_fp_int_conv(const char *name)
#endif /*H5_SIZEOF_LONG!=H5_SIZEOF_INT && H5_SIZEOF_LONG_DOUBLE!=0 */
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG && H5_SIZEOF_LONG_DOUBLE!=0
-#ifdef H5_LDOUBLE_TO_LLONG_ACCURATE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_LLONG);
-#else /*H5_LDOUBLE_TO_LLONG_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "long long");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_LLONG_ACCURATE*/
-#if defined(H5_FP_TO_ULLONG_RIGHT_MAXIMUM) && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_ULLONG);
-#else /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE*/
#endif
#endif
-#else /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "all integers");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
#ifndef H5_VMS
} /* end for */
#endif /* H5_VMS */
-#else /* H5_FP_TO_INTEGER_OVERFLOW_WORKS */
-/* For Cray X1, the compiler generates floating exception when the
- * conversion overflows. So disable all of the conversions from
- * floating-point numbers to integers.
- */
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "all floating-point numbers", "all integers");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disbaled long double.");
-#endif
-#endif /* H5_FP_TO_INTEGER_OVERFLOW_WORKS */
return nerrors;
}
diff --git a/test/dtransform.c b/test/dtransform.c
index d80c21a..4adbaf5 100644
--- a/test/dtransform.c
+++ b/test/dtransform.c
@@ -297,20 +297,8 @@ int main(void)
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("contiguous, with type conversion (float->llong)")
- SKIPPED()
-#endif
-
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
-#else
- TESTING("contiguous, with type conversion (float->ullong)")
- SKIPPED()
-#endif
TEST_TYPE_CONTIG(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);
#if H5_SIZEOF_LONG_DOUBLE!=0
@@ -326,19 +314,8 @@ int main(void)
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("chunked, with type conversion (float->llong)")
- SKIPPED()
-#endif
-
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
-#else
- TESTING("chunked, with type conversion (float->ullong)")
- SKIPPED()
-#endif
TEST_TYPE_CHUNK(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);
#if H5_SIZEOF_LONG_DOUBLE!=0
diff --git a/test/flush2.c b/test/flush2.c
index 8108bba..28ce41e 100644
--- a/test/flush2.c
+++ b/test/flush2.c
@@ -186,7 +186,7 @@ main(void)
PASSED()
else
{
-#if defined H5_HAVE_WIN32_API && defined _HDF5USEDLL_
+#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
#elif defined H5_VMS
@@ -209,7 +209,7 @@ main(void)
PASSED()
else
{
-#if defined H5_HAVE_WIN32_API && defined _HDF5USEDLL_
+#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
#elif defined H5_VMS
diff --git a/test/gen_filespace.c b/test/gen_filespace.c
index 7ee2a7a..e0c42e8 100644
--- a/test/gen_filespace.c
+++ b/test/gen_filespace.c
@@ -42,7 +42,8 @@ static void gen_file(void)
hid_t dataset, space;
hsize_t dim[1];
int data[NUM_ELMTS];
- unsigned i, j; /* Local index variable */
+ size_t j; /* Local index variable */
+ int i; /* Local index variable */
H5F_file_space_type_t fs_type; /* File space handling strategy */
for(j = 0, fs_type = H5F_FILE_SPACE_ALL_PERSIST; j < NELMTS(FILENAMES); j++, fs_type = (H5F_file_space_type_t)(fs_type + 1)) {
diff --git a/test/gen_plist.c b/test/gen_plist.c
index acc5f3e..e77af73 100644
--- a/test/gen_plist.c
+++ b/test/gen_plist.c
@@ -280,8 +280,8 @@ main(void)
assert(ret > 0);
/* Create FAPL for the elink FAPL */
- if((fapl1 = ret = H5Pcreate(ret = H5P_FILE_ACCESS)) < 0)
- assert(ret > 0);
+ if((fapl1 = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ assert(fapl1 > 0);
if((ret = H5Pset_alignment(fapl1, 2, 1024)) < 0)
assert(ret > 0);
diff --git a/test/getname.c b/test/getname.c
index 2d999b9..dc1ddbe 100644
--- a/test/getname.c
+++ b/test/getname.c
@@ -103,7 +103,11 @@ test_main(hid_t file_id, hid_t fapl)
hid_t space_id;
hid_t type_id, type2_id;
hsize_t dims[1] = { 5 };
- size_t name_len; /* Name length */
+ size_t name_len; /* Name length */
+ H5O_info_t oinfo; /* Object info structs */
+ hid_t dtype; /* Object identifier for testing */
+ hid_t dtype_anon; /* Object identifier for testing anonymous */
+ ssize_t size; /* Size returned by H5Iget_name */
/* Initialize the file names */
h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1);
@@ -2355,7 +2359,58 @@ test_main(hid_t file_id, hid_t fapl)
H5Gclose(group_id);
H5Gclose(group2_id);
H5Fclose(file1_id);
- H5Fclose(file2_id);
+
+ PASSED();
+
+ /*-------------------------------------------------------------------------
+ * Test H5Iget_name with anonymous datatypes
+ *-------------------------------------------------------------------------
+ */
+
+ TESTING("H5Iget_name with anonymous datatypes");
+
+ /* Commit the type anonymously and link it in */
+ if((dtype = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ /* Test H5Iget_name with created datatype, should fail because not committed */
+ H5E_BEGIN_TRY {
+ if((size = H5Iget_name(dtype, NULL, 0)) >= 0) TEST_ERROR
+ } H5E_END_TRY;
+
+ if(H5Tcommit_anon(file2_id, dtype, H5P_DEFAULT, H5P_DEFAULT)) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype, NULL, 0)) != 0) TEST_ERROR
+
+ /* Create a link to the object */
+ if( H5Olink(dtype, file2_id, "datatype", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Commit a second datatype with no links to it and commit it */
+ if((dtype_anon = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ if(H5Tcommit_anon(file2_id, dtype_anon, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype_anon, NULL,0)) != 0) TEST_ERROR
+
+ /* Store the address of the datatype for later use */
+ if(H5Oget_info(dtype_anon, &oinfo) < 0) TEST_ERROR
+
+ /* Update the reference count to dtype_anon to preserve the datatype */
+ if(H5Oincr_refcount(dtype_anon) < 0) TEST_ERROR
+
+ if(H5Tclose(dtype) < 0) TEST_ERROR
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
+
+ /* Re-open the file and check that the anonymous datatypes persist */
+ if( (file2_id = H5Fopen(filename2, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
+
+ /* Check the H5Iget_name does not return an error for anon committed datatypes */
+ if((dtype_anon = H5Oopen_by_addr(file2_id, oinfo.addr)) < 0) TEST_ERROR
+
+ if((size = H5Iget_name(dtype_anon,NULL,0)) != 0) TEST_ERROR
+
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
PASSED();
diff --git a/test/plugin.c b/test/plugin.c
index 02007d5..74a8f4b 100644
--- a/test/plugin.c
+++ b/test/plugin.c
@@ -536,16 +536,17 @@ error:
*-------------------------------------------------------------------------
*/
static herr_t
-test_noread_data(hid_t dataset, int *origin_data)
+test_noread_data(hid_t dataset)
{
- int check[DSET_DIM1][DSET_DIM2];
- const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
- int *data_p = origin_data;
- size_t i, j; /* Local index variables */
+ int check[DSET_DIM1][DSET_DIM2];
+ herr_t ret;
/* Read the dataset back */
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check) >= 0)
- TEST_ERROR;
+ H5E_BEGIN_TRY {
+ ret = H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check);
+ } H5E_END_TRY
+ if(ret >= 0)
+ TEST_ERROR
PASSED();
return 0;
@@ -578,7 +579,7 @@ test_noread_with_filters(hid_t file)
if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
- if(test_noread_data(dset, (int *)points_dynlib1) < 0) TEST_ERROR
+ if(test_noread_data(dset) < 0) TEST_ERROR
if(H5Dclose(dset) < 0) TEST_ERROR
diff --git a/test/th5s.c b/test/th5s.c
index 9d51ec8..7c1c46e 100644
--- a/test/th5s.c
+++ b/test/th5s.c
@@ -2224,6 +2224,8 @@ test_h5s_extent_copy(void)
hsize_t d3_dims1[3] = {10, 10, 10}, /* 3-D dimensions */
d3_dims2[3] = {20, 20, 20},
d3_dims3[3] = {H5S_UNLIMITED, H5S_UNLIMITED, H5S_UNLIMITED};
+ hsize_t npoints[14]; /* Expected number of points in selection for each element in spaces */
+ hssize_t npoints_ret; /* Number of points returned by H5Sget_select_npoints() */
htri_t ext_equal; /* Whether two dataspace extents are equal */
const unsigned num_spaces = sizeof(spaces) / sizeof(spaces[0]);
unsigned i, j;
@@ -2232,36 +2234,50 @@ test_h5s_extent_copy(void)
/* Create dataspaces */
spaces[0] = H5Screate(H5S_NULL);
CHECK(spaces[0], FAIL, "H5Screate");
+ npoints[0] = (hsize_t)0;
spaces[1] = H5Screate(H5S_SCALAR);
CHECK(spaces[1], FAIL, "H5Screate");
+ npoints[1] = (hsize_t)1;
spaces[2] = H5Screate_simple(1, d1_dims1, NULL);
CHECK(spaces[2], FAIL, "H5Screate");
+ npoints[2] = d1_dims1[0];
spaces[3] = H5Screate_simple(1, d1_dims2, NULL);
CHECK(spaces[3], FAIL, "H5Screate");
+ npoints[3] = d1_dims2[0];
spaces[4] = H5Screate_simple(1, d1_dims1, d1_dims2);
CHECK(spaces[4], FAIL, "H5Screate");
+ npoints[4] = d1_dims1[0];
spaces[5] = H5Screate_simple(1, d1_dims1, d1_dims3);
CHECK(spaces[5], FAIL, "H5Screate");
+ npoints[5] = d1_dims1[0];
spaces[6] = H5Screate_simple(2, d2_dims1, NULL);
CHECK(spaces[6], FAIL, "H5Screate");
+ npoints[6] = d2_dims1[0] * d2_dims1[1];
spaces[7] = H5Screate_simple(2, d2_dims2, NULL);
CHECK(spaces[7], FAIL, "H5Screate");
+ npoints[7] = d2_dims2[0] * d2_dims2[1];
spaces[8] = H5Screate_simple(2, d2_dims1, d2_dims2);
CHECK(spaces[8], FAIL, "H5Screate");
+ npoints[8] = d2_dims1[0] * d2_dims1[1];
spaces[9] = H5Screate_simple(2, d2_dims1, d2_dims3);
CHECK(spaces[9], FAIL, "H5Screate");
+ npoints[9] = d2_dims1[0] * d2_dims1[1];
spaces[10] = H5Screate_simple(3, d3_dims1, NULL);
CHECK(spaces[10], FAIL, "H5Screate");
+ npoints[10] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
spaces[11] = H5Screate_simple(3, d3_dims2, NULL);
CHECK(spaces[11], FAIL, "H5Screate");
+ npoints[11] = d3_dims2[0] * d3_dims2[1] * d3_dims2[2];
spaces[12] = H5Screate_simple(3, d3_dims1, d3_dims2);
CHECK(spaces[12], FAIL, "H5Screate");
+ npoints[12] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
spaces[13] = H5Screate_simple(3, d3_dims1, d3_dims3);
CHECK(spaces[13], FAIL, "H5Screate");
+ npoints[13] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
tmp_space = H5Screate(H5S_NULL);
CHECK(tmp_space, FAIL, "H5Screate");
@@ -2275,14 +2291,26 @@ test_h5s_extent_copy(void)
* will test copying from i/j to i/j */
ret = H5Sextent_copy(tmp_space, spaces[j]);
CHECK(ret, FAIL, "H5Sextent_copy");
+
+ /* Verify that the extents are equal */
ext_equal = H5Sextent_equal(tmp_space, spaces[j]);
VERIFY(ext_equal, TRUE, "H5Sextent_equal");
+ /* Verify that the correct number of elements is selected */
+ npoints_ret = H5Sget_select_npoints(tmp_space);
+ VERIFY((hsize_t)npoints_ret, npoints[j], "H5Sget_select_npoints");
+
/* Copy from j to i */
ret = H5Sextent_copy(tmp_space, spaces[i]);
CHECK(ret, FAIL, "H5Sextent_copy");
+
+ /* Verify that the extents are equal */
ext_equal = H5Sextent_equal(tmp_space, spaces[i]);
VERIFY(ext_equal, TRUE, "H5Sextent_equal");
+
+ /* Verify that the correct number of elements is selected */
+ npoints_ret = H5Sget_select_npoints(tmp_space);
+ VERIFY((hsize_t)npoints_ret, npoints[i], "H5Sget_select_npoints");
} /* end for */
/* Close dataspaces */
diff --git a/test/tmisc.c b/test/tmisc.c
index 68a30eb..869557c 100644
--- a/test/tmisc.c
+++ b/test/tmisc.c
@@ -1847,9 +1847,21 @@ test_misc11(void)
ret = H5Pset_sizes(fcpl, (size_t)MISC11_SIZEOF_OFF, (size_t)MISC11_SIZEOF_LEN);
CHECK(ret, FAIL, "H5Pset_sizes");
+ /* This should fail as (32770*2) will exceed ^16 - 2 bytes for storing btree entries */
+ H5E_BEGIN_TRY {
+ ret=H5Pset_sym_k(fcpl, 32770, 0);
+ } H5E_END_TRY;
+ VERIFY(ret, FAIL, "H5Pset_sym_k");
+
ret=H5Pset_sym_k(fcpl,MISC11_SYM_IK,MISC11_SYM_LK);
CHECK(ret, FAIL, "H5Pset_sym_k");
+ /* This should fail as (32770*2) will exceed ^16 - 2 bytes for storing btree entries */
+ H5E_BEGIN_TRY {
+ ret=H5Pset_istore_k(fcpl, 32770);
+ } H5E_END_TRY;
+ VERIFY(ret, FAIL, "H5Pset_istore_k");
+
ret=H5Pset_istore_k(fcpl,MISC11_ISTORE_IK);
CHECK(ret, FAIL, "H5Pset_istore_k");
diff --git a/test/ttsafe_cancel.c b/test/ttsafe_cancel.c
index 56f431e..d8ed462 100644
--- a/test/ttsafe_cancel.c
+++ b/test/ttsafe_cancel.c
@@ -123,7 +123,7 @@ void tts_cancel(void)
void *tts_cancel_thread(void UNUSED *arg)
{
int datavalue;
- int *buffer;
+ int buffer;
hid_t dataspace, datatype, dataset;
hsize_t dimsf[1]; /* dataset dimensions */
cancel_cleanup_t *cleanup_structure;
@@ -156,10 +156,9 @@ void *tts_cancel_thread(void UNUSED *arg)
ret=H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &datavalue);
assert(ret>=0);
- buffer = HDmalloc(sizeof(int));
- ret=H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buffer);
+ ret=H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &buffer);
assert(ret>=0);
- ret=H5Diterate(buffer, H5T_NATIVE_INT, dataspace, tts_cancel_callback, &dataset);
+ ret=H5Diterate(&buffer, H5T_NATIVE_INT, dataspace, tts_cancel_callback, &dataset);
assert(ret>=0);
sleep(3);
diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt
index d1db0b7..70e0246 100644
--- a/testpar/CMakeLists.txt
+++ b/testpar/CMakeLists.txt
@@ -29,14 +29,14 @@ set (testphdf5_SRCS
#-- Adding test for testhdf5
add_executable (testphdf5 ${testphdf5_SRCS})
TARGET_NAMING (testphdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (testphdf5 " " " ")
+TARGET_C_PROPERTIES (testphdf5 ${LIB_TYPE} " " " ")
target_link_libraries (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_target_properties (testphdf5 PROPERTIES FOLDER test/par)
MACRO (ADD_H5P_EXE file)
add_executable (${file} ${HDF5_TEST_PAR_SOURCE_DIR}/${file}.c)
TARGET_NAMING (${file} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${file} " " " ")
+ TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_target_properties (${file} PROPERTIES FOLDER test/par)
ENDMACRO (ADD_H5P_EXE file)
diff --git a/testpar/Makefile.in b/testpar/Makefile.in
index 44c30fc..7787a65 100644
--- a/testpar/Makefile.in
+++ b/testpar/Makefile.in
@@ -435,7 +435,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -467,7 +466,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -491,11 +489,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -558,7 +554,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index aa0247c..974e6b4 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -406,7 +406,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -438,7 +437,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -462,11 +460,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -529,7 +525,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5copy/CMakeLists.txt b/tools/h5copy/CMakeLists.txt
index 8c27536..7291197 100644
--- a/tools/h5copy/CMakeLists.txt
+++ b/tools/h5copy/CMakeLists.txt
@@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# --------------------------------------------------------------------
add_executable (h5copy ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copy.c)
TARGET_NAMING (h5copy ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5copy " " " ")
+TARGET_C_PROPERTIES (h5copy ${LIB_TYPE} " " " ")
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5copy PROPERTIES FOLDER tools)
@@ -20,8 +20,8 @@ set (H5_DEP_EXECUTABLES h5copy)
if (BUILD_TESTING)
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5copygentest ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copygentest.c)
- TARGET_NAMING (h5copygentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5copygentest " " " ")
+ TARGET_NAMING (h5copygentest STATIC)
+ TARGET_C_PROPERTIES (h5copygentest STATIC " " " ")
target_link_libraries (h5copygentest ${HDF5_LIB_TARGET})
set_target_properties (h5copygentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in
index 3ba120c..e128cfe 100644
--- a/tools/h5copy/Makefile.in
+++ b/tools/h5copy/Makefile.in
@@ -414,7 +414,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -446,7 +445,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -470,11 +468,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -537,7 +533,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5diff/CMakeLists.txt b/tools/h5diff/CMakeLists.txt
index f539d20..39095a5 100644
--- a/tools/h5diff/CMakeLists.txt
+++ b/tools/h5diff/CMakeLists.txt
@@ -14,7 +14,7 @@ add_executable (h5diff
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_main.c
)
TARGET_NAMING (h5diff ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5diff " " " ")
+TARGET_C_PROPERTIES (h5diff ${LIB_TYPE} " " " ")
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5diff PROPERTIES FOLDER tools)
@@ -26,7 +26,7 @@ if (H5_HAVE_PARALLEL)
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/ph5diff_main.c
)
TARGET_NAMING (ph5diff ${LIB_TYPE})
- TARGET_C_PROPERTIES (ph5diff " " " ")
+ TARGET_C_PROPERTIES (ph5diff ${LIB_TYPE} " " " ")
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (ph5diff PROPERTIES FOLDER tools)
endif (H5_HAVE_PARALLEL)
@@ -37,8 +37,8 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5diffgentest ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diffgentest.c)
- TARGET_NAMING (h5diffgentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5diffgentest " " " ")
+ TARGET_NAMING (h5diffgentest STATIC)
+ TARGET_C_PROPERTIES (h5diffgentest STATIC " " " ")
target_link_libraries (h5diffgentest ${HDF5_LIB_TARGET})
set_target_properties (h5diffgentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in
index 50534f4..c95967d 100644
--- a/tools/h5diff/Makefile.in
+++ b/tools/h5diff/Makefile.in
@@ -421,7 +421,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -453,7 +452,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -477,11 +475,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -544,7 +540,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt
index 4559ae3..7658c04 100644
--- a/tools/h5dump/CMakeLists.txt
+++ b/tools/h5dump/CMakeLists.txt
@@ -15,7 +15,7 @@ add_executable (h5dump
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_xml.c
)
TARGET_NAMING (h5dump ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5dump " " " ")
+TARGET_C_PROPERTIES (h5dump ${LIB_TYPE} " " " ")
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5dump PROPERTIES FOLDER tools)
@@ -27,8 +27,8 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5dumpgentest ${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dumpgentest.c)
- TARGET_NAMING (h5dumpgentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5dumpgentest " " " ")
+ TARGET_NAMING (h5dumpgentest STATIC)
+ TARGET_C_PROPERTIES (h5dumpgentest STATIC " " " ")
target_link_libraries (h5dumpgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5dumpgentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake
index afb482e..00ec760 100644
--- a/tools/h5dump/CMakeTests.cmake
+++ b/tools/h5dump/CMakeTests.cmake
@@ -1340,30 +1340,14 @@
set (USE_FILTER_SZIP "true")
endif (H5_HAVE_FILTER_SZIP)
- if (H5_HAVE_FILTER_SHUFFLE)
- set (USE_FILTER_SHUFFLE "true")
- endif (H5_HAVE_FILTER_SHUFFLE)
-
- if (H5_HAVE_FILTER_FLETCHER32)
- set (USE_FILTER_FLETCHER32 "true")
- endif (H5_HAVE_FILTER_FLETCHER32)
-
- if (H5_HAVE_FILTER_NBIT)
- set (USE_FILTER_NBIT "true")
- endif (H5_HAVE_FILTER_NBIT)
-
- if (H5_HAVE_FILTER_SCALEOFFSET)
- set (USE_FILTER_SCALEOFFSET "true")
- endif (H5_HAVE_FILTER_SCALEOFFSET)
-
- if (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+ if (USE_FILTER_DEFLATE)
# data read internal filters
ADD_H5_TEST (treadintfilter 0 --enable-error-stack -d deflate -d shuffle -d fletcher32 -d nbit -d scaleoffset tfilters.h5)
if (HDF5_ENABLE_SZIP_SUPPORT)
# data read all filters
ADD_H5_TEST (treadfilter 0 --enable-error-stack -d all -d szip tfilters.h5)
endif (HDF5_ENABLE_SZIP_SUPPORT)
- endif (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+ endif (USE_FILTER_DEFLATE)
# test for displaying objects with very long names
ADD_H5_TEST (tlonglinks 0 --enable-error-stack tlonglinks.h5)
diff --git a/tools/h5dump/CMakeTestsXML.cmake b/tools/h5dump/CMakeTestsXML.cmake
index a939d78..0a667c4 100644
--- a/tools/h5dump/CMakeTestsXML.cmake
+++ b/tools/h5dump/CMakeTestsXML.cmake
@@ -411,14 +411,6 @@
ADD_XML_H5_TEST (tempty-dtd.h5 0 --use-dtd tempty.h5)
ADD_XML_H5_TEST (tempty-dtd-2.h5 0 -u tempty.h5)
- # The lone colon here confuses some systems (Cray X1). Skip
- # it if configure detects that this is a problem.
- set (TESTTYPE "TEST")
- if (NOT ${H5_LONE_COLON})
- set (TESTTYPE "SKIP")
- endif (NOT ${H5_LONE_COLON})
- ADD_XML_SKIP_H5_TEST (tempty-nons.h5 0 ${TESTTYPE} -X : tempty.h5)
-
ADD_XML_H5_TEST (tempty-nons-2.h5 0 --xml-ns=: tempty.h5)
## Some of these combinations are syntactically correct but
diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in
index aee2a6c..7371adf 100644
--- a/tools/h5dump/Makefile.in
+++ b/tools/h5dump/Makefile.in
@@ -420,7 +420,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -452,7 +451,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -476,11 +474,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -543,7 +539,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5dump/binread.c b/tools/h5dump/binread.c
index 5abb9af..74db92c 100644
--- a/tools/h5dump/binread.c
+++ b/tools/h5dump/binread.c
@@ -49,8 +49,7 @@
static void
usage (void)
{
- fprintf(stderr, "\
- usage: binread FILE_NAME\n");
+ fprintf(stderr, "usage: binread FILE_NAME\n");
}
/*-------------------------------------------------------------------------
@@ -64,38 +63,35 @@ usage (void)
int
main (int argc, const char *argv[])
{
- FILE *stream;
- int numread;
- TYPE buf[NELMTS];
- size_t i, nelmts = NELMTS;
- char *fname=NULL;
-
- if (argc != 2)
- {
- usage();
- exit(1);
- }
-
- fname = strdup(argv[1]);
-
- if( (stream = fopen(fname, "rb" )) != NULL )
- {
- numread = fread( buf, sizeof( TYPE ), nelmts, stream );
- printf( "Number of items read = %d\n", numread );
-
- for (i = 0; i < nelmts; i++)
- {
- printf(FORMAT,buf[i]);
- }
- printf("\n");
-
- fclose( stream );
- }
- else
- printf( "File %s could not be opened\n",fname );
-
- free(fname);
-
- return 0;
+ FILE *stream;
+ size_t numread;
+ TYPE buf[NELMTS];
+ size_t i, nelmts = NELMTS;
+ char *fname=NULL;
+
+ if (argc != 2) {
+ usage();
+ exit(1);
+ }
+
+ fname = strdup(argv[1]);
+
+ if((stream = fopen(fname, "rb")) != NULL) {
+ numread = fread(buf, sizeof( TYPE ), nelmts, stream);
+ printf("Number of items read = %llu\n", (unsigned long long)numread);
+
+ for (i = 0; i < nelmts; i++) {
+ printf(FORMAT,buf[i]);
+ }
+ printf("\n");
+
+ fclose(stream);
+ }
+ else
+ printf("File %s could not be opened\n", fname);
+
+ free(fname);
+
+ return 0;
}
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index 36f12a0..95f8091 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -436,8 +436,21 @@ TESTING() {
# the actual output file is calculated by replacing the `.ddl' with
# `.out'. The actual output is not removed if $HDF5_NOCLEANUP has a
# non-zero value.
+# If $1 == ignorecase then do caseless CMP and DIFF.
# ADD_H5_TEST
TOOLTEST() {
+ # check if caseless compare and diff requested
+ if [ "$1" = ignorecase ]; then
+ caseless="-i"
+ # replace cmp with diff which runs much longer.
+ xCMP="$DIFF -i"
+ shift
+ else
+ caseless=""
+ # stick with faster cmp if ignorecase is not requested.
+ xCMP="$CMP"
+ fi
+
expect="$TESTDIR/$1"
actual="$TESTDIR/`basename $1 .ddl`.out"
actual_err="$TESTDIR/`basename $1 .ddl`.err"
@@ -463,13 +476,13 @@ TOOLTEST() {
# Create the expect file if it doesn't yet exist.
echo " CREATED"
cp $actual $expect
- elif $CMP $expect $actual; then
+ elif $xCMP $expect $actual > /dev/null 2>&1 ; then
echo " PASSED"
else
echo "*FAILED*"
echo " Expected result (*.ddl) differs from actual result (*.out)"
nerrors="`expr $nerrors + 1`"
- test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /'
+ test yes = "$verbose" && $DIFF $caseless $expect $actual |sed 's/^/ /'
fi
# Clean up output file
diff --git a/tools/h5dump/testh5dumpxml.sh.in b/tools/h5dump/testh5dumpxml.sh.in
index 4dad9cd..1efde85 100644
--- a/tools/h5dump/testh5dumpxml.sh.in
+++ b/tools/h5dump/testh5dumpxml.sh.in
@@ -21,8 +21,6 @@ TESTNAME=h5dumpxml
EXIT_SUCCESS=0
EXIT_FAILURE=1
-H5_LONE_COLON="@H5_LONE_COLON@"
-
DUMPER=h5dump # The tool name
DUMPER_BIN=`pwd`/$DUMPER # The path of the tool binary
@@ -356,15 +354,7 @@ TOOLTEST tnamed_dtype_attr.h5.xml --xml tnamed_dtype_attr.h5
TOOLTEST tempty-dtd.h5.xml --xml --use-dtd tempty.h5
TOOLTEST tempty-dtd-2.h5.xml --xml -u tempty.h5
-
-# The lone colon here confuses some systems (Cray X1). Skip
-# it if configure detects that this is a problem.
-if test "X$H5_LONE_COLON" != "Xno"; then
- TOOLTEST tempty-nons.h5.xml --xml -X ":" tempty.h5
-else
- SKIP tempty-nons.h5.xml --xml -X ":" tempty.h5
-fi
-
+TOOLTEST tempty-nons.h5.xml --xml -X ":" tempty.h5
TOOLTEST tempty-nons-2.h5.xml --xml --xml-ns=":" tempty.h5
## Some of these combinations are syntactically correct but
diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt
index 2ba2b78..bf1515e 100644
--- a/tools/h5import/CMakeLists.txt
+++ b/tools/h5import/CMakeLists.txt
@@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# --------------------------------------------------------------------
add_executable (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c)
TARGET_NAMING (h5import ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5import " " " ")
+TARGET_C_PROPERTIES (h5import ${LIB_TYPE} " " " ")
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
#set_target_properties (h5import PROPERTIES COMPILE_DEFINITIONS H5DEBUGIMPORT)
set_target_properties (h5import PROPERTIES FOLDER tools)
@@ -24,7 +24,7 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
add_executable (h5importtest ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5importtest.c)
TARGET_NAMING (h5importtest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5importtest " " " ")
+ TARGET_C_PROPERTIES (h5importtest ${LIB_TYPE} " " " ")
target_link_libraries (h5importtest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5importtest PROPERTIES FOLDER tools)
diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in
index 01ec73b..0778fc2 100644
--- a/tools/h5import/Makefile.in
+++ b/tools/h5import/Makefile.in
@@ -414,7 +414,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -446,7 +445,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -470,11 +468,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -537,7 +533,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5jam/CMakeLists.txt b/tools/h5jam/CMakeLists.txt
index 412a2f0..4498132 100644
--- a/tools/h5jam/CMakeLists.txt
+++ b/tools/h5jam/CMakeLists.txt
@@ -11,25 +11,25 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# --------------------------------------------------------------------
add_executable (h5jam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jam.c)
TARGET_NAMING (h5jam ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5jam " " " ")
+TARGET_C_PROPERTIES (h5jam ${LIB_TYPE} " " " ")
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5jam PROPERTIES FOLDER tools)
add_executable (getub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/getub.c)
TARGET_NAMING (getub ${LIB_TYPE})
-TARGET_C_PROPERTIES (getub " " " ")
+TARGET_C_PROPERTIES (getub ${LIB_TYPE} " " " ")
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (getub PROPERTIES FOLDER tools)
add_executable (tellub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/tellub.c)
TARGET_NAMING (tellub ${LIB_TYPE})
-TARGET_C_PROPERTIES (tellub " " " ")
+TARGET_C_PROPERTIES (tellub ${LIB_TYPE} " " " ")
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (tellub PROPERTIES FOLDER tools)
add_executable (h5unjam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5unjam.c)
TARGET_NAMING (h5unjam ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5unjam " " " ")
+TARGET_C_PROPERTIES (h5unjam ${LIB_TYPE} " " " ")
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5unjam PROPERTIES FOLDER tools)
@@ -47,7 +47,7 @@ if (BUILD_TESTING)
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5jamgentest ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jamgentest.c)
TARGET_NAMING (h5jamgentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (testhdf5 " " " ")
+ TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
target_link_libraries (h5jamgentest ${HDF5_LIB_TARGET})
set_target_properties (h5jamgentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in
index acf5a03..ed8151f 100644
--- a/tools/h5jam/Makefile.in
+++ b/tools/h5jam/Makefile.in
@@ -426,7 +426,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -458,7 +457,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -482,11 +480,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -549,7 +545,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5ls/CMakeLists.txt b/tools/h5ls/CMakeLists.txt
index 0d163ce..984b36b 100644
--- a/tools/h5ls/CMakeLists.txt
+++ b/tools/h5ls/CMakeLists.txt
@@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
#-----------------------------------------------------------------------------
add_executable (h5ls ${HDF5_TOOLS_H5LS_SOURCE_DIR}/h5ls.c)
TARGET_NAMING (h5ls ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5ls " " " ")
+TARGET_C_PROPERTIES (h5ls ${LIB_TYPE} " " " ")
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5ls PROPERTIES FOLDER tools)
diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in
index d556d3d..c77784e 100644
--- a/tools/h5ls/Makefile.in
+++ b/tools/h5ls/Makefile.in
@@ -406,7 +406,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -438,7 +437,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -462,11 +460,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -529,7 +525,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt
index f6c3050..42d9f3d 100644
--- a/tools/h5repack/CMakeLists.txt
+++ b/tools/h5repack/CMakeLists.txt
@@ -22,7 +22,7 @@ set (REPACK_COMMON_SRCS
add_executable (h5repack ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repack_main.c)
TARGET_NAMING (h5repack ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5repack " " " ")
+TARGET_C_PROPERTIES (h5repack ${LIB_TYPE} " " " ")
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5repack PROPERTIES FOLDER tools)
@@ -34,13 +34,13 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
add_executable (testh5repack_detect_szip ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c)
TARGET_NAMING (testh5repack_detect_szip ${LIB_TYPE})
- TARGET_C_PROPERTIES (testh5repack_detect_szip " " " ")
+ TARGET_C_PROPERTIES (testh5repack_detect_szip ${LIB_TYPE} " " " ")
target_link_libraries (testh5repack_detect_szip ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (testh5repack_detect_szip PROPERTIES FOLDER tools)
add_executable (h5repacktest ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repacktst.c)
TARGET_NAMING (h5repacktest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5repacktest " " " ")
+ TARGET_C_PROPERTIES (h5repacktest ${LIB_TYPE} " " " ")
target_link_libraries (h5repacktest ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5repacktest PROPERTIES FOLDER tools)
@@ -54,12 +54,12 @@ if (BUILD_TESTING)
add_definitions (${HDF_EXTRA_C_FLAGS})
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
- add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${LIB_TYPE} dynlib_rpk.c)
- TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} " " " ")
+ add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
+ TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ")
target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
- ${LIB_TYPE}
+ SHARED
HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
)
diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake
index 220c871..3391c3f 100644
--- a/tools/h5repack/CMakeTests.cmake
+++ b/tools/h5repack/CMakeTests.cmake
@@ -649,22 +649,6 @@
set (USE_FILTER_SZIP "true")
endif (H5_HAVE_FILTER_SZIP)
- if (H5_HAVE_FILTER_SHUFFLE)
- set (USE_FILTER_SHUFFLE "true")
- endif (H5_HAVE_FILTER_SHUFFLE)
-
- if (H5_HAVE_FILTER_FLETCHER32)
- set (USE_FILTER_FLETCHER32 "true")
- endif (H5_HAVE_FILTER_FLETCHER32)
-
- if (H5_HAVE_FILTER_NBIT)
- set (USE_FILTER_NBIT "true")
- endif (H5_HAVE_FILTER_NBIT)
-
- if (H5_HAVE_FILTER_SCALEOFFSET)
- set (USE_FILTER_SCALEOFFSET "true")
- endif (H5_HAVE_FILTER_SCALEOFFSET)
-
# copy files (these files have no filters)
ADD_H5_TEST (fill "TEST" ${FILE0})
ADD_H5_TEST (objs "TEST" ${FILE1})
@@ -709,42 +693,26 @@
# shuffle with individual object
set (arg ${FILE4} -f dset2:SHUF -l dset2:CHUNK=20x10)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SHUFFLE)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SHUFFLE)
- ADD_H5_TEST (shuffle_individual ${TESTTYPE} ${arg})
+ ADD_H5_TEST (shuffle_individual "TEST" ${arg})
# shuffle for all
set (arg ${FILE4} -f SHUF)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SHUFFLE)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SHUFFLE)
- ADD_H5_TEST (shuffle_all ${TESTTYPE} ${arg})
+ ADD_H5_TEST (shuffle_all "TEST" ${arg})
# fletcher32 with individual object
set (arg ${FILE4} -f dset2:FLET -l dset2:CHUNK=20x10)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_FLETCHER32)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_FLETCHER32)
- ADD_H5_TEST (fletcher_individual ${TESTTYPE} ${arg})
+ ADD_H5_TEST (fletcher_individual "TEST" ${arg})
# fletcher32 for all
set (arg ${FILE4} -f FLET)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_FLETCHER32)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_FLETCHER32)
- ADD_H5_TEST (fletcher_all ${TESTTYPE} ${arg})
+ ADD_H5_TEST (fletcher_all "TEST" ${arg})
# all filters
set (arg ${FILE4} -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10)
set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
+ if (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE)
+ endif (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE)
ADD_H5_TEST (all_filters ${TESTTYPE} ${arg})
# verbose gzip with individual object
@@ -793,90 +761,50 @@
# shuffle copy
set (arg ${FILE9})
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SHUFFLE)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SHUFFLE)
- ADD_H5_TEST (shuffle_copy ${TESTTYPE} ${arg})
+ ADD_H5_TEST (shuffle_copy "TEST" ${arg})
# shuffle remove
set (arg ${FILE9} -f dset_shuffle:NONE)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SHUFFLE)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SHUFFLE)
- ADD_H5_TEST (shuffle_remove ${TESTTYPE} ${arg})
+ ADD_H5_TEST (shuffle_remove "TEST" ${arg})
# fletcher32 copy
set (arg ${FILE10})
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_FLETCHER32)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_FLETCHER32)
- ADD_H5_TEST (fletcher_copy ${TESTTYPE} ${arg})
+ ADD_H5_TEST (fletcher_copy "TEST" ${arg})
# fletcher32 remove
set (arg ${FILE10} -f dset_fletcher32:NONE)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_FLETCHER32)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_FLETCHER32)
- ADD_H5_TEST (fletcher_remove ${TESTTYPE} ${arg})
+ ADD_H5_TEST (fletcher_remove "TEST" ${arg})
# nbit copy
set (arg ${FILE12})
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_NBIT)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_NBIT)
- ADD_H5_TEST (nbit_copy ${TESTTYPE} ${arg})
+ ADD_H5_TEST (nbit_copy "TEST" ${arg})
# nbit remove
set (arg ${FILE12} -f dset_nbit:NONE)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_NBIT)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_NBIT)
- ADD_H5_TEST (nbit_remove ${TESTTYPE} ${arg})
+ ADD_H5_TEST (nbit_remove "TEST" ${arg})
# nbit add
set (arg ${FILE12} -f dset_int31:NBIT)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_NBIT)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_NBIT)
- ADD_H5_TEST (nbit_add ${TESTTYPE} ${arg})
+ ADD_H5_TEST (nbit_add "TEST" ${arg})
# scaleoffset copy
set (arg ${FILE13})
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SCALEOFFSET)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SCALEOFFSET)
- ADD_H5_TEST (scale_copy ${TESTTYPE} ${arg})
+ ADD_H5_TEST (scale_copy "TEST" ${arg})
# scaleoffset add
set (arg ${FILE13} -f dset_none:SOFF=31,IN)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SCALEOFFSET)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SCALEOFFSET)
- ADD_H5_TEST (scale_add ${TESTTYPE} ${arg})
+ ADD_H5_TEST (scale_add "TEST" ${arg})
# scaleoffset remove
set (arg ${FILE13} -f dset_scaleoffset:NONE)
- set (TESTTYPE "TEST")
- if (NOT USE_FILTER_SCALEOFFSET)
- set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_SCALEOFFSET)
- ADD_H5_TEST (scale_remove ${TESTTYPE} ${arg})
+ ADD_H5_TEST (scale_remove "TEST" ${arg})
# remove all filters
set (arg ${FILE11} -f NONE)
set (TESTTYPE "TEST")
- if (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
+ if (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER)
set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
+ endif (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER)
ADD_H5_TEST (remove_all ${TESTTYPE} ${arg})
#filter conversions
@@ -943,14 +871,14 @@
# Use first dset to test.
#---------------------------------------------------------------------------
# chunk to chunk - specify chunk dim bigger than any current dim
-ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300)
+ ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300)
# chunk to contiguous
-ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI)
+ ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI)
# chunk to compact - convert big dataset (should be > 64k) for this purpose,
# should remain as original layout (chunk)
-ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA)
+ ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA)
#--------------------------------------------------------------------------
# Test -f for some specific cases. Chunked dataset with unlimited max dims.
@@ -960,16 +888,16 @@ ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUN
# - should not change max dims from unlimit
# chunk dim is bigger than dataset dim. ( dset size < 64k )
-ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE)
+ ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE)
# chunk dim is bigger than dataset dim. ( dset size > 64k )
-ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE)
+ ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE)
# chunk dims are smaller than dataset dims. ( dset size < 64k )
-ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE)
+ ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE)
# file input - should not fail
-ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE)
+ ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE)
#--------------------------------------------------------------------------
# Test base: Convert CHUNK to CONTI for a chunked dataset with small dataset
@@ -977,9 +905,9 @@ ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE)
# (HDFFV-8214)
#--------------------------------------------------------------------------
# chunk dim is bigger than dataset dim. should succeed.
-ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI)
+ ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI)
# chunk dim is smaller than dataset dim. should succeed.
-ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI)
+ ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI)
@@ -1008,9 +936,9 @@ ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CO
# several global filters
set (arg ${FILE4} --filter GZIP=1 --filter SHUF)
set (TESTTYPE "TEST")
- if (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
+ if (NOT USE_FILTER_DEFLATE)
set (TESTTYPE "SKIP")
- endif (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE)
+ endif (NOT USE_FILTER_DEFLATE)
ADD_H5_TEST (global_filters ${TESTTYPE} ${arg})
# syntax of -i infile -o outfile
diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in
index 43fe5c6..6d1bfd6 100644
--- a/tools/h5repack/Makefile.in
+++ b/tools/h5repack/Makefile.in
@@ -438,7 +438,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -470,7 +469,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -494,11 +492,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -561,7 +557,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in
index e3bb939..4a32491 100644
--- a/tools/h5repack/h5repack.sh.in
+++ b/tools/h5repack/h5repack.sh.in
@@ -93,6 +93,8 @@ $SRC_H5REPACK_TESTFILES/h5repack_layouto.h5
$SRC_H5REPACK_TESTFILES/h5repack_layout2.h5
$SRC_H5REPACK_TESTFILES/h5repack_layout3.h5
$SRC_H5REPACK_TESTFILES/h5repack_named_dtypes.h5
+$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum.h5
+$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum_deflated.h5
$SRC_H5REPACK_TESTFILES/h5repack_nbit.h5
$SRC_H5REPACK_TESTFILES/h5repack_objs.h5
$SRC_H5REPACK_TESTFILES/h5repack_refs.h5
@@ -701,6 +703,12 @@ TOOLTEST hlink h5repack_hlink.h5
TOOLTEST layout h5repack_layout.h5
TOOLTEST early h5repack_early.h5
+# nested 8bit enum in both deflated and non-deflated datafiles
+if [ $USE_FILTER_DEFLATE != "yes" ]; then
+TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum.h5
+else
+TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum_deflated.h5
+fi
# use h5repack_layout.h5 to write some filters (this file has no filters)
diff --git a/tools/h5repack/testfiles/README b/tools/h5repack/testfiles/README
new file mode 100644
index 0000000..4096dee
--- /dev/null
+++ b/tools/h5repack/testfiles/README
@@ -0,0 +1,5 @@
+h5repack_nested_8bit_enum_deflated.h5:
+h5repack_nested_8bit_enum.h5:
+ enuberated 8bit type nested in compount type. Original file provided
+ by a user (HDFFV-8667) as a test file. Used h5copy to extract only the
+ Compound type dataset. The non-deflated version is produced by h5repack.
diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
new file mode 100644
index 0000000..f1bd8e9
--- /dev/null
+++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
Binary files differ
diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
new file mode 100644
index 0000000..2e66da2
--- /dev/null
+++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
Binary files differ
diff --git a/tools/h5stat/CMakeLists.txt b/tools/h5stat/CMakeLists.txt
index 2969405..5230693 100644
--- a/tools/h5stat/CMakeLists.txt
+++ b/tools/h5stat/CMakeLists.txt
@@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# --------------------------------------------------------------------
add_executable (h5stat ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat.c)
TARGET_NAMING (h5stat ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5stat " " " ")
+TARGET_C_PROPERTIES (h5stat ${LIB_TYPE} " " " ")
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5stat PROPERTIES FOLDER tools)
@@ -23,8 +23,8 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5stat_gentest ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat_gentest.c)
- TARGET_NAMING (h5stat_gentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5stat_gentest " " " ")
+ TARGET_NAMING (h5stat_gentest STATIC)
+ TARGET_C_PROPERTIES (h5stat_gentest STATIC " " " ")
target_link_libraries (h5stat_gentest ${HDF5_LIB_TARGET})
set_target_properties (h5stat_gentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in
index bfad3ad..1bbefe9 100644
--- a/tools/h5stat/Makefile.in
+++ b/tools/h5stat/Makefile.in
@@ -416,7 +416,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -448,7 +447,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -472,11 +470,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -539,7 +535,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/lib/CMakeLists.txt b/tools/lib/CMakeLists.txt
index 35ad46e..dbd72cd 100644
--- a/tools/lib/CMakeLists.txt
+++ b/tools/lib/CMakeLists.txt
@@ -38,14 +38,14 @@ set (H5_TOOLS_LIB_HDRS
)
add_library (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
-TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIB_TARGET}")
H5_SET_LIB_OPTIONS (
${HDF5_TOOLS_LIB_TARGET} ${HDF5_TOOLS_LIB_NAME}
${LIB_TYPE}
HDF5_TOOLS_LIB_NAME_RELEASE
- HDF5_TOOLS_LIB_NAME_DEBUG
+ HDF5_TOOLS_LIB_NAME_DEBUG
)
#set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES COMPILE_DEFINITIONS H5DIFF_DEBUG)
set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in
index c972bab..0b531b3 100644
--- a/tools/lib/Makefile.in
+++ b/tools/lib/Makefile.in
@@ -403,7 +403,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -435,7 +434,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -459,11 +457,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -526,7 +522,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index eb52bc5..4def001 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -164,11 +164,7 @@ h5tools_str_append(h5tools_str_t *str/*in,out*/, const char *fmt, ...)
* to lack of buffer size, so try one more time after realloc more
* buffer size before return NULL.
*/
- if (nchars < 0
-#ifndef H5_VSNPRINTF_WORKS
- && (HDstrlen(str->s) < str->nalloc)
-#endif
- ) {
+ if (nchars < 0) {
/* failure, such as bad format */
return NULL;
}
diff --git a/tools/lib/h5tools_utils.c b/tools/lib/h5tools_utils.c
index d7c5adb..fc8cf1d 100644
--- a/tools/lib/h5tools_utils.c
+++ b/tools/lib/h5tools_utils.c
@@ -89,28 +89,11 @@ void parallel_print(const char* format, ...)
HDvprintf(format, ap);
else {
if(overflow_file == NULL) /*no overflow has occurred yet */ {
-#if 0
- printf("calling HDvsnprintf: OUTBUFF_SIZE=%ld, outBuffOffset=%ld, ", (long)OUTBUFF_SIZE, (long)outBuffOffset);
-#endif
bytes_written = HDvsnprintf(outBuff+outBuffOffset, OUTBUFF_SIZE-outBuffOffset, format, ap);
-#if 0
- printf("bytes_written=%ld\n", (long)bytes_written);
-#endif
HDva_end(ap);
HDva_start(ap, format);
-#if 0
- printf("Result: bytes_written=%ld, OUTBUFF_SIZE-outBuffOffset=%ld\n", (long)bytes_written, (long)OUTBUFF_SIZE-outBuffOffset);
-#endif
-
- if ((bytes_written < 0) ||
-#ifdef H5_VSNPRINTF_WORKS
- (bytes_written >= (OUTBUFF_SIZE-outBuffOffset))
-#else
- ((bytes_written+1) == (OUTBUFF_SIZE-outBuffOffset))
-#endif
- )
- {
+ if((bytes_written < 0) || (bytes_written >= (OUTBUFF_SIZE - outBuffOffset))) {
/* Terminate the outbuff at the end of the previous output */
outBuff[outBuffOffset] = '\0';
diff --git a/tools/lib/h5tools_utils.h b/tools/lib/h5tools_utils.h
index 3285278..fd588b9 100644
--- a/tools/lib/h5tools_utils.h
+++ b/tools/lib/h5tools_utils.h
@@ -124,9 +124,9 @@ H5TOOLS_DLLVAR int h5tools_nCols; /*max number of columns for
/* Definitions of useful routines */
H5TOOLS_DLL void indentation(int);
H5TOOLS_DLL void print_version(const char *progname);
-H5TOOLS_DLL void parallel_print(const char* format, ... );
-H5TOOLS_DLL void error_msg(const char *fmt, ...);
-H5TOOLS_DLL void warn_msg(const char *fmt, ...);
+H5TOOLS_DLL void parallel_print(const char* format, ... )__attribute__((format (printf, 1, 2)));
+H5TOOLS_DLL void error_msg(const char *fmt, ...)__attribute__((format (printf, 1, 2)));
+H5TOOLS_DLL void warn_msg(const char *fmt, ...)__attribute__((format (printf, 1, 2)));
H5TOOLS_DLL void help_ref_msg(FILE *output);
H5TOOLS_DLL void free_table(table_t *table);
#ifdef H5DUMP_DEBUG
diff --git a/tools/misc/CMakeLists.txt b/tools/misc/CMakeLists.txt
index 932948d..e0f94d0 100644
--- a/tools/misc/CMakeLists.txt
+++ b/tools/misc/CMakeLists.txt
@@ -12,19 +12,19 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
#-- Misc Executables
add_executable (h5debug ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5debug.c)
TARGET_NAMING (h5debug ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5debug " " " ")
+TARGET_C_PROPERTIES (h5debug ${LIB_TYPE} " " " ")
target_link_libraries (h5debug ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5debug PROPERTIES FOLDER tools)
add_executable (h5repart ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart.c)
TARGET_NAMING (h5repart ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5repart " " " ")
+TARGET_C_PROPERTIES (h5repart ${LIB_TYPE} " " " ")
target_link_libraries (h5repart ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart PROPERTIES FOLDER tools)
add_executable (h5mkgrp ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5mkgrp.c)
TARGET_NAMING (h5mkgrp ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5mkgrp " " " ")
+TARGET_C_PROPERTIES (h5mkgrp ${LIB_TYPE} " " " ")
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5mkgrp PROPERTIES FOLDER tools)
@@ -47,8 +47,8 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
add_executable (h5repart_gentest ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart_gentest.c)
- TARGET_NAMING (h5repart_gentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5repart_gentest " " " ")
+ TARGET_NAMING (h5repart_gentest STATIC)
+ TARGET_C_PROPERTIES (h5repart_gentest STATIC " " " ")
target_link_libraries (h5repart_gentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart_gentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5repart_gentest COMMAND $<TARGET_FILE:h5repart_gentest>)
@@ -56,7 +56,7 @@ if (BUILD_TESTING)
add_executable (h5repart_test ${HDF5_TOOLS_MISC_SOURCE_DIR}/repart_test.c)
TARGET_NAMING (h5repart_test ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5repart_test " " " ")
+ TARGET_C_PROPERTIES (h5repart_test ${LIB_TYPE} " " " ")
target_link_libraries (h5repart_test ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart_test PROPERTIES FOLDER tools)
diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in
index 623bc8d..1b8e0eb 100644
--- a/tools/misc/Makefile.in
+++ b/tools/misc/Makefile.in
@@ -441,7 +441,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -473,7 +472,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -497,11 +495,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -564,7 +560,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/tools/misc/h5cc.in b/tools/misc/h5cc.in
index da1a26d..cabd83f 100644
--- a/tools/misc/h5cc.in
+++ b/tools/misc/h5cc.in
@@ -347,7 +347,7 @@ if test "x$do_link" = "xyes"; then
hpux*) flag="-Wl,+b -Wl," ;;
freebsd*|solaris*) flag="-R" ;;
rs6000*|aix*) flag="-L" ;;
- irix*|sgi) flag="-rpath " ;;
+ sgi) flag="-rpath " ;;
*) flag="" ;;
esac
diff --git a/tools/perform/CMakeLists.txt b/tools/perform/CMakeLists.txt
index e6abf7f..17b40fa 100644
--- a/tools/perform/CMakeLists.txt
+++ b/tools/perform/CMakeLists.txt
@@ -22,7 +22,7 @@ set (h5perf_serial_SRCS
)
add_executable (h5perf_serial ${h5perf_serial_SRCS})
TARGET_NAMING (h5perf_serial ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5perf_serial " " " ")
+TARGET_C_PROPERTIES (h5perf_serial ${LIB_TYPE} " " " ")
target_link_libraries (h5perf_serial ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5perf_serial PROPERTIES FOLDER perform)
@@ -33,13 +33,13 @@ if (HDF5_BUILD_PERFORM_STANDALONE)
${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
)
add_executable (h5perf_serial_alone ${h5perf_serial_alone_SRCS})
- set_property (TARGET h5perf_serial_alone
- APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
- )
TARGET_NAMING (h5perf_serial_alone ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf_serial_alone " " " ")
+ TARGET_C_PROPERTIES (h5perf_serial_alone ${LIB_TYPE} " " " ")
target_link_libraries (h5perf_serial_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5perf_serial_alone PROPERTIES FOLDER perform)
+ set_property (TARGET h5perf_serial_alone
+ APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
+ )
endif (HDF5_BUILD_PERFORM_STANDALONE)
#-- Adding test for chunk
@@ -48,7 +48,7 @@ set (chunk_SRCS
)
ADD_EXECUTABLE(chunk ${chunk_SRCS})
TARGET_NAMING (chunk ${LIB_TYPE})
-TARGET_C_PROPERTIES (chunk " " " ")
+TARGET_C_PROPERTIES (chunk ${LIB_TYPE} " " " ")
TARGET_LINK_LIBRARIES(chunk ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (chunk PROPERTIES FOLDER perform)
@@ -58,7 +58,7 @@ set (iopipe_SRCS
)
add_executable (iopipe ${iopipe_SRCS})
TARGET_NAMING (iopipe ${LIB_TYPE})
-TARGET_C_PROPERTIES (iopipe " " " ")
+TARGET_C_PROPERTIES (iopipe ${LIB_TYPE} " " " ")
target_link_libraries (iopipe ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (iopipe PROPERTIES FOLDER perform)
@@ -68,7 +68,7 @@ set (overhead_SRCS
)
add_executable (overhead ${overhead_SRCS})
TARGET_NAMING (overhead ${LIB_TYPE})
-TARGET_C_PROPERTIES (overhead " " " ")
+TARGET_C_PROPERTIES (overhead ${LIB_TYPE} " " " ")
target_link_libraries (overhead ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (overhead PROPERTIES FOLDER perform)
@@ -79,7 +79,7 @@ if (BUILD_TESTING)
)
add_executable (perf_meta ${perf_meta_SRCS})
TARGET_NAMING (perf_meta ${LIB_TYPE})
- TARGET_C_PROPERTIES (perf_meta " " " ")
+ TARGET_C_PROPERTIES (perf_meta ${LIB_TYPE} " " " ")
target_link_libraries (perf_meta ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (perf_meta PROPERTIES FOLDER perform)
endif (BUILD_TESTING)
@@ -90,7 +90,7 @@ set (zip_perf_SRCS
)
add_executable (zip_perf ${zip_perf_SRCS})
TARGET_NAMING (zip_perf ${LIB_TYPE})
-TARGET_C_PROPERTIES (zip_perf " " " ")
+TARGET_C_PROPERTIES (zip_perf ${LIB_TYPE} " " " ")
target_link_libraries (zip_perf ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (zip_perf PROPERTIES FOLDER perform)
@@ -102,7 +102,7 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
)
add_executable (h5perf ${h5perf_SRCS})
TARGET_NAMING (h5perf ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf " " " ")
+ TARGET_C_PROPERTIES (h5perf ${LIB_TYPE} " " " ")
target_link_libraries (h5perf ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5perf PROPERTIES FOLDER perform)
@@ -113,13 +113,13 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
)
add_executable (h5perf_alone ${h5perf_alone_SRCS})
- set_property (TARGET h5perf_alone
- APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
- )
TARGET_NAMING (h5perf_alone ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf_alone " " " ")
+ TARGET_C_PROPERTIES (h5perf_alone ${LIB_TYPE} " " " ")
target_link_libraries (h5perf_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5perf_alone PROPERTIES FOLDER perform)
+ set_property (TARGET h5perf_alone
+ APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
+ )
endif (HDF5_BUILD_PERFORM_STANDALONE)
endif (H5_HAVE_PARALLEL AND BUILD_TESTING)
diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in
index d28f307..325bc4d 100644
--- a/tools/perform/Makefile.in
+++ b/tools/perform/Makefile.in
@@ -445,7 +445,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -477,7 +476,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -501,11 +499,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -568,7 +564,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@