diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2015-04-10 23:00:48 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2015-04-10 23:00:48 (GMT) |
commit | 6a27582a4488d4d18a0b6cd584b8950ab02b81a7 (patch) | |
tree | 01615f7679a3d3ef4b2d9caa487874aa421df506 | |
parent | 7a4b02567e4de16d7478c10ffa07562b0daf320b (diff) | |
parent | 3875cc6960266775e8078c782c8864516865be67 (diff) | |
download | hdf5-6a27582a4488d4d18a0b6cd584b8950ab02b81a7.zip hdf5-6a27582a4488d4d18a0b6cd584b8950ab02b81a7.tar.gz hdf5-6a27582a4488d4d18a0b6cd584b8950ab02b81a7.tar.bz2 |
[svn-r26781] Merge revisions 26305 through 26780 from trunk to vds branch.
Tested: ummon
397 files changed, 7004 insertions, 12658 deletions
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 3b9b4f7..7050f87 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -1,21 +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) - -HDF5_SETUP_FILTERS (SHUFFLE) -HDF5_SETUP_FILTERS (FLETCHER32) -HDF5_SETUP_FILTERS (NBIT) -HDF5_SETUP_FILTERS (SCALEOFFSET) - 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)") @@ -24,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}) @@ -48,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) @@ -56,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}) @@ -92,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 c83d6bb..0380adc 100644 --- a/CMakeInstallation.cmake +++ b/CMakeInstallation.cmake @@ -80,10 +80,10 @@ configure_package_config_file ( if (NOT HDF5_EXTERNALLY_CONFIGURED) configure_file ( ${HDF_RESOURCES_DIR}/FindHDF5.cmake.in - ${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY + ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY ) install ( - FILES ${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake + FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindHDF5${HDF_PACKAGE_EXT}.cmake DESTINATION ${HDF5_INSTALL_CMAKE_DIR} COMPONENT configinstall ) @@ -97,14 +97,14 @@ set (SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" ) set (CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" ) configure_package_config_file ( ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in - "${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake" + "${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake" INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}" PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR ) if (NOT HDF5_EXTERNALLY_CONFIGURED) install ( - FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake + FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake DESTINATION ${HDF5_INSTALL_CMAKE_DIR} COMPONENT configinstall ) @@ -116,10 +116,10 @@ endif (NOT HDF5_EXTERNALLY_CONFIGURED) if (NOT HDF5_EXTERNALLY_CONFIGURED) configure_file ( ${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in - ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY + ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY ) install ( - FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake + FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake DESTINATION ${HDF5_INSTALL_CMAKE_DIR} COMPONENT configinstall ) @@ -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 @@ -317,7 +325,6 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES) set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}\\\\hdf.bmp") set (CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_PACKAGE_NAME}") set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAME}\\\\${CPACK_PACKAGE_VERSION}") - set (CPACK_MONOLITHIC_INSTALL ON) set (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}") set (CPACK_NSIS_MODIFY_PATH ON) @@ -361,12 +368,19 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES) # # This image must be 493 by 312 pixels. # + 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}") + 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) set (CPACK_PACKAGING_INSTALL_PREFIX "/${CPACK_PACKAGE_INSTALL_DIRECTORY}") set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns") + option (HDF5_PACK_MACOSX_BUNDLE "Package the HDF5 Library in a Bundle" OFF) if (HDF5_PACK_MACOSX_BUNDLE) list (APPEND CPACK_GENERATOR "Bundle") set (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}") @@ -375,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}") @@ -452,45 +466,60 @@ The HDF5 data model, file format, API, library, and tools are open and distribut if (HDF5_PACKAGE_EXTLIBS) if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL) - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/") - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/") - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/") + set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;ALL;/") endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL) if (SZIP_FOUND AND SZIP_USE_EXTERNAL) - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/") - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/") - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/") + set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;ALL;/") endif (SZIP_FOUND AND SZIP_USE_EXTERNAL) endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") endif (HDF5_PACKAGE_EXTLIBS) include (CPack) + cpack_add_install_type(Full DISPLAY_NAME "Everything") + cpack_add_install_type(Developer) + + cpack_add_component_group(Runtime) + + cpack_add_component_group(Documents + EXPANDED + DESCRIPTION "Release notes for developing HDF5 applications" + ) + + cpack_add_component_group(Development + EXPANDED + DESCRIPTION "All of the tools you'll need to develop HDF5 applications" + ) + + cpack_add_component_group(Applications + EXPANDED + DESCRIPTION "Tools for HDF5 files" + ) + #--------------------------------------------------------------------------- # 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) @@ -498,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) @@ -511,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) @@ -524,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) @@ -542,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. #----------------------------------------------------------------------------- @@ -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. @@ -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 @@ -854,6 +848,7 @@ ./src/H5Ptest.c ./src/H5PL.c ./src/H5PLprivate.h +./src/H5PLpublic.h ./src/H5PLextern.h ./src/H5R.c ./src/H5Rdeprec.c @@ -2137,6 +2132,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 @@ -2154,6 +2150,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 @@ -2345,6 +2343,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 @@ -2407,6 +2407,7 @@ ./config/cmake/HDF5Macros.cmake ./config/cmake/libhdf5.settings.cmake.in ./config/cmake/mccacheinit.cmake +./config/cmake/patch.xml ./config/cmake/PkgInfo.in ./config/cmake/README.txt.cmake.in ./config/cmake/userblockTest.cmake 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 9c1d71e..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@ @@ -296,17 +294,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -369,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@ @@ -384,10 +378,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -1011,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; \ @@ -1019,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; \ @@ -1027,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; \ @@ -1054,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 @@ -1101,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; \ @@ -1,4 +1,4 @@ -HDF5 version 1.9.215 currently under development +HDF5 version 1.9.216 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/chkmanifest b/bin/chkmanifest index 70c38a9..646f815 100755 --- a/bin/chkmanifest +++ b/bin/chkmanifest @@ -20,75 +20,17 @@ verbose=yes MANIFEST=/tmp/HD_MANIFEST.$$ -SVNENTRY=/tmp/HD_SVNENTRY.$$ - -# function definitions - -GETSVNENTRIES_13 () -# Purpose: Extract filenames from the svn v1.3.* entries file -# $1: directory name in which the svn entries is. -# steps: -# 1. remove all single line entries so that step 2 does not fail on them. -# 2. merge all multiple lines entries into single lines. -# 3. remove all non file entries. -# 4. insert a blank line because some entries files has no kind="file" -# entry and ed does not like to do g on an empty file. -# 5. remove everything except the file name. -# 6. remove all blank lines, including the inserted one. -{ -cp $1/entries $SVNENTRY -chmod u+w $SVNENTRY # entries file is not writable. -ed - $SVNENTRY <<EOF -g/^<.*>$/d -g/^</.,/>$/j -v/kind="file"/d -a - -. -g/.*name="/s/// -g/".*/s/// -g/^$/d -w -q -EOF -cat $SVNENTRY -rm $SVNENTRY -} - -GETSVNENTRIES_14 () -# Purpose: Extract filenames from the svn v1.4.* entries file -# $1: directory name in which the svn entries is. -# steps: -# 1. all valid files are followed by a line containing "file" only. -# 2. find them by looking for "file" first, then mark its preceding line as -# wanted. -# 3. remove all non-marked line. -# 4. insert a blank line because some entries files has no kind="file" -# entry and ed does not like to do g on an empty file. -# 5. remove the marks. -{ -cp $1/entries $SVNENTRY -chmod u+w $SVNENTRY # entries file is not writable. -ed - $SVNENTRY <<EOF -g/^file$/-s/^/%WANTED%/ -v/%WANTED%/d -a - -. -g/^%WANTED%/s/// -w -q -EOF -cat $SVNENTRY -rm $SVNENTRY -} - # Main test "$verbose" && echo " Checking MANIFEST..." 1>&2 # clean up $MANIFEST file when exits trap "rm -f $MANIFEST" 0 +# Only split lines on newline, not whitespace +set -f +IFS=' +' + # First make sure i am in the directory in which there is an MANIFEST file # and then do the checking from there. Will try the following, # current directory, parent directory, the directory this command resides. @@ -132,36 +74,55 @@ for file in `cat $MANIFEST`; do fi done +# Get the list of files under version control and check that they are +# present. +# +# First get a list of all the pending files with svn stat and +# check those. +svn_stat=`svn stat -q` +for file in $svn_stat; do + + # Newly added files are not listed by svn ls, which + # we check later. + + # The line listing new files starts with 'A'. + letter=`echo $file | head -c 1` + if [ "$letter" = "A" ]; then + # Convert the seven Subversion status columns to './' so it matches + # the manifest file name. + # + # There is a space between the status columns and file name, hence + # the '8' instead of '7'. + path=`echo $file | sed 's/^.\{8\}/\.\//g'` + # Ignore directories + if [ ! -d $path ]; then + if (grep ^$path$ $MANIFEST >/dev/null); then + : + else + echo "- $path" + fail=yes + fi + fi + fi +done -# Inspect the .svn/entries to figure out what version of svn file entry is -# used. -# The following algorithm is formed via reverse engineering. -# I don't know what the official svn format is if such a specification exists. -# Algorithm: -# If the first line of the file has 'xml version="1.0"' in it, it is created -# by svn 1.3 or older; else if it has '^file$' in it, it is created by svn 1.4. -svn_entry_file=.svn/entries -if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then - getsvnentries=GETSVNENTRIES_13 -elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then - getsvnentries=GETSVNENTRIES_14 -else - echo "Unknown svn entries format. Aborted" - exit 1 -fi - -for svn in `find . -type d -name .svn -print`; do - path=`echo $svn |sed 's/\/.svn//'` - for file in `$getsvnentries $svn`; do - if (grep ^$path/$file$ $MANIFEST >/dev/null); then - : - else - echo "+ $path/$file" - fail=yes - fi - done +# Next check svn ls, which gets a list of all files that are +# checked in. +svn_ls=`svn ls -R` +for file in $svn_ls; do + path="./${file}" + # Ignore directories + if [ ! -d $path ]; then + if (grep ^$path$ $MANIFEST >/dev/null); then + : + else + echo "+ $path" + fail=yes + fi + fi done +# Finish up if [ "X$fail" = "Xyes" ]; then cat 1>&2 <<EOF The MANIFEST is out of date. Files marked with a minus sign (-) no 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/genltanalyze b/bin/genltanalyze index 0b1b1e5..1f56cc1 100755 --- a/bin/genltanalyze +++ b/bin/genltanalyze @@ -60,6 +60,37 @@ flex --nounistd -PH5LTyy -oH5LTanalyze.c H5LTanalyze.l # H5LTparse.c. perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' H5LTparse.c perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' H5LTparse.c + +# Add code that disables warnings in the flex/bison-generated code. +# +# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions +# will simply ignore them, but we want to avoid those warnings. +for f in H5LTparse.c H5LTanalyze.c +do + echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wsign-compare" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out + echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out + echo '#elif defined __SUNPRO_CC ' >> tmp.out + echo '#pragma disable_warn ' >> tmp.out + echo '#elif defined _MSC_VER ' >> tmp.out + echo '#pragma warning(push, 1) ' >> tmp.out + echo '#endif ' >> tmp.out + + cat $f >> tmp.out + mv tmp.out $f +done + cd ../.. exit 0 @@ -159,10 +159,10 @@ while ($_ = shift) { die "mutually exclusive options given\n" if $set && $inc; # Determine file to use as H5public.h, README.txt, -# release_docs/RELEASE.txt, configure.ac, windows/src/H5pubconf.h, -# vms/src/h5pubconf.h and config/lt_vers.am. +# release_docs/RELEASE.txt, configure.ac, windows/src/H5pubconf.h +# and config/lt_vers.am. # The README.txt, release_docs/RELEASE.txt, configure.ac, -# vms/src/h5pubconf.h, windows/src/H5pubconf.h, and config/lt_vers.am +# windows/src/H5pubconf.h, and config/lt_vers.am # files are always in the directory above H5public.h unless ($file) { for (@files) { @@ -187,10 +187,6 @@ die "unable to read file: $RELEASE\n" unless -r $file; my $CONFIGURE = $file; $CONFIGURE =~ s/[^\/]*$/..\/configure.ac/; die "unable to read file: $CONFIGURE\n" unless -r $file; -# vms/src/h5pubconf.h -my $H5VMSPUBCONF = $file; -$H5VMSPUBCONF =~ s/[^\/]*$/..\/vms\/src\/h5pubconf.h/; -die "unable to read file: $H5VMSPUBCONF\n" unless -r $file; # Get the current version number. open FILE, $file or die "unable to open $file: $!\n"; @@ -238,7 +234,6 @@ if ($set) { $README = ""; $RELEASE = ""; $CONFIGURE = ""; - $H5VMSPUBCONF = ""; $LT_VERS = ""; @newver = @curver; } @@ -387,9 +382,6 @@ sub gen_h5pubconf { close FILE; } -# Update the VMS-maintained h5pubconf.h file -gen_h5pubconf("HDF5", $H5VMSPUBCONF, @newver) if $H5VMSPUBCONF; - # Print the new version number if ($verbose) { printf("version %d.%d release %d%s\n", @newver[0,1,2], 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 @@ -285,7 +285,7 @@ sub rewrite_func ($$$$$) { # Ignored due to NO TRACE comment. } elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) { # Replaced an H5TRACE macro. - } elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*\(.*?\);??)\n/"$1$2$trace"/es) { + } elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*(\(.*?\))?;??)\n/"$1$2$trace"/es) { # Added an H5TRACE macro after a FUNC_ENTER macro. } else { errmesg $file, $name, "unable to insert tracing information"; diff --git a/c++/Makefile.in b/c++/Makefile.in index 45aeb34..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@ @@ -456,17 +454,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -544,10 +538,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 d4a652f..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@ @@ -404,17 +402,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -477,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@ @@ -492,10 +486,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 e6cacf9..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" @@ -40,6 +41,12 @@ AbstractDs::AbstractDs(){} // Function: AbstractDs default constructor ///\brief Creates an AbstractDs instance using an existing id. // Programmer Binh-Minh Ribler - 2000 +// +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It will be removed in 1.10 release. If its +// removal does not raise any problems in 1.10, it will be removed from 1.8 in +// subsequent releases. //-------------------------------------------------------------------------- AbstractDs::AbstractDs(const hid_t ds_id){} @@ -47,8 +54,13 @@ AbstractDs::AbstractDs(const hid_t ds_id){} // Function: AbstractDs copy constructor ///\brief Copy constructor: makes a copy of the original AbstractDs object. // Programmer Binh-Minh Ribler - 2000 +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It is removed from 1.8.15 because it is +// a noop and it can be generated by the compiler if needed. //-------------------------------------------------------------------------- -AbstractDs::AbstractDs(const AbstractDs& original){} +//-------------------------------------------------------------------------- +// AbstractDs::AbstractDs(const AbstractDs& original){} //-------------------------------------------------------------------------- // Function: AbstractDs::getTypeClass @@ -113,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()); @@ -139,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()); @@ -165,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()); @@ -191,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()); @@ -217,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()); @@ -243,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()); @@ -269,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()); @@ -295,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 01d05b8..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 @@ -70,9 +71,6 @@ class H5_DLLCPP AbstractDs { ///\brief Returns this class name. virtual H5std_string fromClass() const = 0; - // Copy constructor - AbstractDs( const AbstractDs& original ); - // Destructor virtual ~AbstractDs(); @@ -80,8 +78,17 @@ class H5_DLLCPP AbstractDs { // Default constructor AbstractDs(); - // Constructor that takes an attribute id or a dataset id. - AbstractDs( const hid_t ds_id ); + // *** Deprecation warning *** + // The following two constructors are no longer appropriate after the + // data member "id" had been moved to the sub-classes. + // The copy constructor is a noop and is removed in 1.8.15 and the + // other will be removed from 1.10 release, and then from 1.8 if its + // removal does not raise any problems in two 1.10 releases. + + AbstractDs(const hid_t h5_id); + + // Copy constructor + // AbstractDs( const AbstractDs& original ); private: // This member function is implemented by DataSet and 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 a9e928d..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 { @@ -392,10 +394,12 @@ H5std_string Attribute::getName() const //-------------------------------------------------------------------------- H5std_string Attribute::getName(size_t len) const { - H5std_string attr_name; - ssize_t name_size = getName(attr_name, len); - return(attr_name); - // let caller catch exception if any + H5std_string attr_name; + ssize_t name_size = getName(attr_name, len); + if (name_size < 0) + return(""); + else + return(attr_name); } //-------------------------------------------------------------------------- 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 6728264..717ef88 100644 --- a/c++/src/H5DataSet.cpp +++ b/c++/src/H5DataSet.cpp @@ -52,7 +52,7 @@ namespace H5 { ///\brief Default constructor: creates a stub DataSet. // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -DataSet::DataSet() : AbstractDs(), H5Object(), id(H5I_INVALID_HID) {} +DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {} //-------------------------------------------------------------------------- // Function: DataSet overloaded constructor @@ -60,9 +60,10 @@ DataSet::DataSet() : AbstractDs(), H5Object(), id(H5I_INVALID_HID) {} ///\param existing_id - IN: Id of an existing dataset // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -DataSet::DataSet(const hid_t existing_id) : AbstractDs(), H5Object() +DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- @@ -71,7 +72,7 @@ DataSet::DataSet(const hid_t existing_id) : AbstractDs(), H5Object() ///\param original - IN: DataSet instance to copy // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -DataSet::DataSet(const DataSet& original) : AbstractDs(original), H5Object(original) +DataSet::DataSet(const DataSet& original) : H5Object(), AbstractDs() { id = original.getId(); incRefCount(); // increment number of references to this id @@ -95,7 +96,7 @@ DataSet::DataSet(const DataSet& original) : AbstractDs(original), H5Object(origi // Jul, 2008 // Added for application convenience. //-------------------------------------------------------------------------- -DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : AbstractDs(), H5Object(), id(H5I_INVALID_HID) +DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), AbstractDs(), id(H5I_INVALID_HID) { id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereferenced"); } @@ -114,7 +115,7 @@ DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, co // Jul, 2008 // Added for application convenience. //-------------------------------------------------------------------------- -DataSet::DataSet(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : AbstractDs(), H5Object(), id(H5I_INVALID_HID) +DataSet::DataSet(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), AbstractDs(), id(H5I_INVALID_HID) { id = H5Location::p_dereference(attr.getId(), ref, ref_type, plist, "constructor - by dereference"); } @@ -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 20b4e5e..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 } //-------------------------------------------------------------------------- @@ -93,7 +94,7 @@ DataSpace::DataSpace(const hid_t existing_id) : IdComponent() ///\param original - IN: DataSpace object to copy // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -DataSpace::DataSpace(const DataSpace& original) : IdComponent(original) +DataSpace::DataSpace(const DataSpace& original) : IdComponent() { id = original.getId(); 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 a435b4e..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"); } @@ -134,13 +135,34 @@ DataType::DataType(const Attribute& attr, const void* ref, H5R_type_t ref_type, ///\brief Copy constructor: makes a copy of the original DataType object. // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -DataType::DataType(const DataType& original) : H5Object(original) +DataType::DataType(const DataType& original) : H5Object() { id = original.getId(); incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- +// 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/H5Exception.cpp b/c++/src/H5Exception.cpp index f153c92..fb1e42e 100644 --- a/c++/src/H5Exception.cpp +++ b/c++/src/H5Exception.cpp @@ -35,11 +35,11 @@ Exception::Exception() : detail_message(""), func_name("") {} // Function: Exception overloaded constructor ///\brief Creates an exception with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -Exception::Exception(const H5std_string& func_name, const H5std_string& message) : detail_message(message), func_name(func_name) {} +Exception::Exception(const H5std_string& func, const H5std_string& message) : detail_message(message), func_name(func) {} //-------------------------------------------------------------------------- // Function: Exception copy constructor @@ -350,10 +350,10 @@ FileIException::FileIException():Exception(){} // Function: FileIException overloaded constructor ///\brief Creates a FileIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -FileIException::FileIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +FileIException::FileIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: FileIException destructor ///\brief Noop destructor. @@ -373,10 +373,10 @@ GroupIException::GroupIException():Exception(){} // Function: GroupIException overloaded constructor ///\brief Creates a GroupIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -GroupIException::GroupIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +GroupIException::GroupIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: GroupIException destructor ///\brief Noop destructor. @@ -396,10 +396,10 @@ DataSpaceIException::DataSpaceIException():Exception(){} // Function: DataSpaceIException overloaded constructor ///\brief Creates a DataSpaceIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -DataSpaceIException::DataSpaceIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +DataSpaceIException::DataSpaceIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: DataSpaceIException destructor ///\brief Noop destructor. @@ -419,10 +419,10 @@ DataTypeIException::DataTypeIException():Exception(){} // Function: DataTypeIException overloaded constructor ///\brief Creates a DataTypeIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -DataTypeIException::DataTypeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +DataTypeIException::DataTypeIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: DataTypeIException destructor ///\brief Noop destructor. @@ -442,10 +442,10 @@ PropListIException::PropListIException():Exception(){} // Function: PropListIException overloaded constructor ///\brief Creates a PropListIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -PropListIException::PropListIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +PropListIException::PropListIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: PropListIException destructor ///\brief Noop destructor. @@ -465,10 +465,10 @@ DataSetIException::DataSetIException():Exception(){} // Function: DataSetIException overloaded constructor ///\brief Creates a DataSetIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -DataSetIException::DataSetIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +DataSetIException::DataSetIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: DataSetIException destructor ///\brief Noop destructor. @@ -488,10 +488,10 @@ AttributeIException::AttributeIException():Exception(){} // Function: AttributeIException overloaded constructor ///\brief Creates an AttributeIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -AttributeIException::AttributeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +AttributeIException::AttributeIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: AttributeIException destructor ///\brief Noop destructor. @@ -511,10 +511,10 @@ ReferenceException::ReferenceException():Exception(){} // Function: ReferenceException overloaded constructor ///\brief Creates a ReferenceException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -ReferenceException::ReferenceException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +ReferenceException::ReferenceException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: ReferenceException destructor ///\brief Noop destructor. @@ -534,10 +534,10 @@ LibraryIException::LibraryIException():Exception(){} // Function: LibraryIException overloaded constructor ///\brief Creates a LibraryIException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -LibraryIException::LibraryIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +LibraryIException::LibraryIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: LibraryIException destructor ///\brief Noop destructor. @@ -557,10 +557,10 @@ LocationException::LocationException():Exception(){} // Function: LocationException overloaded constructor ///\brief Creates a LocationException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -LocationException::LocationException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +LocationException::LocationException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: LocationException destructor ///\brief Noop destructor. @@ -580,10 +580,10 @@ IdComponentException::IdComponentException(): Exception() {} // Function: IdComponentException overloaded constructor ///\brief Creates a IdComponentException with the name of the function, /// in which the failure occurs, and an optional detailed message. -///\param func_name - IN: Name of the function where failure occurs +///\param func - IN: Name of the function where failure occurs ///\param message - IN: Message on the failure //-------------------------------------------------------------------------- -IdComponentException::IdComponentException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {} +IdComponentException::IdComponentException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {} //-------------------------------------------------------------------------- // Function: IdComponentException destructor ///\brief Noop destructor. 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 45e08b2..fc802d0 100644 --- a/c++/src/H5File.cpp +++ b/c++/src/H5File.cpp @@ -50,7 +50,7 @@ namespace H5 { ///\brief Default constructor: creates a stub H5File object. // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -H5File::H5File() : H5Location(), id(H5I_INVALID_HID) {} +H5File::H5File() : H5Location(), CommonFG(), id(H5I_INVALID_HID) {} //-------------------------------------------------------------------------- // Function: H5File overloaded constructor @@ -86,7 +86,7 @@ H5File::H5File() : H5Location(), id(H5I_INVALID_HID) {} // to catch then re-throw it. -BMR 2013/03/21 // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), id(H5I_INVALID_HID) +H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), CommonFG(), id(H5I_INVALID_HID) { try { p_get_file(name, flags, create_plist, access_plist); @@ -111,7 +111,7 @@ H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& c // to catch then re-throw it. -BMR 2013/03/21 // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), id(H5I_INVALID_HID) +H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), CommonFG(), id(H5I_INVALID_HID) { try { p_get_file(name.c_str(), flags, create_plist, access_plist); @@ -158,13 +158,32 @@ 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. ///\param original - IN: H5File instance to copy // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -H5File::H5File(const H5File& original) : H5Location(original) +H5File::H5File(const H5File& original) : H5Location(), CommonFG() { id = original.getId(); incRefCount(); // increment number of references to this id @@ -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 cad5e29..4d1d61c 100644 --- a/c++/src/H5Group.cpp +++ b/c++/src/H5Group.cpp @@ -51,7 +51,7 @@ namespace H5 { ///\brief Default constructor: creates a stub Group. // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -Group::Group() : H5Object(), id(H5I_INVALID_HID) {} +Group::Group() : H5Object(), CommonFG(), id(H5I_INVALID_HID) {} //-------------------------------------------------------------------------- // Function: Group copy constructor @@ -59,7 +59,7 @@ Group::Group() : H5Object(), id(H5I_INVALID_HID) {} ///\param original - IN: Original group to copy // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -Group::Group(const Group& original) : H5Object(original) +Group::Group(const Group& original) : H5Object(), CommonFG() { id = original.getId(); incRefCount(); // increment number of references to this id @@ -82,9 +82,10 @@ hid_t Group::getLocId() const ///\param existing_id - IN: Id of an existing group // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -Group::Group(const hid_t existing_id) : H5Object() +Group::Group(const hid_t existing_id) : H5Object(), CommonFG() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- @@ -100,7 +101,7 @@ Group::Group(const hid_t existing_id) : H5Object() /// is a datatype that has been named by DataType::commit. // Programmer Binh-Minh Ribler - Oct, 2006 //-------------------------------------------------------------------------- -Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID) +Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), CommonFG(), id(H5I_INVALID_HID) { id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference"); } @@ -115,7 +116,7 @@ Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const ///\exception H5::ReferenceException // Programmer Binh-Minh Ribler - Oct, 2006 //-------------------------------------------------------------------------- -Group::Group(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID) +Group::Group(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), CommonFG(), id(H5I_INVALID_HID) { id = H5Location::p_dereference(attr.getId(), ref, ref_type, plist, "constructor - by dereference"); } diff --git a/c++/src/H5IdComponent.cpp b/c++/src/H5IdComponent.cpp index 4a9dcac..c01d41e 100644 --- a/c++/src/H5IdComponent.cpp +++ b/c++/src/H5IdComponent.cpp @@ -37,16 +37,33 @@ namespace H5 { ///\param h5_id - IN: Id of an existing object ///\exception H5::DataTypeIException // Programmer Binh-Minh Ribler - 2000 +// +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It will be removed in 1.10 release. If its +// removal does not raise any problems in 1.10, it will be removed from 1.8 in +// subsequent releases. //-------------------------------------------------------------------------- IdComponent::IdComponent(const hid_t h5_id) {} +//void IdComponent::p_setId(const hid_t new_id) +//{ + //p_setId(new_id); +//} + //-------------------------------------------------------------------------- // Function: IdComponent copy constructor -///\brief Copy constructor: makes a copy of the original IdComponent object. -///\param original - IN: IdComponent instance to copy +// Purpose: This noop copy constructor is removed as a result of the data +// member "id" being moved down to sub-classes. (Mar 2015) +// Parameters: original - IN: IdComponent instance to copy // Programmer Binh-Minh Ribler - 2000 +// +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It is removed from 1.8.15 because it is +// a noop and it can be generated by the compiler if needed. //-------------------------------------------------------------------------- -IdComponent::IdComponent( const IdComponent& original ) {} +// IdComponent::IdComponent(const IdComponent& original) {} //-------------------------------------------------------------------------- // Function: IdComponent::incRefCount @@ -82,12 +99,14 @@ void IdComponent::decRefCount(const hid_t obj_id) const { if (p_valid_id(obj_id)) if (H5Idec_ref(obj_id) < 0) + { if (H5Iget_ref(obj_id) <= 0) throw IdComponentException(inMemFunc("decRefCount"), "object ref count is 0 or negative"); else throw IdComponentException(inMemFunc("decRefCount"), "decrementing object ref count failed"); + } } //-------------------------------------------------------------------------- diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h index 3208a39..068fb74 100644 --- a/c++/src/H5IdComponent.h +++ b/c++/src/H5IdComponent.h @@ -60,11 +60,18 @@ class H5_DLLCPP IdComponent { // Sets the identifier of this object to a new value. void setId(const hid_t new_id); + // *** Deprecation warning *** + // The following two constructors are no longer appropriate after the + // data member "id" had been moved to the sub-classes. + // The copy constructor is a noop and is removed in 1.8.15 and the + // other will be removed from 1.10 release, and then from 1.8 if its + // removal does not raise any problems in two 1.10 releases. + // Creates an object to hold an HDF5 identifier. IdComponent( const hid_t h5_id ); // Copy constructor: makes copy of the original IdComponent object. - IdComponent( const IdComponent& original ); + // IdComponent( const IdComponent& original ); #ifndef DOXYGEN_SHOULD_SKIP_THIS // Pure virtual function for there are various H5*close for the @@ -97,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 cd733c4..5100e12 100644 --- a/c++/src/H5Location.cpp +++ b/c++/src/H5Location.cpp @@ -70,17 +70,28 @@ H5Location::H5Location() : IdComponent() {} // object. // Parameters object_id - IN: Id of an existing HDF5 object // Programmer Binh-Minh Ribler - 2000 + +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It will be removed in 1.10 release. If its +// removal does not raise any problems in 1.10, it will be removed from 1.8 in +// subsequent releases. //-------------------------------------------------------------------------- -H5Location::H5Location(const hid_t object_id) : IdComponent(object_id) {} +H5Location::H5Location(const hid_t object_id) : IdComponent() {} //-------------------------------------------------------------------------- // Function: H5Location copy constructor -///\brief Copy constructor: makes a copy of the original H5Location -/// instance. +// Purpose: This noop copy constructor is removed as a result of the data +// member "id" being moved down to sub-classes. (Mar 2015) ///\param original - IN: H5Location instance to copy // Programmer Binh-Minh Ribler - 2000 +// +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It is removed from 1.8.15 because it is +// a noop and it can be generated by the compiler if needed. //-------------------------------------------------------------------------- -H5Location::H5Location( const H5Location& original ) : IdComponent( original ) {} +// H5Location::H5Location(const H5Location& original) : IdComponent() {} #endif // DOXYGEN_SHOULD_SKIP_THIS @@ -115,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"); @@ -147,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 { @@ -182,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"); } } @@ -893,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 { @@ -902,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()); @@ -918,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 e015825..79a8d5c 100644 --- a/c++/src/H5Location.h +++ b/c++/src/H5Location.h @@ -138,13 +138,21 @@ class H5_DLLCPP H5Location : public IdComponent { // Default constructor H5Location(); +#ifndef DOXYGEN_SHOULD_SKIP_THIS + + // *** Deprecation warning *** + // The following two constructors are no longer appropriate after the + // data member "id" had been moved to the sub-classes. + // The copy constructor is a noop and is removed in 1.8.15 and the + // other will be removed from 1.10 release, and then from 1.8 if its + // removal does not raise any problems in two 1.10 releases. + // Creates a copy of an existing object giving the location id. H5Location(const hid_t loc_id); // Copy constructor. - H5Location(const H5Location& original); + // H5Location(const H5Location& original); -#ifndef DOXYGEN_SHOULD_SKIP_THIS // 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; @@ -159,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/H5Object.cpp b/c++/src/H5Object.cpp index 94b03ab..df3f565 100644 --- a/c++/src/H5Object.cpp +++ b/c++/src/H5Object.cpp @@ -50,8 +50,26 @@ H5Object::H5Object() : H5Location() {} // object. // Parameters object_id - IN: Id of an existing HDF5 object // Programmer Binh-Minh Ribler - 2000 +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It will be removed in 1.10 release. If its +// removal does not raise any problems in 1.10, it will be removed from 1.8 in +// subsequent releases. //-------------------------------------------------------------------------- -H5Object::H5Object( const hid_t object_id ) : H5Location( object_id ) {} +H5Object::H5Object(const hid_t object_id) : H5Location() {} + +//-------------------------------------------------------------------------- +// Function: H5Object copy constructor +///\brief Copy constructor: makes a copy of the original H5Object +/// instance. +///\param original - IN: H5Object instance to copy +// Programmer Binh-Minh Ribler - 2000 +// *** Deprecation warning *** +// This constructor is no longer appropriate because the data member "id" had +// been moved to the sub-classes. It is removed from 1.8.15 because it is +// a noop and it can be generated by the compiler if needed. +//-------------------------------------------------------------------------- +// H5Object::H5Object(const H5Object& original) : H5Location() {} //-------------------------------------------------------------------------- // Function: getObjName @@ -165,15 +183,6 @@ ssize_t H5Object::getObjName(H5std_string& obj_name, size_t len) const } //-------------------------------------------------------------------------- -// Function: H5Object copy constructor -///\brief Copy constructor: makes a copy of the original H5Object -/// instance. -///\param original - IN: H5Object instance to copy -// Programmer Binh-Minh Ribler - 2000 -//-------------------------------------------------------------------------- -H5Object::H5Object( const H5Object& original ) : H5Location( original ) {} - -//-------------------------------------------------------------------------- // Function: H5Object destructor ///\brief Noop destructor. // Programmer Binh-Minh Ribler - 2000 diff --git a/c++/src/H5Object.h b/c++/src/H5Object.h index 5576d13..f8ac792 100644 --- a/c++/src/H5Object.h +++ b/c++/src/H5Object.h @@ -47,9 +47,6 @@ namespace H5 { class H5_DLLCPP H5Object : public H5Location { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS - // Copy constructor: makes copy of an H5Object object. - H5Object(const H5Object& original); - // Gets the name of this HDF5 object, i.e., Group, DataSet, or // DataType. ssize_t getObjName(char *obj_name, size_t buf_size = 0) const; @@ -63,9 +60,19 @@ class H5_DLLCPP H5Object : public H5Location { // Default constructor H5Object(); + // *** Deprecation warning *** + // The following two constructors are no longer appropriate after the + // data member "id" had been moved to the sub-classes. + // The copy constructor is a noop and is removed in 1.8.15 and the + // other will be removed from 1.10 release, and then from 1.8 if its + // removal does not raise any problems in two 1.10 releases. + // Creates a copy of an existing object giving the object id H5Object( const hid_t object_id ); + // Copy constructor: makes copy of an H5Object object. + // H5Object(const H5Object& original); + #endif // DOXYGEN_SHOULD_SKIP_THIS }; /* end class H5Object */ diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp index 5afe80f..70ec629 100644 --- a/c++/src/H5PropList.cpp +++ b/c++/src/H5PropList.cpp @@ -54,7 +54,7 @@ PropList::PropList() : IdComponent(), id(H5P_DEFAULT) {} ///\param original - IN: The original property list to copy // Programmer Binh-Minh Ribler - 2000 //-------------------------------------------------------------------------- -PropList::PropList(const PropList& original) : IdComponent(original) +PropList::PropList(const PropList& original) : IdComponent() { id = original.getId(); incRefCount(); // increment number of references to this id @@ -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 a55cfac..55c3577 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@ @@ -470,17 +465,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -558,10 +549,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -683,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 = 205 +LT_VERS_REVISION = 206 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 8b0b90f..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@ @@ -461,17 +456,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -549,10 +540,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/c++/test/dsets.cpp b/c++/test/dsets.cpp index fc0ea3a..9f1916d 100644 --- a/c++/test/dsets.cpp +++ b/c++/test/dsets.cpp @@ -56,11 +56,12 @@ const H5std_string DSET_TCONV_NAME ("tconv"); const H5std_string DSET_COMPRESS_NAME("compressed"); const H5std_string DSET_BOGUS_NAME ("bogus"); +/* Temporary filter IDs used for testing */ const int H5Z_FILTER_BOGUS = 305; -// Local prototypes 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); +// UNUSED variables caused warning, but taking them out caused failure. /*------------------------------------------------------------------------- * Function: test_create @@ -458,13 +459,10 @@ const H5Z_class2_t H5Z_BOGUS[1] = {{ *------------------------------------------------------------------------- */ static size_t -/*bogus(unsigned int UNUSED flags, size_t UNUSED cd_nelmts, - const unsigned int UNUSED cd_values[], size_t nbytes, - size_t UNUSED *buf_size, void UNUSED **buf) -BMR: removed UNUSED for now until asking Q. or R. to pass compilation*/ filter_bogus(unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf) +// 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 29f50f8..c9422ce 100644 --- a/c++/test/tattr.cpp +++ b/c++/test/tattr.cpp @@ -53,9 +53,9 @@ const size_t ATTR_MAX_DIMS = 7; /* 3-D dataset with fixed dimensions */ const int SPACE1_RANK = 3; -const int SPACE1_DIM1 = 3; -const int SPACE1_DIM2 = 15; -const int SPACE1_DIM3 = 13; +const hsize_t SPACE1_DIM1 = 3; +const hsize_t SPACE1_DIM2 = 15; +const hsize_t SPACE1_DIM3 = 13; /* Object names */ const H5std_string DSET1_NAME("Dataset1"); @@ -65,7 +65,7 @@ const H5std_string TYPE1_NAME("/Type"); /* Attribute Rank & Dimensions */ const H5std_string ATTR1_NAME("Attr1"); const int ATTR1_RANK = 1; -const int ATTR1_DIM1 = 3; +const hsize_t ATTR1_DIM1 = 3; int attr_data1[ATTR1_DIM1]={512,-234,98123}; /* Test data for 1st attribute */ // File attribute, using the same rank and dimensions as ATTR1_NAME's @@ -74,8 +74,8 @@ const H5std_string FATTR2_NAME("File Attr2"); const H5std_string ATTR2_NAME("Attr2"); const int ATTR2_RANK = 2; -const int ATTR2_DIM1 = 2; -const int ATTR2_DIM2 = 2; +const hsize_t ATTR2_DIM1 = 2; +const hsize_t ATTR2_DIM2 = 2; int attr_data2[ATTR2_DIM1][ATTR2_DIM2]={{7614,-416},{197814,-3}}; /* Test data for 2nd attribute */ const H5std_string ATTR3_NAME("Attr3"); @@ -123,7 +123,7 @@ static void test_attr_basic_write() hsize_t dims2[] = {ATTR1_DIM1}; hsize_t dims3[] = {ATTR2_DIM1,ATTR2_DIM2}; int read_data1[ATTR1_DIM1]={0}; // Buffer for reading 1st attribute - int i; + hsize_t i; // Output message about test being performed SUBTEST("Basic Attribute Writing Functions"); @@ -384,7 +384,7 @@ static void test_attr_getname() static void test_attr_rename() { int read_data1[ATTR1_DIM1]={0}; // Buffer for reading the attribute - int i; + hsize_t i; // Output message about test being performed SUBTEST("Checking for Existence and Renaming Attribute"); @@ -493,7 +493,7 @@ static void test_attr_rename() ********************************************************************/ static void test_attr_basic_read() { - int i, j; + hsize_t i, j; // Output message about test being performed SUBTEST("Basic Attribute Reading Functions"); @@ -624,7 +624,6 @@ static void test_attr_compound_read() size_t size; // Attribute datatype size as stored in file size_t offset; // Attribute datatype field offset struct attr4_struct read_data4[ATTR4_DIM1][ATTR4_DIM2]; // Buffer for reading 4th attribute - hsize_t i,j; // Output message about test being performed SUBTEST("Basic Attribute Functions"); @@ -654,7 +653,7 @@ static void test_attr_compound_read() // Get the dims of the dataspace and verify them int ndims = space.getSimpleExtentDims(dims); - if(dims[0]!=ATTR4_DIM1) + verify_val(ndims, ATTR4_RANK, "DataSpace::getSimpleExtentDims", __LINE__, __FILE__); verify_val((long)dims[0], (long)ATTR4_DIM1, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__); verify_val((long)dims[1], (long)ATTR4_DIM2, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__); @@ -673,13 +672,14 @@ static void test_attr_compound_read() // Verify that the fields have the same names as when the type // was created - for(i=0; i<fields; i++) + int j; + for(j=0; j<fields; j++) { - H5std_string fieldname = datatype.getMemberName(i); + H5std_string fieldname = datatype.getMemberName(j); if(!((fieldname == ATTR4_FIELDNAME1) || (fieldname == ATTR4_FIELDNAME2) || (fieldname == ATTR4_FIELDNAME3))) - TestErrPrintf("%d:invalid field name for field #%d: %s\n",__LINE__,i,fieldname.c_str()); + TestErrPrintf("%d:invalid field name for field #%d: %s\n",__LINE__,j,fieldname.c_str()); } /* end for */ offset = datatype.getMemberOffset(0); @@ -729,23 +729,38 @@ static void test_attr_compound_read() attr.read(datatype, read_data4); // Verify values read in - for(i=0; i<ATTR4_DIM1; i++) - for(j=0; j<ATTR4_DIM2; j++) - if(HDmemcmp(&attr_data4[i][j],&read_data4[i][j],sizeof(struct attr4_struct))) { - TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].i=%d, read_data4[%d][%d].i=%d\n",__LINE__,i,j,attr_data4[i][j].i,i,j,read_data4[i][j].i); - TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].d=%f, read_data4[%d][%d].d=%f\n",__LINE__,i,j,attr_data4[i][j].d,i,j,read_data4[i][j].d); - TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].c=%c, read_data4[%d][%d].c=%c\n",__LINE__,i,j,attr_data4[i][j].c,i,j,read_data4[i][j].c); + hsize_t ii, jj; + for(ii=0; ii<ATTR4_DIM1; ii++) + for(jj=0; jj<ATTR4_DIM2; jj++) + if(HDmemcmp(&attr_data4[ii][jj],&read_data4[ii][jj],sizeof(struct attr4_struct))) { + TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].i=%d, read_data4[%d][%d].i=%d\n",__LINE__,ii,jj,attr_data4[ii][jj].i,ii,jj,read_data4[ii][jj].i); + TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].d=%f, read_data4[%d][%d].d=%f\n",__LINE__,ii,jj,attr_data4[ii][jj].d,ii,jj,read_data4[ii][jj].d); + TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].c=%c, read_data4[%d][%d].c=%c\n",__LINE__,ii,jj,attr_data4[ii][jj].c,ii,jj,read_data4[ii][jj].c); } /* end if */ // 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() /**************************************************************** @@ -928,7 +943,7 @@ static void test_attr_mult_read() int read_data1[ATTR1_DIM1]={0}; // Buffer for reading 1st attribute int read_data2[ATTR2_DIM1][ATTR2_DIM2]={{0}}; // Buffer for reading 2nd attribute double read_data3[ATTR3_DIM1][ATTR3_DIM2][ATTR3_DIM3]={{{0}}}; // Buffer for reading 3rd attribute - int i,j,k; + hsize_t i,j,k; // Output message about test being performed SUBTEST("Multiple Attribute Reading Functions"); @@ -959,7 +974,7 @@ static void test_attr_mult_read() // Get the dims of the dataspace and verify them hsize_t dims[ATTR_MAX_DIMS]; // Attribute dimensions int ndims = space.getSimpleExtentDims(dims); - if(dims[0]!=ATTR1_DIM1) + if ((long)dims[0] != (long)ATTR1_DIM1) TestErrPrintf("%d:attribute dimensions different: dims[0]=%d, should be %d\n",__LINE__,(int)dims[0],ATTR1_DIM1); /* Verify Datatype */ @@ -1010,10 +1025,9 @@ static void test_attr_mult_read() // Get the dims of the dataspace and verify them ndims = space.getSimpleExtentDims(dims); - if(dims[0]!=ATTR2_DIM1) - TestErrPrintf("%d:attribute dimensions different: dims[0]=%d, should be %d\n",__LINE__,(int)dims[0],ATTR2_DIM1); - if(dims[1]!=ATTR2_DIM2) - TestErrPrintf("%d:attribute dimensions different: dims[1]=%d, should be %d\n",__LINE__,(int)dims[1],ATTR2_DIM2); + + verify_val((long)dims[0], (long)ATTR2_DIM1, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__); + verify_val((long)dims[1], (long)ATTR2_DIM2, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__); /* Verify Datatype */ 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/tfilter.cpp b/c++/test/tfilter.cpp index 854c7bb..3edb83a 100644 --- a/c++/test/tfilter.cpp +++ b/c++/test/tfilter.cpp @@ -57,9 +57,13 @@ static herr_t test_filter_internal(hid_t fid, const char *name, hid_t dcpl, #endif /* Temporary filter IDs used for testing */ -#define H5Z_FILTER_BOGUS 305 +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); /* This message derives from H5Z */ const H5Z_class2_t H5Z_BOGUS[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ @@ -88,9 +92,12 @@ 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 UNUSED flags, size_t UNUSED cd_nelmts, const unsigned int UNUSED *cd_values, size_t nbytes, size_t UNUSED *buf_size, void UNUSED **buf) +#endif +filter_bogus(size_t nbytes) { return nbytes; } @@ -239,7 +246,8 @@ static void test_szip_filter(H5File& file1) #else /* H5_HAVE_FILTER_SZIP */ SUBTEST("szip filter"); SKIPPED(); - puts(" Szip filter not enabled"); + H5std_string fname = file1.getFileName(); + cerr << " Szip filter not enabled for file '" << fname << "'" << endl; #endif /* H5_HAVE_FILTER_SZIP */ } // test_szip_filter diff --git a/c++/test/tobject.cpp b/c++/test/tobject.cpp index b86d7cb..2381ec2 100644 --- a/c++/test/tobject.cpp +++ b/c++/test/tobject.cpp @@ -181,19 +181,39 @@ static void test_get_objname_ontypes() Group grp = file.createGroup ("typetests"); // 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); @@ -201,14 +221,14 @@ 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(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(); copied_type.close(); new_int_type.close(); grp.close(); - file.close(); PASSED(); } // end top try block diff --git a/c++/test/trefer.cpp b/c++/test/trefer.cpp index dcfb644..9d072be 100644 --- a/c++/test/trefer.cpp +++ b/c++/test/trefer.cpp @@ -462,11 +462,11 @@ test_reference_group(void) // Check number of objects in the group dereferenced by constructor hsize_t nobjs = refgroup.getNumObjs(); - verify_val(nobjs, 3, "H5Group::getNumObjs",__LINE__,__FILE__); + verify_val(nobjs, (hsize_t)3, "H5Group::getNumObjs",__LINE__,__FILE__); // Check number of objects in the group dereferenced by ::reference nobjs = group.getNumObjs(); - verify_val(nobjs, 3, "H5Group::getNumObjs",__LINE__,__FILE__); + verify_val(nobjs, (hsize_t)3, "H5Group::getNumObjs",__LINE__,__FILE__); // Check getting file name given the group dereferenced via constructor H5std_string fname = refgroup.getFileName(); @@ -479,7 +479,7 @@ test_reference_group(void) // Unlink one of the objects in the dereferenced group, and re-check refgroup.unlink(GROUPNAME2); nobjs = refgroup.getNumObjs(); - verify_val(nobjs, 2, "H5Group::getNumObjs",__LINE__,__FILE__); + verify_val(nobjs, (hsize_t)2, "H5Group::getNumObjs",__LINE__,__FILE__); // Close resources group.close(); @@ -686,43 +686,43 @@ test_reference_region_1D(void) reg_sp.getSelectHyperBlocklist((hsize_t)0, (hsize_t)nelms, coords); // Verify values in the list - verify_val(coords[0], 2, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[1], 3, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[2], 7, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[3], 8, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[4], 12, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[5], 13, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[6], 17, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[7], 18, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[8], 22, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[9], 23, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[10], 27, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[11], 28, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[12], 32, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[13], 33, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[14], 37, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[15], 38, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[16], 42, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[17], 43, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[18], 47, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[19], 48, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[20], 52, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[21], 53, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[22], 57, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[23], 58, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[24], 62, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[25], 63, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[26], 67, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[27], 68, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[28], 72, "Hyperslab Coordinates",__LINE__,__FILE__); - verify_val(coords[29], 73, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[0], (hsize_t)2, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[1], (hsize_t)3, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[2], (hsize_t)7, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[3], (hsize_t)8, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[4],(hsize_t)12, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[5],(hsize_t)13, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[6],(hsize_t)17, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[7],(hsize_t)18, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[8],(hsize_t)22, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[9],(hsize_t)23, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[10],(hsize_t)27, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[11],(hsize_t)28, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[12],(hsize_t)32, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[13],(hsize_t)33, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[14],(hsize_t)37, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[15],(hsize_t)38, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[16],(hsize_t)42, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[17],(hsize_t)43, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[18],(hsize_t)47, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[19],(hsize_t)48, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[20],(hsize_t)52, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[21],(hsize_t)53, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[22],(hsize_t)57, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[23],(hsize_t)58, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[24],(hsize_t)62, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[25],(hsize_t)63, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[26],(hsize_t)67, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[27],(hsize_t)68, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[28],(hsize_t)72, "Hyperslab Coordinates",__LINE__,__FILE__); + verify_val(coords[29],(hsize_t)73, "Hyperslab Coordinates",__LINE__,__FILE__); HDfree(coords); // Check boundaries reg_sp.getSelectBounds(low, high); - verify_val(low[0], 2, "DataSpace::getSelectBounds",__LINE__,__FILE__); - verify_val(high[0], 73, "DataSpace::getSelectBounds",__LINE__,__FILE__); + verify_val(low[0],(hsize_t)2, "DataSpace::getSelectBounds",__LINE__,__FILE__); + verify_val(high[0],(hsize_t)73, "DataSpace::getSelectBounds",__LINE__,__FILE__); /* Close region space */ reg_sp.close(); @@ -760,8 +760,8 @@ test_reference_region_1D(void) // Check boundaries elm_sp.getSelectBounds(low, high); - verify_val(low[0], 3, "DataSpace::getSelectBounds",__LINE__,__FILE__); - verify_val(high[0], 97, "DataSpace::getSelectBounds",__LINE__,__FILE__); + verify_val(low[0],(hsize_t)3, "DataSpace::getSelectBounds",__LINE__,__FILE__); + verify_val(high[0],(hsize_t)97, "DataSpace::getSelectBounds",__LINE__,__FILE__); // Close element space elm_sp.close(); diff --git a/c++/test/ttypes.cpp b/c++/test/ttypes.cpp index e9e1427..2e64051 100644 --- a/c++/test/ttypes.cpp +++ b/c++/test/ttypes.cpp @@ -109,7 +109,7 @@ static void test_classes() { SUBTEST("PredType::getClass()"); try { - int curr_nerrors = GetTestNumErrs(); + // maybe later, int curr_nerrors = GetTestNumErrs(); // PredType::NATIVE_INT should be in H5T_INTEGER class H5T_class_t tcls = PredType::NATIVE_INT.getClass(); @@ -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/c++/test/tvlstr.cpp b/c++/test/tvlstr.cpp index a2669db..7c81a8e 100644 --- a/c++/test/tvlstr.cpp +++ b/c++/test/tvlstr.cpp @@ -60,6 +60,7 @@ const hsize_t SPACE1_DIM1 = 4; ** Note: exact copy from the C version. ** (Not used now) ****************************************************************/ +#if 0 // not used now static void *test_vlstr_alloc_custom(size_t size, void *info) { void *ret_value=NULL; // Pointer to return @@ -81,6 +82,7 @@ static void *test_vlstr_alloc_custom(size_t size, void *info) return(ret_value); } +#endif /**************************************************************** ** @@ -92,6 +94,7 @@ static void *test_vlstr_alloc_custom(size_t size, void *info) ** Note: exact copy from the C version. ** (Not used now) ****************************************************************/ +#if 0 // not used now static void test_vlstr_free_custom(void *_mem, void *info) { unsigned char *mem; @@ -111,6 +114,7 @@ static void test_vlstr_free_custom(void *_mem, void *info) HDfree(mem); } // end if } +#endif /*------------------------------------------------------------------------- * Function: test_vlstring_dataset @@ -256,7 +260,7 @@ static void test_vlstring_array_dataset() char *string_ds_check[SPACE1_DIM1]; dataset.read(string_ds_check, vlst); - int ii; + hsize_t ii; for (ii = 0; ii < SPACE1_DIM1; ii++) { if(HDstrcmp(string_ds_check[ii], string_ds_array[ii])!=0) @@ -351,25 +355,25 @@ static void test_vlstrings_special() dataset.read(rdata, vlst); // Check data read in. - hsize_t i; // counting variable - for (i=0; i<SPACE1_DIM1; i++) - if(rdata[i]!=NULL) - TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]); + hsize_t ii; // counting variable + for (ii=0; ii<SPACE1_DIM1; ii++) + if(rdata[ii]!=NULL) + TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)ii,rdata[ii]); // Write dataset to disk, then read it back. dataset.write(wdata, vlst); dataset.read(rdata, vlst); // Compare data read in. - for (i = 0; i < SPACE1_DIM1; i++) { - size_t wlen = HDstrlen(wdata[i]); - size_t rlen = HDstrlen(rdata[i]); + for (ii = 0; ii < SPACE1_DIM1; ii++) { + size_t wlen = HDstrlen(wdata[ii]); + size_t rlen = HDstrlen(rdata[ii]); if(wlen != rlen) { - TestErrPrintf("VL data lengths don't match!, strlen(wdata[%d])=%u, strlen(rdata[%d])=%u\n", (int)i, (unsigned)wlen, (int)i, (unsigned)rlen); + TestErrPrintf("VL data lengths don't match!, strlen(wdata[%d])=%u, strlen(rdata[%d])=%u\n", (int)ii, (unsigned)wlen, (int)ii, (unsigned)rlen); continue; } // end if - if(HDstrcmp(wdata[i],rdata[i]) != 0) { - TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n", (int)i, wdata[i], (int)i, rdata[i]); + if(HDstrcmp(wdata[ii],rdata[ii]) != 0) { + TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n", (int)ii, wdata[ii], (int)ii, rdata[ii]); continue; } // end if } // end for @@ -398,9 +402,9 @@ static void test_vlstrings_special() dataset.read(rdata, vlst); // Check data read in. - for (i=0; i<SPACE1_DIM1; i++) - if(rdata[i]!=NULL) - TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]); + for (ii=0; ii<SPACE1_DIM1; ii++) + if(rdata[ii]!=NULL) + TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)ii,rdata[ii]); // Try to write nil strings to disk. dataset.write(wdata2, vlst); @@ -409,9 +413,9 @@ static void test_vlstrings_special() dataset.read(rdata, vlst); // Check data read in. - for (i=0; i<SPACE1_DIM1; i++) - if(rdata[i]!=NULL) - TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]); + for (ii=0; ii<SPACE1_DIM1; ii++) + if(rdata[ii]!=NULL) + TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)ii,rdata[ii]); // Close objects and file. dataset.close(); @@ -793,7 +797,7 @@ static void test_vlstring_array_attribute() char *string_att_check[SPACE1_DIM1]; gr_attr.read(vlst, &string_att_check); - int ii; + hsize_t ii; for (ii = 0; ii < SPACE1_DIM1; ii++) { if(HDstrcmp(string_att_check[ii], string_att_array[ii])!=0) 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 a709a4d..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 @@ -370,10 +248,7 @@ H5ConversionTests (H5_FP_TO_INTEGER_OVERFLOW_WORKS "Checking IF overflows norma # The machine's conversion gets the correct value. We define the macro and disable # this kind of test until we figure out what algorithm they use. # -if (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) - set (H5_LDOUBLE_TO_LONG_SPECIAL 0 CACHE INTERNAL "Define if your system converts long double to (unsigned) long values with special algorithm") - message (STATUS "Checking IF your system converts long double to (unsigned) long values with special algorithm... no") -endif (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) +H5ConversionTests (H5_LDOUBLE_TO_LONG_SPECIAL "Checking IF your system converts long double to (unsigned) long values with special algorithm") # ---------------------------------------------------------------------- # Set the flag to indicate that the machine is using a special algorithm # to convert some values of '(unsigned) long' to 'long double' values. @@ -382,49 +257,12 @@ endif (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) # ..., 7fffff..., the compiler uses a unknown algorithm. We define a # macro and skip the test for now until we know about the algorithm. # -if (H5_LONG_TO_LDOUBLE_SPECIAL MATCHES ^H5_LONG_TO_LDOUBLE_SPECIAL$) - set (H5_LONG_TO_LDOUBLE_SPECIAL 0 CACHE INTERNAL "Define if your system can convert (unsigned) long to long double values with special algorithm") - message (STATUS "Checking IF your system can convert (unsigned) long to long double values with special algorithm... no") -endif (H5_LONG_TO_LDOUBLE_SPECIAL MATCHES ^H5_LONG_TO_LDOUBLE_SPECIAL$) -# ---------------------------------------------------------------------- -# 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$) +H5ConversionTests (H5_LONG_TO_LDOUBLE_SPECIAL "Checking IF your system can convert (unsigned) long to long double values with special algorithm") # ---------------------------------------------------------------------- # 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 1ee9842..cd2e8bb 100644 --- a/config/cmake/ConversionTests.c +++ b/config/cmake/ConversionTests.c @@ -1,191 +1,119 @@ -#ifdef H5_FP_TO_INTEGER_OVERFLOW_WORKS_TEST +#ifdef H5_LDOUBLE_TO_LONG_SPECIAL_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_LLONG_ACCURATE_TEST -int main(void) -{ long double ld = 20041683600089727.779961L; - long long ll; - unsigned long long ull; + long ll; + unsigned 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; - } + 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); -} -#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 +#ifdef H5_LONG_TO_LDOUBLE_SPECIAL_TEST + int main(void) { long double ld; - long long ll; - unsigned long long ull; + long ll; + unsigned long ull; unsigned char s[16]; - int flag=0, ret=0; + 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; + 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(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 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; + 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); } + #endif #ifdef H5_NO_ALIGNMENT_RESTRICTIONS_TEST @@ -241,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 a557364..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@ @@ -139,18 +116,6 @@ /* Define if support for deflate (zlib) filter is enabled */ #cmakedefine H5_HAVE_FILTER_DEFLATE @H5_HAVE_FILTER_DEFLATE@ -/* Define if support for Fletcher32 checksum is enabled */ -#cmakedefine H5_HAVE_FILTER_FLETCHER32 @H5_HAVE_FILTER_FLETCHER32@ - -/* Define if support for nbit filter is enabled */ -#cmakedefine H5_HAVE_FILTER_NBIT @H5_HAVE_FILTER_NBIT@ - -/* Define if support for scaleoffset filter is enabled */ -#cmakedefine H5_HAVE_FILTER_SCALEOFFSET @H5_HAVE_FILTER_SCALEOFFSET@ - -/* Define if support for shuffle filter is enabled */ -#cmakedefine H5_HAVE_FILTER_SHUFFLE @H5_HAVE_FILTER_SHUFFLE@ - /* Define if support for szip filter is enabled */ #cmakedefine H5_HAVE_FILTER_SZIP @H5_HAVE_FILTER_SZIP@ @@ -230,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@ @@ -461,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@ @@ -690,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@ @@ -720,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 7b7cf0a..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) @@ -110,16 +110,17 @@ set (CTEST_CONFIGURE_COMMAND set($ENV{LC_MESSAGES} "en_EN") #----------------------------------------------------------------------------- - ## NORMAL process - ## -------------------------- - CTEST_START (Experimental) - CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}") - CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}") - CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND) - CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res) - if(res GREATER 0) - message (FATAL_ERROR "tests FAILED") - endif(res GREATER 0) +configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake) +ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}") +## NORMAL process +## -------------------------- +ctest_start (Experimental) +ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}") +ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND) +ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res) +if(res GREATER 0) + message (FATAL_ERROR "tests FAILED") +endif(res GREATER 0) #----------------------------------------------------------------------------- ############################################################################################################## message(STATUS "DONE")
\ No newline at end of file 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/cmake/patch.xml b/config/cmake/patch.xml new file mode 100644 index 0000000..70571c5 --- /dev/null +++ b/config/cmake/patch.xml @@ -0,0 +1,11 @@ +<CPackWiXPatch> + <CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll"> + <Environment Id="PATH" + Name="PATH" + Value="[CM_DP_libraries.bin]" + Permanent="no" + Part="last" + Action="set" + System="yes"/> + </CPackWiXFragment> +</CPackWiXPatch> 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 d442ca9..41d7e81 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 = 205 +LT_VERS_REVISION = 206 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'} @@ -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.215. +# Generated by GNU Autoconf 2.69 for HDF5 1.9.216. # # 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.215' -PACKAGE_STRING='HDF5 1.9.215' +PACKAGE_VERSION='1.9.216' +PACKAGE_STRING='HDF5 1.9.216' 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 @@ -668,18 +666,12 @@ CONFIG_DATE H5_VERSION DIRECT_VFD_CONDITIONAL_FALSE DIRECT_VFD_CONDITIONAL_TRUE -USE_FILTER_SCALEOFFSET -USE_FILTER_NBIT -USE_FILTER_FLETCHER32 -USE_FILTER_SHUFFLE -FILTERS ADD_PARALLEL_FILES USINGMEMCHECKER CLEARFILEBUF INSTRUMENT_LIBRARY TRACE_API DEBUG_PKG -H5_LONE_COLON HAVE_PTHREAD BUILD_SHARED_SZIP_CONDITIONAL_FALSE BUILD_SHARED_SZIP_CONDITIONAL_TRUE @@ -699,6 +691,8 @@ DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR +DLLTOOL +OBJDUMP LN_S NM ac_ct_DUMPBIN @@ -709,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 @@ -920,11 +908,9 @@ enable_clear_file_buffers enable_using_memchecker enable_parallel with_mpe -enable_filters enable_direct_vfd with_default_plugindir enable_dconv_exception -enable_dconv_accuracy enable_build_all enable_deprecated_symbols with_default_api_version @@ -1486,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.215 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.216 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1556,7 +1542,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.215:";; + short | recursive ) echo "Configuration of HDF5 1.9.216:";; esac cat <<\_ACEOF @@ -1578,7 +1564,7 @@ Optional Features: --enable-fortran2003 Compile the Fortran 2003 interface, must also specify --enable-fortran [default=no] --enable-cxx Compile the C++ interface [default=no] - --enable-hl Enable the high-level library [default=yes] + --enable-hl Enable the high level library [default=yes] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] @@ -1589,7 +1575,10 @@ Optional Features: --disable-sharedlib-rpath Disable use of the '=Wl,-rpath' linker option --enable-production Determines how to run the compiler. - --enable-threadsafe Enable thread-safe capability + --enable-threadsafe Enable thread-safe capability. This will disable the + high-level library. You can override this behavior + by specifying --enable-hl and --enable-unsupported. + [default=no] --enable-debug=all Turn on debugging in all packages. One may also specify a comma-separated list of package names without the leading H5 or the word no. The default @@ -1613,17 +1602,12 @@ Optional Features: picky about it's memory operations and also disables the library's free space manager code. Default=no. --enable-parallel Search for MPI-IO and MPI support files - --enable-filters=all Turn on all internal I/O filters. One may also - specify a comma-separated list of filters or the - word no. The default is all internal I/O filters. --enable-direct-vfd Build the direct I/O virtual file driver (VFD). This is based on the POSIX (sec2) VFD and requires the open() call to take the O_DIRECT flag. [default=no] --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 @@ -1657,7 +1641,7 @@ Optional Packages: --with-szlib=DIR Use szlib library for external szlib I/O filter [default=no] --with-pthread=DIR Specify alternative path to Pthreads library when - thread-safe capability is built + thread-safe capability is built. --with-mpe=DIR Use MPE instrumentation [default=no] --with-default-plugindir=location Specify default location for plugins @@ -1747,7 +1731,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.215 +HDF5 configure 1.9.216 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2684,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.215, which was +It was created by HDF5 $as_me 1.9.216, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3555,7 +3539,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.215' + VERSION='1.9.216' cat >>confdefs.h <<_ACEOF @@ -3836,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}" @@ -3857,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 @@ -3921,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`" @@ -3940,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`" @@ -3995,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 ;; @@ -7608,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 @@ -7771,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 @@ -9291,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 : @@ -9635,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 : @@ -11708,6 +11300,8 @@ enable_dlopen=yes + enable_win32_dll=no + # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : @@ -21920,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. ## @@ -22297,7 +21813,6 @@ fi fi - ## ---------------------------------------------------------------------- ## Check for system header files. ## @@ -22669,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 @@ -22941,7 +22456,7 @@ case "$host_cpu-$host_vendor-$host_os" in ## Need to add this so that O_DIRECT is visible for the direct ## VFD on Linux systems. - AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS" + H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS" ## Also add BSD support on Linux systems, so <features.h> defines ## __USE_BSD, which is required to get the prototype for strdup @@ -22951,7 +22466,12 @@ case "$host_cpu-$host_vendor-$host_os" in ## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html ## however, we do not do this since it breaks the big test on some ## older platforms. - AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS" + 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 @@ -25019,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" @@ -25226,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; } ;; @@ -25246,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" @@ -25487,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" @@ -25618,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 : @@ -25639,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 @@ -25779,6 +25286,10 @@ if test "${enable_threadsafe+set}" = set; then : fi +## NOTE: The high-level, C++, and Fortran interfaces are not compatible +## with the thread-safety option because the lock is not hoisted +## into the higher-level API calls. + ## The --enable-threadsafe flag is not compatible with --enable-cxx. ## If the user tried to specify both flags, throw an error, unless ## they also provided the --enable-unsupported flag. @@ -25788,7 +25299,7 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## --enable-threadsafe is also incompatible with --enable-fortran, unless +## --enable-threadsafe is also incompatible with --enable-fortran unless ## --enable-unsupported has been specified on the configure line. if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then if test "X${HDF_FORTRAN}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then @@ -25796,6 +25307,7 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi + case "X-$THREADSAFE" in X-|X-no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -25819,14 +25331,14 @@ $as_echo "#define HAVE_THREADSAFE 1" >>confdefs.h ## ---------------------------------------------------------------------- - ## Is the pthreads library present? It has a header file `pthread.h' and + ## Is the Pthreads library present? It has a header file `pthread.h' and ## a library `-lpthread' and their locations might be specified with the ## `--with-pthread' command-line switch. The value is an include path ## and/or a library path. If the library path is specified then it must ## be preceded by a comma. ## ## Thread-safety in HDF5 only uses Pthreads via configure, so the - ## default is "yes", though this only has an effect when + ## default is "check", though this only has an effect when ## --enable-threadsafe is specified. HAVE_PTHREAD=yes @@ -25834,12 +25346,12 @@ $as_echo "#define HAVE_THREADSAFE 1" >>confdefs.h if test "${with_pthread+set}" = set; then : withval=$with_pthread; else - withval=yes + withval=check fi case "$withval" in - yes) + check | yes) for ac_header in pthread.h do : ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" @@ -25913,11 +25425,7 @@ fi fi ;; no) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread" >&5 -$as_echo_n "checking for pthread... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: suppressed" >&5 -$as_echo "suppressed" >&6; } - unset HAVE_PTHREAD + as_fn_error $? "Must use Pthreads with thread safety" "$LINENO" 5 ;; *) case "$withval" in @@ -25933,15 +25441,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$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" @@ -26099,6 +25598,82 @@ fi fi ;; esac + + ## ---------------------------------------------------------------------- + ## Check if pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) + ## is supported on this system + ## + ## Unfortunately, this probably needs to be an AC_RUN_IFELSE since + ## it's impossible to determine if PTHREAD_SCOPE_SYSTEM is + ## supported a priori. POSIX.1-2001 requires that a conformant + ## system need only support one of SYSTEM or PROCESS scopes. + ## + ## For cross-compiling, we've added a pessimistic 'no'. You can + ## hand-hack the config file if you know otherwise. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Pthreads supports system scope" >&5 +$as_echo_n "checking Pthreads supports system scope... " >&6; } + if ${hdf5_cv_system_scope_threads+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + hdf5_cv_system_scope_threads=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if STDC_HEADERS + #include <stdlib.h> + #include <pthread.h> + #endif + +#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 () +{ + + 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; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + hdf5_cv_system_scope_threads=yes +else + hdf5_cv_system_scope_threads=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_system_scope_threads} = "yes"; then + +$as_echo "#define SYSTEM_SCOPE_THREADS 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; } + { $as_echo "$as_me:${as_lineno-$LINENO}: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&5 +$as_echo "$as_me: Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM)." >&6;} + fi fi ## ---------------------------------------------------------------------- @@ -26546,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" @@ -26559,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 ## @@ -26969,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 : @@ -27001,62 +26471,6 @@ cat >>confdefs.h <<_ACEOF _ACEOF -## ---------------------------------------------------------------------- -## Check if pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) -## is supported on this system -## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Threads support system scope" >&5 -$as_echo_n "checking Threads support system scope... " >&6; } -if ${hdf5_cv_system_scope_threads+:} 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 STDC_HEADERS - #include <stdlib.h> - #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); - } - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - hdf5_cv_system_scope_threads=yes -else - hdf5_cv_system_scope_threads=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_system_scope_threads} = "yes"; then - -$as_echo "#define SYSTEM_SCOPE_THREADS 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 ## ---------------------------------------------------------------------- ## Turn on debugging by setting compiler flags @@ -27741,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" @@ -27913,81 +27318,6 @@ $as_echo "#define HAVE_MPE 1" >>confdefs.h fi fi - -## ---------------------------------------------------------------------- -## Turn on internal I/O filters by setting macros in header files -## Internal I/O filters are contained entirely within the library and do -## not depend on external headers or libraries. The shuffle filter is -## an example of an internal filter, while the gzip filter is an example of -## an external filter. Each external filter is controlled with an -## "--with-foo=" configure flag. -## - - USE_FILTER_SHUFFLE="no" - USE_FILTER_FLETCHER32="no" - USE_FILTER_NBIT="no" - USE_FILTER_SCALEOFFSET="no" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for I/O filters" >&5 -$as_echo_n "checking for I/O filters... " >&6; } -# Check whether --enable-filters was given. -if test "${enable_filters+set}" = set; then : - enableval=$enable_filters; FILTERS=$enableval -fi - - -## Eventually: all_filters="shuffle,foo,bar,baz" -all_filters="shuffle,fletcher32,nbit,scaleoffset" -case "X-$FILTERS" in - X-|X-all) - FILTERS=$all_filters - { $as_echo "$as_me:${as_lineno-$LINENO}: result: all ($FILTERS)" >&5 -$as_echo "all ($FILTERS)" >&6; } - ;; - X-no|X-none) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - FILTERS="none" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILTERS" >&5 -$as_echo "$FILTERS" >&6; } - ;; -esac - -if test -n "$FILTERS"; then - for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do - ## ------------------------------------------------------------------ - ## Have to use separate 'if' construct for each filter, so that - ## autoheader can detect the AC_DEFINE for each one... - ## - if test $filter = "SHUFFLE"; then - -$as_echo "#define HAVE_FILTER_SHUFFLE 1" >>confdefs.h - - USE_FILTER_SHUFFLE="yes" - fi - if test $filter = "FLETCHER32"; then - -$as_echo "#define HAVE_FILTER_FLETCHER32 1" >>confdefs.h - - USE_FILTER_FLETCHER32="yes" - fi - if test $filter = "NBIT"; then - -$as_echo "#define HAVE_FILTER_NBIT 1" >>confdefs.h - - USE_FILTER_NBIT="yes" - fi - if test $filter = "SCALEOFFSET"; then - -$as_echo "#define HAVE_FILTER_SCALEOFFSET 1" >>confdefs.h - - USE_FILTER_SCALEOFFSET="yes" - fi - done -fi - - ## ---------------------------------------------------------------------- ## Check if Direct I/O driver is enabled by --enable-direct-vfd ## @@ -28120,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 @@ -28221,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 @@ -29006,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 : @@ -29111,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); - } - -_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 + #include <string.h> -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 @@ -29362,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; } @@ -29401,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. @@ -29512,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. @@ -29862,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 @@ -30306,7 +28562,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -HDF5 config.lt 1.9.215 +HDF5 config.lt 1.9.216 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -30349,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"`' @@ -30385,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"`' @@ -30596,10 +28851,7 @@ _LTECHO_EOF' } # Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ +for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ @@ -30612,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 \ @@ -30862,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 @@ -30951,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 @@ -30963,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 @@ -31785,23 +30036,6 @@ touch ./config/stamp2 ## Finally the makefiles test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 -## Post processing to patch up some deficiencies in libtool -case $host_os in - linux* | freebsd* ) - ## If gcc is not used, need to set $wl to use "-Wl," - if $CC -v 2>&1 | grep '^gcc' > /dev/null ; then - : using gcc - else - echo 'fixing $wl in' $ofile -ed - $ofile <<EOF 2> /dev/null -g/^wl=""/s//wl="-Wl,"/ -w -q -EOF - fi - ;; -esac - ## Are we compiling static libraries, shared libraries, or both? This ## is only used for the libhdf5.settings file. We can't just look at ## $enable_static and $enable_shared because if they're yes the ltconfig @@ -32010,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 @@ -32448,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.215, which was +This file was extended by HDF5 $as_me 1.9.216, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -32514,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.215 +HDF5 config.status 1.9.216 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -32643,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"`' @@ -32679,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"`' @@ -32890,10 +31119,7 @@ _LTECHO_EOF' } # Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ +for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ @@ -32906,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 \ @@ -33946,15 +32174,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 @@ -34035,6 +32254,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 @@ -34047,6 +32269,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 f53c8a6..27e856a 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.215], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.216], [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 ;; @@ -538,7 +521,7 @@ AC_SUBST(HL_FOR) HL_FOR="" AC_MSG_CHECKING([if high level library is enabled]) AC_ARG_ENABLE([hl], [AS_HELP_STRING([--enable-hl], - [Enable the high-level library [default=yes]])], + [Enable the high level library [default=yes]])], [HDF5_HL=$enableval], [HDF5_HL=yes]) @@ -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 @@ -1121,7 +964,7 @@ case "$host_cpu-$host_vendor-$host_os" in ## Need to add this so that O_DIRECT is visible for the direct ## VFD on Linux systems. - AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS" + H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS" ## Also add BSD support on Linux systems, so <features.h> defines ## __USE_BSD, which is required to get the prototype for strdup @@ -1131,7 +974,12 @@ case "$host_cpu-$host_vendor-$host_os" in ## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html ## however, we do not do this since it breaks the big test on some ## older platforms. - AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS" + 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]) @@ -1596,9 +1417,15 @@ AC_CACHE_SAVE AC_MSG_CHECKING([for thread safe support]) AC_ARG_ENABLE([threadsafe], [AS_HELP_STRING([--enable-threadsafe], - [Enable thread-safe capability])], + [Enable thread-safe capability. This will disable the high-level library. + You can override this behavior by specifying --enable-hl and --enable-unsupported. + [default=no]])], [THREADSAFE=$enableval]) +## NOTE: The high-level, C++, and Fortran interfaces are not compatible +## with the thread-safety option because the lock is not hoisted +## into the higher-level API calls. + ## The --enable-threadsafe flag is not compatible with --enable-cxx. ## If the user tried to specify both flags, throw an error, unless ## they also provided the --enable-unsupported flag. @@ -1608,7 +1435,7 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## --enable-threadsafe is also incompatible with --enable-fortran, unless +## --enable-threadsafe is also incompatible with --enable-fortran unless ## --enable-unsupported has been specified on the configure line. if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then if test "X${HDF_FORTRAN}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then @@ -1616,6 +1443,7 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi + case "X-$THREADSAFE" in X-|X-no) AC_MSG_RESULT([no]) @@ -1634,32 +1462,31 @@ if test "X$THREADSAFE" = "Xyes"; then AC_DEFINE([HAVE_THREADSAFE], [1], [Define if we have thread safe support]) ## ---------------------------------------------------------------------- - ## Is the pthreads library present? It has a header file `pthread.h' and + ## Is the Pthreads library present? It has a header file `pthread.h' and ## a library `-lpthread' and their locations might be specified with the ## `--with-pthread' command-line switch. The value is an include path ## and/or a library path. If the library path is specified then it must ## be preceded by a comma. ## ## Thread-safety in HDF5 only uses Pthreads via configure, so the - ## default is "yes", though this only has an effect when + ## default is "check", though this only has an effect when ## --enable-threadsafe is specified. AC_SUBST([HAVE_PTHREAD]) HAVE_PTHREAD=yes AC_ARG_WITH([pthread], [AS_HELP_STRING([--with-pthread=DIR], - [Specify alternative path to Pthreads library when thread-safe capability is built])],, - [withval=yes]) + [Specify alternative path to Pthreads library when + thread-safe capability is built.])],, + [withval=check]) case "$withval" in - yes) + check | yes) AC_CHECK_HEADERS([pthread.h],, [unset HAVE_PTHREAD]) if test "x$HAVE_PTHREAD" = "xyes"; then AC_CHECK_LIB([pthread], [pthread_self],, [unset HAVE_PTHREAD]) fi ;; no) - AC_MSG_CHECKING([for pthread]) - AC_MSG_RESULT([suppressed]) - unset HAVE_PTHREAD + AC_MSG_ERROR([Must use Pthreads with thread safety]) ;; *) case "$withval" in @@ -1675,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" @@ -1708,6 +1526,44 @@ if test "X$THREADSAFE" = "Xyes"; then fi ;; esac + + ## ---------------------------------------------------------------------- + ## Check if pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) + ## is supported on this system + ## + ## Unfortunately, this probably needs to be an AC_RUN_IFELSE since + ## it's impossible to determine if PTHREAD_SCOPE_SYSTEM is + ## supported a priori. POSIX.1-2001 requires that a conformant + ## system need only support one of SYSTEM or PROCESS scopes. + ## + ## For cross-compiling, we've added a pessimistic 'no'. You can + ## hand-hack the config file if you know otherwise. + AC_MSG_CHECKING([Pthreads supports system scope]) + AC_CACHE_VAL([hdf5_cv_system_scope_threads], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([ + #if STDC_HEADERS + #include <stdlib.h> + #include <pthread.h> + #endif + ],[ + 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])]) + + if test ${hdf5_cv_system_scope_threads} = "yes"; then + AC_DEFINE([SYSTEM_SCOPE_THREADS], [1], + [Define if your system supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) call.]) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_NOTICE([Always 'no' if cross-compiling. Edit the config file if your platform supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM).]) + fi fi ## ---------------------------------------------------------------------- @@ -1814,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 @@ -1943,55 +1721,24 @@ 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]) AC_DEFINE_UNQUOTED([PRINTF_LL_WIDTH], ["$hdf5_cv_printf_ll"], [Width for printf() for type `long long' or `__int64', use `ll']) -## ---------------------------------------------------------------------- -## Check if pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) -## is supported on this system -## -AC_MSG_CHECKING([Threads support system scope]) -AC_CACHE_VAL([hdf5_cv_system_scope_threads], - [AC_TRY_RUN([ - #if STDC_HEADERS - #include <stdlib.h> - #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],)]) - -if test ${hdf5_cv_system_scope_threads} = "yes"; then - AC_DEFINE([SYSTEM_SCOPE_THREADS], [1], - [Define if your system supports pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM) call.]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi ## ---------------------------------------------------------------------- ## Turn on debugging by setting compiler flags @@ -2375,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" @@ -2412,75 +2150,6 @@ if test -n "$PARALLEL"; then fi fi - -## ---------------------------------------------------------------------- -## Turn on internal I/O filters by setting macros in header files -## Internal I/O filters are contained entirely within the library and do -## not depend on external headers or libraries. The shuffle filter is -## an example of an internal filter, while the gzip filter is an example of -## an external filter. Each external filter is controlled with an -## "--with-foo=" configure flag. -## -AC_SUBST([FILTERS]) -AC_SUBST([USE_FILTER_SHUFFLE]) USE_FILTER_SHUFFLE="no" -AC_SUBST([USE_FILTER_FLETCHER32]) USE_FILTER_FLETCHER32="no" -AC_SUBST([USE_FILTER_NBIT]) USE_FILTER_NBIT="no" -AC_SUBST([USE_FILTER_SCALEOFFSET]) USE_FILTER_SCALEOFFSET="no" -AC_MSG_CHECKING([for I/O filters]) -AC_ARG_ENABLE([filters], - [AS_HELP_STRING([--enable-filters=all], - [Turn on all internal I/O filters. One may - also specify a comma-separated list of filters - or the word no. The default is all internal - I/O filters.])], - [FILTERS=$enableval]) - -## Eventually: all_filters="shuffle,foo,bar,baz" -all_filters="shuffle,fletcher32,nbit,scaleoffset" -case "X-$FILTERS" in - X-|X-all) - FILTERS=$all_filters - AC_MSG_RESULT([all ($FILTERS)]) - ;; - X-no|X-none) - AC_MSG_RESULT([none]) - FILTERS="none" - ;; - *) - AC_MSG_RESULT([$FILTERS]) - ;; -esac - -if test -n "$FILTERS"; then - for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do - ## ------------------------------------------------------------------ - ## Have to use separate 'if' construct for each filter, so that - ## autoheader can detect the AC_DEFINE for each one... - ## - if test $filter = "SHUFFLE"; then - AC_DEFINE([HAVE_FILTER_SHUFFLE], [1], - [Define if support for shuffle filter is enabled]) - USE_FILTER_SHUFFLE="yes" - fi - if test $filter = "FLETCHER32"; then - AC_DEFINE([HAVE_FILTER_FLETCHER32], [1], - [Define if support for Fletcher32 checksum is enabled]) - USE_FILTER_FLETCHER32="yes" - fi - if test $filter = "NBIT"; then - AC_DEFINE([HAVE_FILTER_NBIT], [1], - [Define if support for nbit filter is enabled]) - USE_FILTER_NBIT="yes" - fi - if test $filter = "SCALEOFFSET"; then - AC_DEFINE([HAVE_FILTER_SCALEOFFSET], [1], - [Define if support for scaleoffset filter is enabled]) - USE_FILTER_SCALEOFFSET="yes" - fi - done -fi - - ## ---------------------------------------------------------------------- ## Check if Direct I/O driver is enabled by --enable-direct-vfd ## @@ -2565,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 @@ -2638,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 @@ -3162,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 @@ -3241,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 @@ -3309,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. @@ -3567,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. @@ -3819,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 @@ -3866,23 +2767,6 @@ touch ./config/stamp2 ## Finally the makefiles test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 -## Post processing to patch up some deficiencies in libtool -case $host_os in - linux* | freebsd* ) - ## If gcc is not used, need to set $wl to use "-Wl," - if $CC -v 2>&1 | grep '^gcc' > /dev/null ; then - : using gcc - else - echo 'fixing $wl in' $ofile -ed - $ofile <<EOF 2> /dev/null -g/^wl=""/s//wl="-Wl,"/ -w -q -EOF - fi - ;; -esac - ## Are we compiling static libraries, shared libraries, or both? This ## is only used for the libhdf5.settings file. We can't just look at ## $enable_static and $enable_shared because if they're yes the ltconfig diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 50d865b..f22e355 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -45,7 +45,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}) @@ -53,7 +53,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 b1958d8..9a57439 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@ @@ -404,17 +402,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -477,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@ @@ -492,10 +486,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/examples/run-c-ex.sh.in b/examples/run-c-ex.sh.in index 0d4ada4..fe19bc8 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 74914fb..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@ @@ -460,17 +458,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -548,10 +542,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 eca49ec..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@ @@ -412,17 +410,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -485,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@ @@ -500,10 +494,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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/H5Af.c b/fortran/src/H5Af.c index 8291320..240fbc3 100644 --- a/fortran/src/H5Af.c +++ b/fortran/src/H5Af.c @@ -1652,7 +1652,7 @@ nh5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder, *corder = (int_f)ainfo.corder; *cset = (int_f)ainfo.cset; - *data_size = (hsize_t)ainfo.data_size; + *data_size = (hsize_t_f)ainfo.data_size; done: return ret_value; @@ -1728,7 +1728,7 @@ nh5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, *corder_valid = 1; *corder = (int_f)ainfo.corder; *cset = (int_f)ainfo.cset; - *data_size = (hsize_t)ainfo.data_size; + *data_size = (hsize_t_f)ainfo.data_size; done: if(c_obj_name) @@ -1797,7 +1797,7 @@ nh5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, *corder_valid = 1; *corder = (int_f)ainfo.corder; *cset = (int_f)ainfo.cset; - *data_size = (hsize_t)ainfo.data_size; + *data_size = (hsize_t_f)ainfo.data_size; done: if(c_obj_name) diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c index ecfa946..f4082a9 100644 --- a/fortran/src/H5Df.c +++ b/fortran/src/H5Df.c @@ -621,7 +621,7 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_ hid_t c_file_space_id; hid_t c_xfer_prp; hobj_ref_t *buf_c; - int i, n; + unsigned int i, n; /* * Define transfer property @@ -631,8 +631,8 @@ 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 = (int)*dims; - buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n)); + n = (unsigned int)*dims; + 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)); @@ -688,9 +688,9 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_ hid_t c_file_space_id; hid_t c_xfer_prp; hdset_reg_ref_t *buf_c = NULL; - int i, n; + unsigned int i, n; - n = (int)*dims; + n = (unsigned int)*dims; /* * Define transfer property */ @@ -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); @@ -1494,7 +1494,7 @@ nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims) * Reverse dimensions due to C-FORTRAN storage order. */ for(i = 0; i < rank; i++) - c_dims[i] = dims[rank - i - 1]; + c_dims[i] = (hsize_t)dims[rank - i - 1]; status = H5Dset_extent((hid_t)*dset_id, c_dims); @@ -1642,7 +1642,7 @@ nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_ hsize_t num_elem; max_len = (size_t)dims[0]; - num_elem = dims[1]; + num_elem = (hsize_t)dims[1]; c_dset_id = (hid_t)*dset_id; c_mem_type_id = (hid_t)*mem_type_id; @@ -1711,7 +1711,7 @@ nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_s size_t max_len; hvl_t *c_buf; - hssize_t i; + hsize_t i; hssize_t num_elem; c_dset_id = (hid_t)*dset_id; @@ -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; @@ -1731,7 +1731,7 @@ nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_s */ status = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, c_buf); if ( status < 0 ) goto DONE; - for (i=0; i < num_elem; i++) { + for (i=0; i < (hsize_t)num_elem; i++) { len[i] = (size_t_f)c_buf[i].len; memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(int_f)); } @@ -1786,7 +1786,7 @@ nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_sp hsize_t num_elem; max_len = (size_t)dims[0]; - num_elem = dims[1]; + num_elem = (hsize_t)dims[1]; c_dset_id = (hid_t)*dset_id; c_mem_type_id = (hid_t)*mem_type_id; @@ -1873,7 +1873,7 @@ nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa hsize_t num_elem; max_len = (size_t)dims[0]; - num_elem = dims[1]; + num_elem = (hsize_t)dims[1]; c_dset_id = (hid_t)*dset_id; c_mem_type_id = (hid_t)*mem_type_id; @@ -1957,7 +1957,7 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa hsize_t num_elem; max_len = (size_t)dims[0]; - num_elem = dims[1]; + num_elem = (hsize_t)dims[1]; c_dset_id = (hid_t)*dset_id; c_mem_type_id = (hid_t)*mem_type_id; @@ -2026,7 +2026,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac size_t max_len; hvl_t *c_buf; - hssize_t i; + hsize_t i; hssize_t num_elem; c_dset_id = (hid_t)*dset_id; @@ -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; @@ -2046,7 +2046,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac */ status = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, c_buf); if ( status <0 ) goto DONE; - for (i=0; i < num_elem; i++) { + for (i=0; i < (hsize_t)num_elem; i++) { len[i] = (size_t_f)c_buf[i].len; memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(real_f)); } 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 5ebb3e7..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 */ @@ -178,7 +178,7 @@ nh5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx, char *c_name = NULL; size_t c_obj_namelen; char *c_obj_name = NULL; - hsize_t c_idx = *idx; + hsize_t c_idx = (hsize_t)*idx; hid_t gid = (-1); /* Temporary group ID */ int ret_value = -1; @@ -191,7 +191,7 @@ nh5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx, /* * Allocate buffer to hold name of the object */ - c_obj_namelen = *obj_namelen; + c_obj_namelen = (size_t)*obj_namelen; if(c_obj_namelen) if(NULL == (c_obj_name = (char *)HDmalloc(c_obj_namelen + 1))) goto DONE; @@ -352,6 +352,23 @@ nh5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name, goto DONE; break; + /* Cases below were added to remove the warnings in gcc 4.9.2 and probably other */ + case H5L_TYPE_EXTERNAL: + ret_value = -1; + goto DONE; + break; + + case H5L_TYPE_MAX: + ret_value = -1; + goto DONE; + break; + + case H5L_TYPE_ERROR: + ret_value = -1; + goto DONE; + break; + /* End of the warnings fix */ + default: /* Unknown/unhandled link type */ goto DONE; } /* end switch */ @@ -421,6 +438,22 @@ nh5glink2_c(hid_t_f *cur_loc_id, _fcd cur_name, int_f *cur_namelen, if(H5Lcreate_soft(c_cur_name, (hid_t)*new_loc_id, c_new_name, H5P_DEFAULT, H5P_DEFAULT) < 0) goto DONE; break; + /* Cases below were added to remove the warnings in gcc 4.9.2 and probably other */ + case H5L_TYPE_EXTERNAL: + ret_value = -1; + goto DONE; + break; + + case H5L_TYPE_MAX: + ret_value = -1; + goto DONE; + break; + + case H5L_TYPE_ERROR: + ret_value = -1; + goto DONE; + break; + /* End of the warnings fix */ default: /* Unknown/unhandled link type */ goto DONE; 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 e35de21..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 = *namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) return ret_value; /* @@ -567,7 +565,7 @@ h5rget_name_ptr_c (hid_t_f *loc_id, int_f *ref_type, void *ref, _fcd name, size_ /* * Allocate buffer to hold name of an attribute */ - if ((c_buf = HDmalloc(c_bufsize)) == NULL) + if ((c_buf = (char *)HDmalloc(c_bufsize)) == NULL) return ret_value; /* diff --git a/fortran/src/H5Rff_F03.f90 b/fortran/src/H5Rff_F03.f90 index fc4b2f3..8f40607 100644 --- a/fortran/src/H5Rff_F03.f90 +++ b/fortran/src/H5Rff_F03.f90 @@ -14,18 +14,18 @@ ! ! COPYRIGHT ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -! 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. * +! 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. * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! ! NOTES @@ -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/H5Rff_F90.f90 b/fortran/src/H5Rff_F90.f90 index 3871d99..ac45857 100644 --- a/fortran/src/H5Rff_F90.f90 +++ b/fortran/src/H5Rff_F90.f90 @@ -14,18 +14,18 @@ ! ! COPYRIGHT ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -! 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. * +! 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. * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! ! NOTES 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/H5match_types.c b/fortran/src/H5match_types.c index 3fa0efc..c4b7f73 100644 --- a/fortran/src/H5match_types.c +++ b/fortran/src/H5match_types.c @@ -48,11 +48,9 @@ FILE * fort_header; #define FFILE "H5fortran_types.f90" /* Prototypes for the write routines */ -void writeTypedef(const char* c_type, unsigned int size); -void writeFloatTypedef(const char* c_type, unsigned int size); -void writeTypedefDefault(unsigned int size); -void writeToFiles(const char* fortran_type, const char* c_type, int size, unsigned int kind); -void writeFloatToFiles(const char* fortran_type, const char* c_type, int size, unsigned int kind); +void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size); +void writeTypedefDefault(const char* c_typedef, unsigned int size); +void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind); static void initCfile(void) @@ -121,38 +119,23 @@ endFfile(void) } /* Define a c_int_x type in the C header */ -void writeTypedef(const char* c_type, unsigned int size) +void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size) { - fprintf(c_header, "#define c_int_%u %s\n", size, c_type); -} - -/* Define a c_float_x type in the C header */ -void writeFloatTypedef(const char* c_type, unsigned int size) -{ - fprintf(c_header, "#define c_float_%u %s\n", size, c_type); + fprintf(c_header, "#define c_%s_%u %s\n", c_typedef, size, c_type); } /* Call this function if there is no matching C type for sizes > 1 */ -void writeTypedefDefault(unsigned int size) +void writeTypedefDefault(const char* c_typedef, unsigned int size) { assert(size %2 == 0); - - fprintf(c_header, "typedef struct {c_int_%u a; c_int_%u b;} c_int_%u\n", size / 2, size / 2, size); + fprintf(c_header, "typedef struct {c_%s_%u a; c_%s_%u b;} c_%s_%u\n", c_typedef, size / 2, c_typedef, size / 2, c_typedef, size); } /* Create matching Fortran and C types by writing to both files */ -void writeToFiles(const char* fortran_type, const char* c_type, int size, unsigned int kind) -{ - fprintf(fort_header, " INTEGER, PARAMETER :: %s = %u\n", fortran_type, kind); - fprintf(c_header, "typedef c_int_%d %s;\n", size, c_type); -} - -/* Create matching Fortran and C floating types by writing to both files */ -void writeFloatToFiles(const char* fortran_type, const char* c_type, int size, unsigned int kind) +void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind) { fprintf(fort_header, " INTEGER, PARAMETER :: %s = %u\n", fortran_type, kind); - - fprintf(c_header, "typedef c_float_%d %s;\n", size, c_type); + fprintf(c_header, "typedef c_%s_%d %s;\n", c_typedef, size, c_type); } int main(void) @@ -180,68 +163,89 @@ int main(void) #if defined H5_FORTRAN_HAS_INTEGER_1_KIND if(sizeof(long long) == 1) - writeTypedef("long long", 1); + writeTypedef("int", "long long", 1); else if(sizeof(long) == 1) - writeTypedef("long", 1); + writeTypedef("int", "long", 1); else if(sizeof(int) == 1) - writeTypedef("int", 1); + writeTypedef("int", "int", 1); else if(sizeof(short) == 1) - writeTypedef("short", 1); + writeTypedef("int", "short", 1); else - writeTypedef("char", 1); + writeTypedef("int", "char", 1); /* Actually, char is not necessarily one byte. * But if char isn't, then nothing is, so this * is as close as we can get. */ + if(sizeof(size_t) == 1) + writeTypedef("size_t", "size_t", 1); + if(sizeof(hsize_t) == 1) + writeTypedef("hsize_t", "hsize_t", 1); #endif /*H5_FORTRAN_HAS_INTEGER_1_KIND*/ #if defined H5_FORTRAN_HAS_INTEGER_2_KIND if(sizeof(long long) == 2) - writeTypedef("long long", 2); + writeTypedef("int", "long long", 2); else if(sizeof(long) == 2) - writeTypedef("long", 2); + writeTypedef("int", "long", 2); else if(sizeof(int) == 2) - writeTypedef("int", 2); + writeTypedef("int", "int", 2); else if(sizeof(short) == 2) - writeTypedef("short", 2); + writeTypedef("int", "short", 2); else - writeTypedefDefault(2); + writeTypedefDefault("int",2); + + if(sizeof(size_t) == 2) + writeTypedef("size_t", "size_t", 2); + if(sizeof(hsize_t) == 2) + writeTypedef("hsize_t", "hsize_t", 2); #endif /*H5_FORTRAN_HAS_INTEGER_2_KIND*/ #if defined H5_FORTRAN_HAS_INTEGER_4_KIND if(sizeof(long long) == 4) - writeTypedef("long long", 4); + writeTypedef("int", "long long", 4); else if(sizeof(long) == 4) - writeTypedef("long", 4); + writeTypedef("int", "long", 4); else if(sizeof(int) == 4) - writeTypedef("int", 4); + writeTypedef("int", "int", 4); else if(sizeof(short) == 4) - writeTypedef("short", 4); + writeTypedef("int", "short", 4); else - writeTypedefDefault(4); + writeTypedefDefault("int",4); + + if(sizeof(size_t) == 4) + writeTypedef("size_t", "size_t", 4); + if(sizeof(hsize_t) == 4) + writeTypedef("hsize_t", "hsize_t", 4); + #endif /*H5_FORTRAN_HAS_INTEGER_4_KIND*/ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND if(sizeof(long long) == 8) - writeTypedef("long long", 8); + writeTypedef("int", "long long", 8); else if(sizeof(long) == 8) - writeTypedef("long", 8); + writeTypedef("int", "long", 8); else if(sizeof(int) == 8) - writeTypedef("int", 8); + writeTypedef("int", "int", 8); else if(sizeof(short) == 8) - writeTypedef("short", 8); + writeTypedef("int", "short", 8); else - writeTypedefDefault(8); + writeTypedefDefault("int",8); + + if(sizeof(size_t) == 8) + writeTypedef("size_t", "size_t", 8); + if(sizeof(hsize_t) == 8) + writeTypedef("hsize_t", "hsize_t", 8); + #endif /*H5_FORTRAN_HAS_INTEGER_8_KIND*/ /* Define c_float_x */ #if defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND || defined H5_FORTRAN_HAS_REAL_4_KIND if(sizeof(long double) == 4) - writeFloatTypedef("long double", 4); + writeTypedef("float", "long double", 4); else if(sizeof(double) == 4) - writeFloatTypedef("double", 4); + writeTypedef("float", "double", 4); else if(sizeof(float) == 4) - writeFloatTypedef("float", 4); + writeTypedef("float", "float", 4); else { printf("Fortran REAL is 4 bytes, no corresponding C floating type\n"); printf("Quitting....\n"); @@ -251,11 +255,11 @@ int main(void) #if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND || defined H5_FORTRAN_HAS_REAL_8_KIND if(sizeof(long double) == 8) - writeFloatTypedef("long double", 8); + writeTypedef("float", "long double", 8); else if(sizeof(double) == 8) - writeFloatTypedef("double", 8); + writeTypedef("float", "double", 8); else if(sizeof(float) == 8) - writeFloatTypedef("float", 8); + writeTypedef("float", "float", 8); else { printf("Fortran REAL is 16 bytes, no corresponding C floating type\n"); printf("Quitting....\n"); @@ -265,11 +269,11 @@ int main(void) #if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND || defined H5_FORTRAN_HAS_REAL_16_KIND if(sizeof(long double) == 16) - writeFloatTypedef("long double", 16); + writeTypedef("float", "long double", 16); else if(sizeof(double) == 16) - writeFloatTypedef("double", 16); + writeTypedef("float", "double", 16); else if(sizeof(float) == 16) - writeFloatTypedef("float", 16); + writeTypedef("float", "float", 16); else /*C has no 16 byte float so disable it in Fortran*/ { printf("warning: Fortran REAL is 16 bytes, no corresponding C floating type\n"); printf(" Disabling Fortran 16 byte REALs\n"); @@ -281,13 +285,13 @@ int main(void) fprintf(c_header, "\n"); /* haddr_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HADDR_T >= 8 - writeToFiles("HADDR_T", "haddr_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("int","HADDR_T", "haddr_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HADDR_T >= 4 - writeToFiles("HADDR_T", "haddr_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("int","HADDR_T", "haddr_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HADDR_T >= 2 - writeToFiles("HADDR_T", "haddr_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("int","HADDR_T", "haddr_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HADDR_T >= 1 - writeToFiles("HADDR_T", "haddr_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("int","HADDR_T", "haddr_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #else /* Error: couldn't find a size for haddr_t */ return -1; @@ -295,13 +299,13 @@ int main(void) /* hsize_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSIZE_T >= 8 - writeToFiles("HSIZE_T", "hsize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSIZE_T >= 4 - writeToFiles("HSIZE_T", "hsize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSIZE_T >= 2 - writeToFiles("HSIZE_T", "hsize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSIZE_T >= 1 - writeToFiles("HSIZE_T", "hsize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #else /* Error: couldn't find a size for hsize_t */ return -1; @@ -309,13 +313,13 @@ int main(void) /* hssize_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSSIZE_T >= 8 - writeToFiles("HSSIZE_T", "hssize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("int","HSSIZE_T", "hssize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSSIZE_T >= 4 - writeToFiles("HSSIZE_T", "hssize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("int","HSSIZE_T", "hssize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSSIZE_T >= 2 - writeToFiles("HSSIZE_T", "hssize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("int","HSSIZE_T", "hssize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSSIZE_T >= 1 - writeToFiles("HSSIZE_T", "hssize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("int","HSSIZE_T", "hssize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #else /* Error: couldn't find a size for hssize_t */ return -1; @@ -323,13 +327,13 @@ int main(void) /* off_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_OFF_T >= 8 - writeToFiles("OFF_T", "off_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("int","OFF_T", "off_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_OFF_T >= 4 - writeToFiles("OFF_T", "off_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("int","OFF_T", "off_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_OFF_T >= 2 - writeToFiles("OFF_T", "off_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("int","OFF_T", "off_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_OFF_T >= 1 - writeToFiles("OFF_T", "off_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("int","OFF_T", "off_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #else /* Error: couldn't find a size for off_t */ return -1; @@ -337,13 +341,13 @@ int main(void) /* size_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_SIZE_T >= 8 - writeToFiles("SIZE_T", "size_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("size_t","SIZE_T", "size_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_SIZE_T >= 4 - writeToFiles("SIZE_T", "size_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("size_t","SIZE_T", "size_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_SIZE_T >= 2 - writeToFiles("SIZE_T", "size_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("size_t","SIZE_T", "size_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_SIZE_T >= 1 - writeToFiles("SIZE_T", "size_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("size_t","SIZE_T", "size_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #else /* Error: couldn't find a size for size_t */ return -1; @@ -351,13 +355,13 @@ int main(void) /* int */ #if defined H5_FORTRAN_HAS_NATIVE_8_KIND - writeToFiles("Fortran_INTEGER", "int_f", 8, H5_FORTRAN_HAS_NATIVE_8_KIND); + writeToFiles("int","Fortran_INTEGER", "int_f", 8, H5_FORTRAN_HAS_NATIVE_8_KIND); #elif defined H5_FORTRAN_HAS_NATIVE_4_KIND - writeToFiles("Fortran_INTEGER", "int_f", 4, H5_FORTRAN_HAS_NATIVE_4_KIND); + writeToFiles("int","Fortran_INTEGER", "int_f", 4, H5_FORTRAN_HAS_NATIVE_4_KIND); #elif defined H5_FORTRAN_HAS_NATIVE_2_KIND - writeToFiles("Fortran_INTEGER", "int_f", 2, H5_FORTRAN_HAS_NATIVE_2_KIND); + writeToFiles("int","Fortran_INTEGER", "int_f", 2, H5_FORTRAN_HAS_NATIVE_2_KIND); #elif defined H5_FORTRAN_HAS_NATIVE_1_KIND - writeToFiles("Fortran_INTEGER", "int_f", 1, H5_FORTRAN_HAS_NATIVE_1_KIND); + writeToFiles("int","Fortran_INTEGER", "int_f", 1, H5_FORTRAN_HAS_NATIVE_1_KIND); #else /* Error: couldn't find a size for int */ return -1; @@ -397,7 +401,7 @@ int main(void) { sprintf(chrA, "Fortran_INTEGER_%d", FoundIntSize[i]); sprintf(chrB, "int_%d_f", FoundIntSize[i]); - writeToFiles(chrA, chrB, FoundIntSize[i], FoundIntSizeKind[i]); + writeToFiles("int",chrA, chrB, FoundIntSize[i], FoundIntSizeKind[i]); } else /* Did not find the integer type */ { @@ -408,7 +412,7 @@ int main(void) { sprintf(chrA, "Fortran_INTEGER_%d", (-1)*FoundIntSize[i]); sprintf(chrB, "int_%d_f", (-1)*FoundIntSize[i]); - writeToFiles(chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]); + writeToFiles("int",chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]); flag = 1; break; } @@ -421,7 +425,7 @@ int main(void) { sprintf(chrA, "Fortran_INTEGER_%d", (-1)*FoundIntSize[i]); sprintf(chrB, "int_%d_f", (-1)*FoundIntSize[i]); - writeToFiles(chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]); + writeToFiles("int",chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]); flag = 1; break; } @@ -464,7 +468,7 @@ int main(void) { sprintf(chrA, "Fortran_REAL_%d", FoundRealSize[i]); sprintf(chrB, "real_%d_f", FoundRealSize[i]); - writeFloatToFiles(chrA, chrB, FoundRealSize[i], FoundRealSizeKind[i]); + writeToFiles("float",chrA, chrB, FoundRealSize[i], FoundRealSizeKind[i]); } else /* Did not find the real type */ { @@ -476,11 +480,11 @@ int main(void) sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]); sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]); if(FoundRealSize[j]>4) { - writeFloatToFiles(chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]); + writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]); flag = 1; } /* else { */ -/* writeFloatToFiles(chrA, chrB, FoundRealSize[j]); */ +/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */ /* } */ flag = 1; break; @@ -495,9 +499,9 @@ int main(void) sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]); sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]); if(FoundRealSize[j]>4) - writeFloatToFiles(chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]); + writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]); /* else { */ -/* writeFloatToFiles(chrA, chrB, FoundRealSize[j]); */ +/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */ /* } */ flag = 1; break; @@ -511,15 +515,15 @@ int main(void) /* hid_t */ #if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 8 - writeToFiles("HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HID_T >= 4 - writeToFiles("HID_T", "hid_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); + writeToFiles("int","HID_T", "hid_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HID_T >= 2 - writeToFiles("HID_T", "hid_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); + writeToFiles("int","HID_T", "hid_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HID_T >= 1 - writeToFiles("HID_T", "hid_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); + writeToFiles("int","HID_T", "hid_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND); #elif defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 4 - writeToFiles("HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); + writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND); #else /* Error: couldn't find a size for hid_t */ return -1; @@ -528,12 +532,12 @@ int main(void) /* real_f */ #if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND if(H5_C_HAS_REAL_NATIVE_16 != 0) { - writeFloatToFiles("Fortran_REAL", "real_f", 16, H5_FORTRAN_HAS_REAL_NATIVE_16_KIND); + writeToFiles("float","Fortran_REAL", "real_f", 16, H5_FORTRAN_HAS_REAL_NATIVE_16_KIND); } #elif defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND - writeFloatToFiles("Fortran_REAL", "real_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND); + writeToFiles("float", "Fortran_REAL", "real_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND); #elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND - writeFloatToFiles("Fortran_REAL", "real_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND); + writeToFiles("float", "Fortran_REAL", "real_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND); #else /* Error: couldn't find a size for real_f */ return -1; @@ -542,13 +546,13 @@ int main(void) /* double_f */ #if defined H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND if(H5_C_HAS_REAL_NATIVE_16 != 0) { /* Check if C has 16 byte floats */ - writeFloatToFiles("Fortran_DOUBLE", "double_f", 16, H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND); + writeToFiles("float", "Fortran_DOUBLE", "double_f", 16, H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND); } else { #if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND /* Fall back to 8 byte floats */ - writeFloatToFiles("Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND); + writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND); } #elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND /* Fall back to 4 byte floats */ - writeFloatToFiles("Fortran_DOUBLE", "double_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND); + writeToFiles("float", "Fortran_DOUBLE", "double_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND); } #else /* Error: couldn't find a size for double_f when fortran has 16 byte reals */ @@ -557,7 +561,7 @@ int main(void) #endif #elif defined H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND - writeFloatToFiles("Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND); + writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND); #else /* Error: couldn't find a size for real_f */ return -1; diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index cf29fed..345ebe7 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@ @@ -521,17 +519,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -594,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@ @@ -609,10 +603,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -734,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 = 205 +LT_VERS_REVISION = 206 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 4d1e458..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@ @@ -530,17 +528,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -603,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@ @@ -618,10 +612,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 fb38854..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@ @@ -456,17 +454,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -544,10 +538,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 f3d6c04..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@ @@ -460,17 +458,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -548,10 +542,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -1168,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 0367469..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@ @@ -456,17 +454,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -544,10 +538,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 a9ecd9e..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@ @@ -403,17 +401,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -491,10 +485,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 7e8c4ba..89b71cb 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@ @@ -462,17 +457,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -535,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@ @@ -550,10 +541,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -675,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 = 205 +LT_VERS_REVISION = 206 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 1160548..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@ @@ -459,17 +454,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -547,10 +538,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 92a8301..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@ @@ -403,17 +401,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -491,10 +485,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/hl/examples/ex_image1.c b/hl/examples/ex_image1.c index 96bc7c7..18ad903 100644 --- a/hl/examples/ex_image1.c +++ b/hl/examples/ex_image1.c @@ -24,7 +24,6 @@ unsigned char buf [ WIDTH*HEIGHT ]; int main( void ) { hid_t file_id; - herr_t status; hsize_t pal_dims[] = {PAL_ENTRIES,3}; size_t i, j; int n, space; @@ -56,16 +55,16 @@ int main( void ) file_id = H5Fcreate( "ex_image1.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* make the image */ - status = H5IMmake_image_8bit( file_id, "image1", (hsize_t)WIDTH, (hsize_t)HEIGHT, buf ); + H5IMmake_image_8bit( file_id, "image1", (hsize_t)WIDTH, (hsize_t)HEIGHT, buf ); /* make a palette */ - status = H5IMmake_palette( file_id, "pallete", pal_dims, pal ); + H5IMmake_palette( file_id, "pallete", pal_dims, pal ); /* attach the palette to the image */ - status = H5IMlink_palette( file_id, "image1", "pallete" ); + H5IMlink_palette( file_id, "image1", "pallete" ); /* close the file. */ - status = H5Fclose( file_id ); + H5Fclose( file_id ); return 0; diff --git a/hl/examples/ex_image2.c b/hl/examples/ex_image2.c index 3276f7c..b57f1b7 100644 --- a/hl/examples/ex_image2.c +++ b/hl/examples/ex_image2.c @@ -35,7 +35,7 @@ int main( void ) hsize_t height; /* height of image */ unsigned char pal[ PAL_ENTRIES * 3 ]; /* palette array */ hsize_t pal_dims[2] = {PAL_ENTRIES,3}; /* palette dimensions */ - herr_t status, i, n; + herr_t i, n; /* create a new HDF5 file using default properties. */ file_id = H5Fcreate( "ex_image2.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); @@ -45,7 +45,7 @@ int main( void ) goto out; /* make the image */ - status=H5IMmake_image_8bit( file_id, IMAGE1_NAME, width, height, gbuf ); + H5IMmake_image_8bit( file_id, IMAGE1_NAME, width, height, gbuf ); if (gbuf) { free(gbuf); gbuf = NULL; @@ -63,10 +63,10 @@ int main( void ) } /* make a palette */ - status=H5IMmake_palette( file_id, PAL_NAME, pal_dims, pal ); + H5IMmake_palette( file_id, PAL_NAME, pal_dims, pal ); /* attach the palette to the image */ - status=H5IMlink_palette( file_id, IMAGE1_NAME, PAL_NAME ); + H5IMlink_palette( file_id, IMAGE1_NAME, PAL_NAME ); /*------------------------------------------------------------------------- * True color image example with pixel interlace @@ -78,7 +78,7 @@ int main( void ) goto out; /* make dataset */ - status=H5IMmake_image_24bit( file_id, IMAGE2_NAME, width, height, "INTERLACE_PIXEL", gbuf ); + H5IMmake_image_24bit( file_id, IMAGE2_NAME, width, height, "INTERLACE_PIXEL", gbuf ); /* close the file. */ H5Fclose( file_id ); diff --git a/hl/examples/ex_lite1.c b/hl/examples/ex_lite1.c index 2a82fef..446c803 100644 --- a/hl/examples/ex_lite1.c +++ b/hl/examples/ex_lite1.c @@ -25,16 +25,15 @@ int main( void ) hid_t file_id; hsize_t dims[RANK]={2,3}; int data[6]={1,2,3,4,5,6}; - herr_t status; /* create a HDF5 file */ file_id = H5Fcreate ("ex_lite1.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* create and write an integer type dataset named "dset" */ - status = H5LTmake_dataset(file_id,"/dset",RANK,dims,H5T_NATIVE_INT,data); + H5LTmake_dataset(file_id,"/dset",RANK,dims,H5T_NATIVE_INT,data); /* close file */ - status = H5Fclose (file_id); + H5Fclose (file_id); return 0; } diff --git a/hl/examples/ex_lite2.c b/hl/examples/ex_lite2.c index 98f92c8..a696a20 100644 --- a/hl/examples/ex_lite2.c +++ b/hl/examples/ex_lite2.c @@ -21,17 +21,16 @@ int main( void ) hid_t file_id; int data[6]; hsize_t dims[2]; - herr_t status; size_t i, j, nrow, n_values; /* open file from ex_lite1.c */ file_id = H5Fopen ("ex_lite1.h5", H5F_ACC_RDONLY, H5P_DEFAULT); /* read dataset */ - status = H5LTread_dataset_int(file_id,"/dset",data); + H5LTread_dataset_int(file_id,"/dset",data); /* get the dimensions of the dataset */ - status = H5LTget_dataset_info(file_id,"/dset",dims,NULL,NULL); + H5LTget_dataset_info(file_id,"/dset",dims,NULL,NULL); /* print it by rows */ n_values = (size_t)(dims[0] * dims[1]); @@ -44,7 +43,7 @@ int main( void ) } /* close file */ - status = H5Fclose (file_id); + H5Fclose (file_id); return 0; diff --git a/hl/examples/ex_lite3.c b/hl/examples/ex_lite3.c index 9164c7b..f409ea4 100644 --- a/hl/examples/ex_lite3.c +++ b/hl/examples/ex_lite3.c @@ -26,7 +26,6 @@ int main( void ) hid_t space_id; hsize_t dims[1] = { ATTR_SIZE }; int data[ATTR_SIZE] = {1,2,3,4,5}; - herr_t status; int i; /* create a file */ @@ -39,8 +38,8 @@ int main( void ) dset_id = H5Dcreate2(file_id, "dset", H5T_NATIVE_INT, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* close */ - status = H5Dclose(dset_id); - status = H5Sclose(space_id); + H5Dclose(dset_id); + H5Sclose(space_id); /*------------------------------------------------------------------------- * example of H5LTset_attribute_int @@ -48,7 +47,7 @@ int main( void ) */ /* create and write the attribute "attr1" on the dataset "dset" */ - status = H5LTset_attribute_int(file_id, "dset", "attr1", data, ATTR_SIZE); + H5LTset_attribute_int(file_id, "dset", "attr1", data, ATTR_SIZE); /*------------------------------------------------------------------------- * example of H5LTget_attribute_int @@ -56,14 +55,14 @@ int main( void ) */ /* get the attribute "attr1" from the dataset "dset" */ - status = H5LTget_attribute_int(file_id, "dset", "attr1", data); + H5LTget_attribute_int(file_id, "dset", "attr1", data); for(i = 0; i < ATTR_SIZE; i++ ) printf(" %d", data[i]); printf("\n"); /* close file */ - status = H5Fclose(file_id); + H5Fclose(file_id); return 0; } diff --git a/hl/examples/ex_table_01.c b/hl/examples/ex_table_01.c index de304d9..1d381ae 100644 --- a/hl/examples/ex_table_01.c +++ b/hl/examples/ex_table_01.c @@ -80,7 +80,6 @@ int main( void ) hsize_t chunk_size = 10; int *fill_data = NULL; int compress = 0; - herr_t status; int i; /* Initialize field_type */ @@ -100,7 +99,7 @@ int main( void ) *------------------------------------------------------------------------- */ - status=H5TBmake_table( "Table Title", file_id, TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title", file_id, TABLE_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); @@ -109,7 +108,7 @@ int main( void ) *------------------------------------------------------------------------- */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* print it by rows */ for (i=0; i<NRECORDS; i++) { diff --git a/hl/examples/ex_table_02.c b/hl/examples/ex_table_02.c index 98e33d3..129f87d 100644 --- a/hl/examples/ex_table_02.c +++ b/hl/examples/ex_table_02.c @@ -78,7 +78,6 @@ int main( void ) hsize_t chunk_size = 10; int *fill_data = NULL; int compress = 0; - herr_t status; int i; /* Append particles */ @@ -99,16 +98,16 @@ int main( void ) file_id = H5Fcreate( "ex_table_02.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* make a table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, dst_size, field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* append two records */ - status=H5TBappend_records(file_id, TABLE_NAME,NRECORDS_ADD, dst_size, dst_offset, dst_sizes, + H5TBappend_records(file_id, TABLE_NAME,NRECORDS_ADD, dst_size, dst_offset, dst_sizes, &particle_in ); /* read the table */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* print it by rows */ for (i=0; i<NRECORDS+NRECORDS_ADD; i++) { diff --git a/hl/examples/ex_table_03.c b/hl/examples/ex_table_03.c index 7315fd3..c9f94ce 100644 --- a/hl/examples/ex_table_03.c +++ b/hl/examples/ex_table_03.c @@ -71,7 +71,6 @@ int main( void ) hsize_t chunk_size = 10; hsize_t start; /* Record to start reading/writing */ hsize_t nrecords; /* Number of records to read/write */ - herr_t status; int i; /* Define 2 new particles to write */ @@ -92,7 +91,7 @@ int main( void ) file_id = H5Fcreate( "ex_table_03.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title", + H5TBmake_table( "Table Title", file_id, TABLE_NAME, NFIELDS, @@ -110,11 +109,11 @@ int main( void ) /* Overwrite 2 records starting at record 0 */ start = 0; nrecords = NRECORDS_WRITE; - status=H5TBwrite_records( file_id, TABLE_NAME, start, nrecords, dst_size, dst_offset, + H5TBwrite_records( file_id, TABLE_NAME, start, nrecords, dst_size, dst_offset, dst_sizes, particle_in); /* read the table */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* print it by rows */ for (i=0; i<NRECORDS; i++) { diff --git a/hl/examples/ex_table_04.c b/hl/examples/ex_table_04.c index 0a01116..01f2869 100644 --- a/hl/examples/ex_table_04.c +++ b/hl/examples/ex_table_04.c @@ -81,7 +81,6 @@ int main( void ) hsize_t start; /* Record to start reading/writing */ hsize_t nrecords; /* Number of records to read/write */ int compress = 0; - herr_t status; int i; Particle *p_data = NULL; /* Initially no data */ float pressure_in [NRECORDS_ADD] = /* Define new values for the field "Pressure" */ @@ -118,24 +117,24 @@ int main( void ) file_id = H5Fcreate( "ex_table_04.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* Write the pressure field starting at record 2 */ start = 2; nrecords = NRECORDS_ADD; - status=H5TBwrite_fields_name( file_id, TABLE_NAME, "Pressure", start, nrecords, + H5TBwrite_fields_name( file_id, TABLE_NAME, "Pressure", start, nrecords, sizeof( float ), 0, field_sizes_pre, pressure_in ); /* Write the new longitude and latitude information starting at record 2 */ start = 2; nrecords = NRECORDS_ADD; - status=H5TBwrite_fields_name( file_id, TABLE_NAME, "Latitude,Longitude", start, nrecords, + H5TBwrite_fields_name( file_id, TABLE_NAME, "Latitude,Longitude", start, nrecords, sizeof( Position ), field_offset_pos, field_sizes_pos, position_in ); /* read the table */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* print it by rows */ for (i=0; i<NRECORDS; i++) { diff --git a/hl/examples/ex_table_05.c b/hl/examples/ex_table_05.c index f0c96eb..7ed1fec 100644 --- a/hl/examples/ex_table_05.c +++ b/hl/examples/ex_table_05.c @@ -51,13 +51,6 @@ int main( void ) int longi; } Position; - /* Define a subset of Particle, with name and pressure fields */ - typedef struct NamePressure - { - char name[16]; - float pressure; - } NamePressure; - /* Calculate the type_size and the offsets of our struct members */ Particle dst_buf[NRECORDS]; size_t dst_size = sizeof( Particle ); @@ -91,7 +84,6 @@ int main( void ) hsize_t nfields; hsize_t start; /* Record to start reading/writing */ hsize_t nrecords; /* Number of records to read/write */ - herr_t status; int i; /* Define new values for the field "Pressure" */ @@ -129,7 +121,7 @@ int main( void ) file_id = H5Fcreate( "ex_table_05.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title", file_id, TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title", file_id, TABLE_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); @@ -137,7 +129,7 @@ int main( void ) nfields = 1; start = 2; nrecords = NRECORDS_ADD; - status=H5TBwrite_fields_index( file_id, TABLE_NAME, nfields, field_index_pre, start, nrecords, + H5TBwrite_fields_index( file_id, TABLE_NAME, nfields, field_index_pre, start, nrecords, sizeof( float ), 0, field_sizes_pre, pressure_in ); @@ -145,12 +137,12 @@ int main( void ) nfields = 2; start = 2; nrecords = NRECORDS_ADD; - status=H5TBwrite_fields_index( file_id, TABLE_NAME, nfields, field_index_pos, start, nrecords, + H5TBwrite_fields_index( file_id, TABLE_NAME, nfields, field_index_pos, start, nrecords, sizeof( Position ), field_offset_pos, field_sizes_pos, position_in ); /* read the table */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* print it by rows */ for (i=0; i<NRECORDS; i++) { @@ -163,8 +155,7 @@ int main( void ) printf ("\n"); } - - /* close type */ + /* close type */ H5Tclose( string_type ); /* close the file */ diff --git a/hl/examples/ex_table_06.c b/hl/examples/ex_table_06.c index 261b23c..081347e 100644 --- a/hl/examples/ex_table_06.c +++ b/hl/examples/ex_table_06.c @@ -60,7 +60,6 @@ int main( void ) int compress = 0; hsize_t nfields_out; hsize_t nrecords_out; - herr_t status; /* Initialize field_type */ string_type = H5Tcopy( H5T_C_S1 ); @@ -75,12 +74,12 @@ int main( void ) file_id = H5Fcreate( "ex_table_06.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make a table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS,dst_size, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS,dst_size, field_names, dst_offset, field_type, chunk_size, fill_data, compress, NULL); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_07.c b/hl/examples/ex_table_07.c index 3479aa8..3be788f 100644 --- a/hl/examples/ex_table_07.c +++ b/hl/examples/ex_table_07.c @@ -73,7 +73,6 @@ int main( void ) hsize_t nrecords; /* Number of records to insert/delete */ hsize_t nfields_out; hsize_t nrecords_out; - herr_t status; /* Initialize the field field_type */ string_type = H5Tcopy( H5T_C_S1 ); @@ -88,17 +87,17 @@ int main( void ) file_id = H5Fcreate( "ex_table_07.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* Delete records */ start = 3; nrecords = 3; - status=H5TBdelete_record( file_id, TABLE_NAME, start, nrecords ); + H5TBdelete_record( file_id, TABLE_NAME, start, nrecords ); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_08.c b/hl/examples/ex_table_08.c index bd3a3e1..5d3659f 100644 --- a/hl/examples/ex_table_08.c +++ b/hl/examples/ex_table_08.c @@ -84,7 +84,6 @@ int main( void ) int *fill_data = NULL; hsize_t start; /* Record to start reading */ hsize_t nrecords; /* Number of records to insert/delete */ - herr_t status; hsize_t nfields_out; hsize_t nrecords_out; int i; @@ -102,21 +101,21 @@ int main( void ) file_id = H5Fcreate( "ex_table_08.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* Insert records */ start = 3; nrecords = NRECORDS_INS; - status=H5TBinsert_record( file_id, TABLE_NAME, start, nrecords, dst_size, dst_offset, + H5TBinsert_record( file_id, TABLE_NAME, start, nrecords, dst_size, dst_offset, dst_sizes, p_data_insert ); /* read the table */ - status=H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* get table info */ - status=H5TBget_table_info(file_id,TABLE_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info(file_id,TABLE_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_09.c b/hl/examples/ex_table_09.c index c50e20d..a4ef611 100644 --- a/hl/examples/ex_table_09.c +++ b/hl/examples/ex_table_09.c @@ -81,7 +81,6 @@ int main( void ) hsize_t start1; /* Record to start reading from 1st table */ hsize_t nrecords; /* Number of records to insert */ hsize_t start2; /* Record to start writing in 2nd table */ - herr_t status; int i; hsize_t nfields_out; hsize_t nrecords_out; @@ -99,11 +98,11 @@ int main( void ) file_id = H5Fcreate( "ex_table_09.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make 2 tables: TABLE2_NAME is empty */ - status=H5TBmake_table( "Table Title",file_id,TABLE1_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE1_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); - status=H5TBmake_table( "Table Title",file_id,TABLE2_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE2_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, NULL ); @@ -112,13 +111,13 @@ int main( void ) start1 = 3; nrecords = NRECORDS_INS; start2 = 6; - status=H5TBadd_records_from( file_id, TABLE1_NAME, start1, nrecords, TABLE2_NAME, start2 ); + H5TBadd_records_from( file_id, TABLE1_NAME, start1, nrecords, TABLE2_NAME, start2 ); /* read TABLE2_NAME: it should have 2 more records now */ - status=H5TBread_table( file_id, TABLE2_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE2_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE2_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE2_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_10.c b/hl/examples/ex_table_10.c index 73a9431..059c7ea 100644 --- a/hl/examples/ex_table_10.c +++ b/hl/examples/ex_table_10.c @@ -77,7 +77,6 @@ int main( void ) hsize_t chunk_size = 10; int compress = 0; int *fill_data = NULL; - herr_t status; hsize_t nfields_out; hsize_t nrecords_out; int i; @@ -95,22 +94,22 @@ int main( void ) file_id = H5Fcreate( "ex_table_10.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make two tables */ - status=H5TBmake_table( "Table Title",file_id,TABLE1_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE1_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); - status=H5TBmake_table( "Table Title",file_id,TABLE2_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE2_NAME,NFIELDS,NRECORDS, dst_size,field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* Combine the two tables into a third in the same file */ - status=H5TBcombine_tables( file_id, TABLE1_NAME, file_id, TABLE2_NAME, TABLE3_NAME ); + H5TBcombine_tables( file_id, TABLE1_NAME, file_id, TABLE2_NAME, TABLE3_NAME ); /* read the combined table */ - status=H5TBread_table( file_id, TABLE3_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); + H5TBread_table( file_id, TABLE3_NAME, dst_size, dst_offset, dst_sizes, dst_buf ); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE3_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE3_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_11.c b/hl/examples/ex_table_11.c index 6746945..687568c 100644 --- a/hl/examples/ex_table_11.c +++ b/hl/examples/ex_table_11.c @@ -67,10 +67,9 @@ int main( void ) hid_t file_id; hsize_t chunk_size = 10; int compress = 0; - Particle1 fill_data[1] = { "no data",-1,-1, -99.0f, -99.0 }; + Particle1 fill_data[1] = { {"no data",-1,-1, -99.0f, -99.0} }; int fill_data_new[1] = { -100 }; hsize_t position; - herr_t status; hsize_t nfields_out; hsize_t nrecords_out; @@ -91,17 +90,17 @@ int main( void ) file_id = H5Fcreate( "ex_table_11.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make the table */ - status=H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, + H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS, dst_size1,field_names, dst_offset1, field_type, chunk_size, fill_data, compress, p_data ); /* Insert the new field at the end of the field list */ position = NFIELDS; - status=H5TBinsert_field( file_id, TABLE_NAME, "New Field", field_type_new, position, + H5TBinsert_field( file_id, TABLE_NAME, "New Field", field_type_new, position, fill_data_new, data ); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); diff --git a/hl/examples/ex_table_12.c b/hl/examples/ex_table_12.c index b6cc2b4..125b8be 100644 --- a/hl/examples/ex_table_12.c +++ b/hl/examples/ex_table_12.c @@ -70,7 +70,6 @@ int main( void ) int compress = 0; Particle fill_data[1] = { {"no data",-1,-1, -99.0f, -99.0} }; - herr_t status; hsize_t nfields_out; hsize_t nrecords_out; @@ -87,15 +86,15 @@ int main( void ) file_id = H5Fcreate( "ex_table_12.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); /* Make a table */ - status=H5TBmake_table( "Table Title", file_id, TABLE_NAME, NFIELDS, NRECORDS, dst_size, + H5TBmake_table( "Table Title", file_id, TABLE_NAME, NFIELDS, NRECORDS, dst_size, field_names, dst_offset, field_type, chunk_size, fill_data, compress, p_data ); /* Delete the field */ - status=H5TBdelete_field( file_id, TABLE_NAME, "Pressure" ); + H5TBdelete_field( file_id, TABLE_NAME, "Pressure" ); /* Get table info */ - status=H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); + H5TBget_table_info (file_id,TABLE_NAME, &nfields_out, &nrecords_out ); /* print */ printf ("Table has %d fields and %d records\n",(int)nfields_out,(int)nrecords_out); 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 7c6f2e2..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@ @@ -460,17 +458,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -548,10 +542,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 af5a18a..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@ @@ -403,17 +401,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -491,10 +485,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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/H5DSfc.c b/hl/fortran/src/H5DSfc.c index 2e38939..1de3fff 100644 --- a/hl/fortran/src/H5DSfc.c +++ b/hl/fortran/src/H5DSfc.c @@ -35,7 +35,7 @@ *------------------------------------------------------------------------- */ int_f -nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, int_f *dimnamelen) +nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen) { char *c_dimname = NULL; int_f ret_value = 0; @@ -217,7 +217,7 @@ nh5dsis_scale_c( hid_t_f *did, int_f *is_scale) *------------------------------------------------------------------------- */ int_f -nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, int_f *labellen) +nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen) { char *c_label = NULL; int_f ret_value = 0; @@ -269,14 +269,14 @@ nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size) /* * Allocate buffer to hold label */ - if ((c_label = HDmalloc((size_t)*size + 1)) == NULL) + if ((c_label = (char *)HDmalloc((size_t)*size + 1)) == NULL) HGOTO_DONE(FAIL); /* * call H5DSget_label function. */ - if( (size_c = (size_t_f)H5DSget_label( (hid_t)*did, (unsigned)*idx, c_label, (size_t)*size+1)) < 0) + if( (size_c = H5DSget_label( (hid_t)*did, (unsigned)*idx, c_label, (size_t)*size+1)) < 0) HGOTO_DONE(FAIL) /* @@ -287,7 +287,7 @@ nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size) done: *size = (size_t_f)size_c; /* Don't subtract '1' because H5DSget_label doesn't include the - * trailing NULL in the length calculation, Ref. HDFFV-7596 */ + * trailing NULL in the length calculation, Ref. HDFFV-7596 */ if(c_label) HDfree(c_label); return ret_value; @@ -318,14 +318,14 @@ nh5dsget_scale_name_c(hid_t_f *did, _fcd name, size_t_f *size) /* * Allocate buffer to hold name */ - if ((c_scale_name = HDmalloc((size_t)*size + 1)) == NULL) + if ((c_scale_name = (char *)HDmalloc((size_t)*size + 1)) == NULL) HGOTO_DONE(FAIL); /* * call H5DSget_scale_name function. */ - if( (size_c = (size_t_f)H5DSget_scale_name( (hid_t)*did, c_scale_name, (size_t)*size+1)) < 0) + if( (size_c = H5DSget_scale_name( (hid_t)*did, c_scale_name, (size_t)*size+1)) < 0) HGOTO_DONE(FAIL) /* diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.f90 index 8cb568e..04540a6 100644 --- a/hl/fortran/src/H5DSff.f90 +++ b/hl/fortran/src/H5DSff.f90 @@ -57,7 +57,7 @@ CONTAINS CHARACTER(LEN=*), INTENT(in), OPTIONAL :: dimname ! The dimension name INTEGER :: errcode ! Error code - INTEGER:: dimname_len ! length of dimname (if present) + INTEGER(SIZE_T) :: dimname_len ! length of dimname (if present) INTERFACE INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len ) @@ -70,7 +70,7 @@ CONTAINS !DEC$ATTRIBUTES reference :: dimname INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale CHARACTER(LEN=*), INTENT(in) :: dimname ! The dimension name - INTEGER, INTENT(in) :: dimname_len + INTEGER(SIZE_T), INTENT(in) :: dimname_len END FUNCTION H5DSset_scale_c END INTERFACE @@ -78,7 +78,7 @@ CONTAINS dimname_len = LEN(dimname) errcode = H5DSset_scale_c(dsid, dimname, dimname_len ) ELSE - errcode = H5DSset_scale_c(dsid, " ", 0 ) + errcode = H5DSset_scale_c(dsid, " ", INT(0,SIZE_T) ) ENDIF END SUBROUTINE H5DSset_scale_f @@ -348,7 +348,7 @@ CONTAINS CHARACTER(LEN=*), INTENT(in) :: label ! The label INTEGER :: errcode ! Error code - INTEGER :: label_len ! Length of label + INTEGER(SIZE_T) :: label_len ! Length of label INTEGER :: c_idx INTERFACE @@ -363,7 +363,7 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: did ! The dataset INTEGER , INTENT(in) :: idx ! The dimension CHARACTER(LEN=*), INTENT(in) :: label ! The label - INTEGER, INTENT(in) :: label_len ! Length of label + INTEGER(SIZE_T), INTENT(in) :: label_len ! Length of label END FUNCTION H5DSset_label_c END INTERFACE diff --git a/hl/fortran/src/H5IMcc.c b/hl/fortran/src/H5IMcc.c index b4ea067..ae58fab 100644 --- a/hl/fortran/src/H5IMcc.c +++ b/hl/fortran/src/H5IMcc.c @@ -470,7 +470,7 @@ herr_t H5IM_get_palette(hid_t loc_id, hid_t attr_space_id; hid_t attr_class; hssize_t n_refs; - hsize_t dim_ref; + size_t dim_ref; hobj_ref_t *refbuf; /* buffer to read references */ hid_t pal_id; @@ -503,9 +503,9 @@ herr_t H5IM_get_palette(hid_t loc_id, n_refs = H5Sget_simple_extent_npoints(attr_space_id); - dim_ref = n_refs; + dim_ref = (size_t)n_refs; - refbuf = HDmalloc(sizeof(hobj_ref_t) * (int)dim_ref); + refbuf = (hobj_ref_t *)HDmalloc(sizeof(hobj_ref_t) * dim_ref); if(H5Aread(attr_id, attr_type, refbuf) < 0) goto out; diff --git a/hl/fortran/src/H5IMfc.c b/hl/fortran/src/H5IMfc.c index 39cb990..6acd410 100644 --- a/hl/fortran/src/H5IMfc.c +++ b/hl/fortran/src/H5IMfc.c @@ -40,7 +40,7 @@ int_f nh5immake_image_8bit_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *width, hsize_t_f *height, @@ -50,15 +50,13 @@ nh5immake_image_8bit_c (hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; hsize_t w = (hsize_t)*width; hsize_t h = (hsize_t)*height; /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) goto done; @@ -103,30 +101,25 @@ done: int_f nh5imread_image_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *buf) { int ret_value = -1; herr_t ret; - hid_t c_loc_id; char *c_name = NULL; - int c_namelen; /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) goto done; /* * call H5IMread_image function. */ - c_loc_id = (hid_t)*loc_id; - - ret = H5IMread_imagef(c_loc_id,c_name,buf); + ret = H5IMread_imagef((hid_t)*loc_id,c_name,buf); if (ret < 0) goto done; @@ -161,9 +154,9 @@ done: int_f nh5immake_image_24bit_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd il, hsize_t_f *width, hsize_t_f *height, @@ -173,22 +166,18 @@ nh5immake_image_24bit_c (hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; char *c_il = NULL; - int c_ilen; hsize_t w = (hsize_t)*width; hsize_t h = (hsize_t)*height; /* * 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) goto done; - c_ilen = *ilen; - c_il = (char *)HD5f2cstring(il, c_ilen); + c_il = (char *)HD5f2cstring(il, (size_t)*ilen); if (c_il == NULL) goto done; @@ -197,7 +186,7 @@ nh5immake_image_24bit_c (hid_t_f *loc_id, */ c_loc_id = (hid_t)*loc_id; - ret = H5IMmake_image_24bitf(c_loc_id,c_name,w,h,c_il,buf); + ret = H5IMmake_image_24bitf(c_loc_id,c_name,w,h,c_il,(int_f *)buf); if (ret < 0) goto done; @@ -234,20 +223,19 @@ done: int_f nh5imget_image_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *width, hsize_t_f *height, hsize_t_f *planes, hsize_t_f *npals, - int_f *ilen, + size_t_f *ilen, _fcd interlace) { int ret_value = -1; herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; hsize_t c_width; hsize_t c_height; hsize_t c_planes; @@ -257,15 +245,14 @@ nh5imget_image_info_c(hid_t_f *loc_id, /* * 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) goto done; /* * allocate buffer to hold name of an attribute */ - if ((c_buf = HDmalloc((size_t)*ilen +1)) == NULL) + if ((c_buf = (char *)HDmalloc((size_t)*ilen +1)) == NULL) goto done; /* @@ -321,19 +308,17 @@ done: int_f nh5imis_image_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name) { hid_t c_loc_id; char *c_name = NULL; - int c_namelen; herr_t ret; /* * 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 -1; /* @@ -372,7 +357,7 @@ nh5imis_image_c(hid_t_f *loc_id, int_f nh5immake_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *dims, void *buf) @@ -386,16 +371,16 @@ nh5immake_palette_c (hid_t_f *loc_id, /* * convert FORTRAN name to C name */ - if(NULL == (c_name = (char *)HD5f2cstring(name, (int)*namelen))) + if(NULL == (c_name = (char *)HD5f2cstring(name, (size_t)*namelen))) HGOTO_DONE(FAIL) for(i = 0; i < rank ; i++) - c_dims[i] = dims[i]; + c_dims[i] = (hsize_t)dims[i]; /* * call H5IMmake_palette function. */ - if(H5IMmake_palettef((hid_t)*loc_id, c_name, c_dims, buf) < 0) + if(H5IMmake_palettef((hid_t)*loc_id, c_name, c_dims, (int_f *)buf) < 0) HGOTO_DONE(FAIL) done: @@ -427,9 +412,9 @@ done: int_f nh5imlink_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd pal_name) { int ret_value = -1; @@ -437,19 +422,15 @@ nh5imlink_palette_c (hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_namepal = NULL; - int c_namelen; - int c_namelenpal; /* * 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) goto done; - c_namelenpal = *ilen; - c_namepal = (char *)HD5f2cstring(pal_name, c_namelenpal); + c_namepal = (char *)HD5f2cstring(pal_name, (size_t)*ilen); if (c_namepal == NULL) goto done; @@ -496,9 +477,9 @@ done: int_f nh5imunlink_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd pal_name) { int ret_value = -1; @@ -506,20 +487,15 @@ nh5imunlink_palette_c (hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_namepal = NULL; - int c_namelen; - int c_namelenpal; - /* * 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) goto done; - c_namelenpal = *ilen; - c_namepal = (char *)HD5f2cstring(pal_name, c_namelenpal); + c_namepal = (char *)HD5f2cstring(pal_name, (size_t)*ilen); if (c_namepal == NULL) goto done; @@ -567,7 +543,7 @@ done: int_f nh5imget_npalettes_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *npals) { @@ -575,14 +551,12 @@ nh5imget_npalettes_c(hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; hssize_t c_npals; /* * 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) goto done; @@ -631,7 +605,7 @@ done: int_f nh5imget_palette_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *pal_number, hsize_t_f *dims) @@ -640,15 +614,13 @@ nh5imget_palette_info_c(hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; hsize_t c_dims[2]; int i; /* * 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) goto done; @@ -700,7 +672,7 @@ done: int_f nh5imget_palette_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *pal_number, void *buf) @@ -709,13 +681,11 @@ nh5imget_palette_c(hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int 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) goto done; @@ -724,7 +694,7 @@ nh5imget_palette_c(hid_t_f *loc_id, */ c_loc_id = (hid_t)*loc_id; - ret = H5IMget_palettef(c_loc_id,c_name,*pal_number,buf); + ret = H5IMget_palettef(c_loc_id,c_name,*pal_number,(int_f *)buf); if (ret < 0) goto done; @@ -760,19 +730,17 @@ done: int_f nh5imis_palette_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name) { hid_t c_loc_id; char *c_name; - int c_namelen; herr_t ret; /* * 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 -1; /* diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90 index 37030ac..50c6d8b 100644 --- a/hl/fortran/src/H5IMff.f90 +++ b/hl/fortran/src/H5IMff.f90 @@ -62,7 +62,7 @@ subroutine h5immake_image_8bit_f(loc_id,& integer(hsize_t), intent(in) :: height ! height of image integer, intent(in), dimension(*) :: buf ! buffer integer :: errcode ! error code - integer :: namelen ! name length + INTEGER(size_t) :: namelen ! name length interface integer function h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) @@ -73,11 +73,11 @@ subroutine h5immake_image_8bit_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset integer(hsize_t), intent(in) :: width ! width of image integer(hsize_t), intent(in) :: height ! height of image - integer , intent(in), dimension(*) :: buf ! buffer + integer , intent(in), dimension(*) :: buf ! buffer end function h5immake_image_8bit_c end interface @@ -123,7 +123,7 @@ subroutine h5imread_image_f(loc_id,& character(len=*), intent(in) :: dset_name ! name of the dataset integer, intent(inout), dimension(*) :: buf ! buffer integer :: errcode ! error code - integer :: namelen ! name length + INTEGER(size_t) :: namelen ! name length interface integer function h5imread_image_c(loc_id,namelen,dset_name,buf) @@ -134,7 +134,7 @@ subroutine h5imread_image_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset integer, intent(inout), dimension(*) :: buf ! buffer end function h5imread_image_c @@ -187,8 +187,8 @@ subroutine h5immake_image_24bit_f(loc_id,& character(len=*), intent(in) :: il ! interlace integer, intent(in), dimension(*) :: buf ! buffer integer :: errcode ! error code - integer :: namelen ! name length - integer :: ilen ! name length + INTEGER(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length interface integer function h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf) @@ -205,8 +205,8 @@ subroutine h5immake_image_24bit_f(loc_id,& integer(hsize_t), intent(in) :: height ! height of image character(len=*), intent(in) :: il ! interlace integer, intent(in), dimension(*) :: buf ! buffer - integer :: namelen ! lenght of name buffer - integer :: ilen ! name length + integer(size_t) :: namelen ! length of name buffer + integer(size_t) :: ilen ! name length end function h5immake_image_24bit_c end interface @@ -262,8 +262,8 @@ subroutine h5imget_image_info_f(loc_id,& integer(hsize_t), intent(inout) :: npals ! palettes character(len=*), intent(inout) :: interlace ! interlace integer :: errcode ! error code - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length interface integer function h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace) @@ -281,8 +281,8 @@ subroutine h5imget_image_info_f(loc_id,& integer(hsize_t), intent(inout) :: planes ! color planes integer(hsize_t), intent(inout) :: npals ! palettes character(len=*), intent(inout) :: interlace ! interlace - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length end function h5imget_image_info_c end interface @@ -325,7 +325,7 @@ integer function h5imis_image_f(loc_id,& integer(hid_t), intent(in) :: loc_id ! file or group identifier character(len=*), intent(in) :: dset_name ! name of the dataset integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5imis_image_c(loc_id,namelen,dset_name) @@ -336,7 +336,7 @@ integer function h5imis_image_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset end function h5imis_image_c end interface @@ -385,7 +385,7 @@ subroutine h5immake_palette_f(loc_id,& integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions integer, intent(in), dimension(*) :: buf ! buffer integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) @@ -396,7 +396,7 @@ subroutine h5immake_palette_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions integer, intent(in), dimension(*) :: buf ! buffer @@ -444,8 +444,8 @@ subroutine h5imlink_palette_f(loc_id,& character(len=*), intent(in) :: dset_name ! name of the dataset character(len=*), intent(in) :: pal_name ! palette name integer :: errcode ! error code - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length interface integer function h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) @@ -459,8 +459,8 @@ subroutine h5imlink_palette_f(loc_id,& integer(hid_t), intent(in) :: loc_id ! file or group identifier character(len=*), intent(in) :: dset_name ! name of the dataset character(len=*), intent(in) :: pal_name ! palette name - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length end function h5imlink_palette_c end interface @@ -507,8 +507,8 @@ subroutine h5imunlink_palette_f(loc_id,& character(len=*), intent(in) :: dset_name ! name of the dataset character(len=*), intent(in) :: pal_name ! palette name integer :: errcode ! error code - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length interface integer function h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) @@ -522,8 +522,8 @@ subroutine h5imunlink_palette_f(loc_id,& integer(hid_t), intent(in) :: loc_id ! file or group identifier character(len=*), intent(in) :: dset_name ! name of the dataset character(len=*), intent(in) :: pal_name ! palette name - integer :: namelen ! name length - integer :: ilen ! name length + integer(size_t) :: namelen ! name length + integer(size_t) :: ilen ! name length end function h5imunlink_palette_c end interface @@ -570,7 +570,7 @@ subroutine h5imget_npalettes_f(loc_id,& character(len=*), intent(in) :: dset_name ! name of the dataset integer(hsize_t), intent(inout) :: npals ! palettes integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5imget_npalettes_c(loc_id,namelen,dset_name,npals) @@ -583,7 +583,7 @@ subroutine h5imget_npalettes_f(loc_id,& integer(hid_t), intent(in) :: loc_id ! file or group identifier character(len=*), intent(in) :: dset_name ! name of the dataset integer(hsize_t), intent(inout) :: npals ! palettes - integer :: namelen ! name length + integer(size_t) :: namelen ! name length end function h5imget_npalettes_c end interface @@ -631,7 +631,7 @@ subroutine h5imget_palette_info_f(loc_id,& integer, intent(in) :: pal_number ! palette number integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) @@ -645,7 +645,7 @@ subroutine h5imget_palette_info_f(loc_id,& character(len=*), intent(in) :: dset_name ! name of the dataset integer, intent(in) :: pal_number ! palette number integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions - integer :: namelen ! name length + integer(size_t) :: namelen ! name length end function h5imget_palette_info_c end interface @@ -694,7 +694,7 @@ subroutine h5imget_palette_f(loc_id,& integer, intent(in) :: pal_number ! palette number integer, intent(inout), dimension(*) :: buf ! buffer integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) @@ -705,7 +705,7 @@ subroutine h5imget_palette_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset integer, intent(in) :: pal_number ! palette number integer, intent(inout), dimension(*) :: buf ! buffer @@ -750,7 +750,7 @@ integer function h5imis_palette_f(loc_id,& integer(hid_t), intent(in) :: loc_id ! file or group identifier character(len=*), intent(in) :: dset_name ! name of the dataset integer :: errcode ! error code - integer :: namelen ! name length + integer(size_t) :: namelen ! name length interface integer function h5imis_palette_c(loc_id,namelen,dset_name) @@ -761,7 +761,7 @@ integer function h5imis_palette_f(loc_id,& !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name integer(hid_t), intent(in) :: loc_id ! file or group identifier - integer :: namelen ! lenght of name buffer + integer(size_t) :: namelen ! length of name buffer character(len=*), intent(in) :: dset_name ! name of the dataset end function h5imis_palette_c end interface diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h index 332a7e2..532d9d8 100644 --- a/hl/fortran/src/H5LTf90proto.h +++ b/hl/fortran/src/H5LTf90proto.h @@ -22,8 +22,9 @@ #include <stdlib.h> #include <string.h> +/* These definitions should match those in fortran/src/H5f90kit.c */ -H5_FCDLL char* HD5f2cstring (_fcd fdesc, int len); +H5_FCDLL char* HD5f2cstring (_fcd fdesc, size_t len); H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len); /* @@ -204,7 +205,7 @@ H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len); HDF5_HL_F90CSTUBDLL int_f -nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, int_f *dimnamelen); +nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen); HDF5_HL_F90CSTUBDLL int_f @@ -224,7 +225,7 @@ nh5dsis_scale_c(hid_t_f *did, int_f *is_scale); HDF5_HL_F90CSTUBDLL int_f -nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, int_f *labellen); +nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen); HDF5_HL_F90CSTUBDLL int_f @@ -242,7 +243,7 @@ nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales); HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -252,7 +253,7 @@ nh5ltmake_dataset_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -262,7 +263,7 @@ nh5ltmake_dataset_int1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -272,7 +273,7 @@ nh5ltmake_dataset_int2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -282,7 +283,7 @@ nh5ltmake_dataset_int3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -292,7 +293,7 @@ nh5ltmake_dataset_int4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -302,7 +303,7 @@ nh5ltmake_dataset_int5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -312,7 +313,7 @@ nh5ltmake_dataset_int6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_int7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -323,7 +324,7 @@ nh5ltmake_dataset_int7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -333,7 +334,7 @@ nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -343,7 +344,7 @@ nh5ltmake_dataset_fl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -353,7 +354,7 @@ nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -363,7 +364,7 @@ nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -373,7 +374,7 @@ nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -383,7 +384,7 @@ nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -394,7 +395,7 @@ nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -404,7 +405,7 @@ nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -414,7 +415,7 @@ nh5ltmake_dataset_dl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -424,7 +425,7 @@ nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -434,7 +435,7 @@ nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -444,7 +445,7 @@ nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -454,7 +455,7 @@ nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -464,7 +465,7 @@ nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -474,7 +475,7 @@ nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -484,7 +485,7 @@ nh5ltmake_dataset_nint2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -494,7 +495,7 @@ nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -504,7 +505,7 @@ nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -514,7 +515,7 @@ nh5ltmake_dataset_nint5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -524,7 +525,7 @@ nh5ltmake_dataset_nint6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nint7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -534,7 +535,7 @@ nh5ltmake_dataset_nint7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -544,7 +545,7 @@ nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -554,7 +555,7 @@ nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -564,7 +565,7 @@ nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -574,7 +575,7 @@ nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -584,7 +585,7 @@ nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -594,7 +595,7 @@ nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -604,7 +605,7 @@ nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -614,7 +615,7 @@ nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -624,7 +625,7 @@ nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -634,7 +635,7 @@ nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -644,7 +645,7 @@ nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -654,7 +655,7 @@ nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -664,7 +665,7 @@ nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -674,7 +675,7 @@ nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -684,7 +685,7 @@ nh5ltread_dataset_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -693,7 +694,7 @@ nh5ltread_dataset_int1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -702,7 +703,7 @@ nh5ltread_dataset_int2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -711,7 +712,7 @@ nh5ltread_dataset_int3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -720,7 +721,7 @@ nh5ltread_dataset_int4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -729,7 +730,7 @@ nh5ltread_dataset_int5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -738,7 +739,7 @@ nh5ltread_dataset_int6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_int7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -747,7 +748,7 @@ nh5ltread_dataset_int7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -756,7 +757,7 @@ nh5ltread_dataset_fl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -765,7 +766,7 @@ nh5ltread_dataset_fl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -774,7 +775,7 @@ nh5ltread_dataset_fl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -783,7 +784,7 @@ nh5ltread_dataset_fl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -792,7 +793,7 @@ nh5ltread_dataset_fl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -802,7 +803,7 @@ nh5ltread_dataset_fl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_fl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -811,7 +812,7 @@ nh5ltread_dataset_fl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -820,7 +821,7 @@ nh5ltread_dataset_dl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -829,7 +830,7 @@ nh5ltread_dataset_dl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -838,7 +839,7 @@ nh5ltread_dataset_dl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -847,7 +848,7 @@ nh5ltread_dataset_dl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -856,7 +857,7 @@ nh5ltread_dataset_dl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -865,7 +866,7 @@ nh5ltread_dataset_dl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_dl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -874,7 +875,7 @@ nh5ltread_dataset_dl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -883,7 +884,7 @@ nh5ltread_dataset_nint1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -892,7 +893,7 @@ nh5ltread_dataset_nint2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -901,7 +902,7 @@ nh5ltread_dataset_nint3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -910,7 +911,7 @@ nh5ltread_dataset_nint4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -919,7 +920,7 @@ nh5ltread_dataset_nint5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -928,7 +929,7 @@ nh5ltread_dataset_nint6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nint7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -937,7 +938,7 @@ nh5ltread_dataset_nint7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -946,7 +947,7 @@ nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -955,7 +956,7 @@ nh5ltread_dataset_nfl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -964,7 +965,7 @@ nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -973,7 +974,7 @@ nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -982,7 +983,7 @@ nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -991,7 +992,7 @@ nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1000,7 +1001,7 @@ nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1009,7 +1010,7 @@ nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1018,7 +1019,7 @@ nh5ltread_dataset_ndl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1027,7 +1028,7 @@ nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1036,7 +1037,7 @@ nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1045,7 +1046,7 @@ nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1054,7 +1055,7 @@ nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1063,9 +1064,9 @@ nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltset_attribute_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf); @@ -1073,9 +1074,9 @@ nh5ltset_attribute_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltset_attribute_float_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf); @@ -1083,9 +1084,9 @@ nh5ltset_attribute_float_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltset_attribute_double_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf); @@ -1093,68 +1094,68 @@ nh5ltset_attribute_double_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltset_attribute_string_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, - int_f *buflen, + size_t_f *buflen, void *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_float_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_double_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_string_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, _fcd buf, - size_t_f *buf_size); + size_t_f *buf_size); HDF5_HL_F90CSTUBDLL int_f nh5ltget_dataset_ndims_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank); HDF5_HL_F90CSTUBDLL int_f nh5ltfind_dataset_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name); HDF5_HL_F90CSTUBDLL int_f nh5ltget_dataset_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *dims, int_f *type_class, @@ -1163,17 +1164,17 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_ndims_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, int_f *rank); HDF5_HL_F90CSTUBDLL int_f nh5ltget_attribute_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, hsize_t_f *dims, int_f *type_class, @@ -1182,24 +1183,24 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5ltmake_dataset_string_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *buflen, + size_t_f *buflen, char *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltread_dataset_string_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, char *buf); HDF5_HL_F90CSTUBDLL int_f nh5ltpath_valid_c(hid_t_f *loc_id, - _fcd path, - int_f *pathlen, - int_f *check_object_valid_c); + _fcd path, + size_t_f *pathlen, + int_f *check_object_valid_c); /*------------------------------------------------------------------------- * Image @@ -1209,7 +1210,7 @@ nh5ltpath_valid_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5immake_image_8bit_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *width, hsize_t_f *height, @@ -1217,16 +1218,16 @@ nh5immake_image_8bit_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imread_image_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *buf); HDF5_HL_F90CSTUBDLL int_f nh5immake_image_24bit_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd il, hsize_t_f *width, hsize_t_f *height, @@ -1234,27 +1235,27 @@ nh5immake_image_24bit_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imget_image_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *width, hsize_t_f *height, hsize_t_f *planes, hsize_t_f *npals, - int_f *ilen, + size_t_f *ilen, _fcd interlace); HDF5_HL_F90CSTUBDLL int_f nh5imis_image_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name); HDF5_HL_F90CSTUBDLL int_f nh5immake_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *dims, void *buf); @@ -1262,23 +1263,23 @@ nh5immake_palette_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imlink_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd pal_name); HDF5_HL_F90CSTUBDLL int_f nh5imunlink_palette_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *ilen, + size_t_f *ilen, _fcd pal_name); HDF5_HL_F90CSTUBDLL int_f nh5imget_npalettes_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *npals); @@ -1286,7 +1287,7 @@ nh5imget_npalettes_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imget_palette_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *pal_number, hsize_t_f *dims); @@ -1294,7 +1295,7 @@ nh5imget_palette_info_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imget_palette_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *pal_number, void *buf); @@ -1302,7 +1303,7 @@ nh5imget_palette_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5imis_palette_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name); @@ -1314,10 +1315,10 @@ nh5imis_palette_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f -nh5tbmake_table_c(int_f *namelen1, +nh5tbmake_table_c(size_t_f *namelen1, _fcd name1, hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, hsize_t_f *nrecords, @@ -1326,16 +1327,16 @@ nh5tbmake_table_c(int_f *namelen1, hid_t_f *field_types, hsize_t_f *chunk_size, int_f *compress, - int_f *char_len_field_names, /* field_names lenghts */ - int_f *max_char_size_field_names, /* char len of fields */ + size_t_f *char_len_field_names, /* field_names lenghts */ + size_t_f *max_char_size_field_names, /* char len of fields */ _fcd buf); /* field_names */ HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_name_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1345,9 +1346,9 @@ nh5tbwrite_field_name_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_name_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1357,9 +1358,9 @@ nh5tbwrite_field_name_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_name_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1369,9 +1370,9 @@ nh5tbwrite_field_name_fl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_name_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1381,9 +1382,9 @@ nh5tbwrite_field_name_dl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_name_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1393,9 +1394,9 @@ nh5tbwrite_field_name_st_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_name_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1405,9 +1406,9 @@ nh5tbread_field_name_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_name_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1417,9 +1418,9 @@ nh5tbread_field_name_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_name_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1429,9 +1430,9 @@ nh5tbread_field_name_fl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_name_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1441,9 +1442,9 @@ nh5tbread_field_name_dl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_name_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -1453,7 +1454,7 @@ nh5tbread_field_name_st_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_index_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1464,7 +1465,7 @@ nh5tbwrite_field_index_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_index_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1475,7 +1476,7 @@ nh5tbwrite_field_index_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_index_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1486,7 +1487,7 @@ nh5tbwrite_field_index_fl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_index_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1497,7 +1498,7 @@ nh5tbwrite_field_index_dl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbwrite_field_index_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1508,7 +1509,7 @@ nh5tbwrite_field_index_st_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_index_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1519,7 +1520,7 @@ nh5tbread_field_index_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_index_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1530,7 +1531,7 @@ nh5tbread_field_index_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_index_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1541,7 +1542,7 @@ nh5tbread_field_index_fl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_index_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1552,7 +1553,7 @@ nh5tbread_field_index_dl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbread_field_index_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -1563,9 +1564,9 @@ nh5tbread_field_index_st_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbinsert_field_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -1574,9 +1575,9 @@ nh5tbinsert_field_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbinsert_field_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -1584,9 +1585,9 @@ nh5tbinsert_field_int_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbinsert_field_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -1594,9 +1595,9 @@ nh5tbinsert_field_fl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbinsert_field_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -1604,9 +1605,9 @@ nh5tbinsert_field_dl_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbinsert_field_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -1614,16 +1615,16 @@ nh5tbinsert_field_st_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbdelete_field_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name); HDF5_HL_F90CSTUBDLL int_f nh5tbget_table_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, hsize_t_f *nrecords); @@ -1631,16 +1632,16 @@ nh5tbget_table_info_c(hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f nh5tbget_field_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, size_t_f *field_sizes, size_t_f *field_offsets, size_t_f *type_size, - int_f *namelen2, - int_f *lenmax, + size_t_f *namelen2, + size_t_f *lenmax, _fcd field_names, - int_f *maxlen_out); + size_t_f *maxlen_out); #endif /* _H5LTf90proto_H */ diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c index 4f8f7b6..1e0a236 100644 --- a/hl/fortran/src/H5LTfc.c +++ b/hl/fortran/src/H5LTfc.c @@ -40,7 +40,7 @@ int_f nh5ltmake_dataset_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -49,25 +49,20 @@ nh5ltmake_dataset_c (hid_t_f *loc_id, { int ret_value = -1; herr_t ret; - hid_t c_loc_id; - hid_t c_type_id; char *c_name = NULL; hsize_t *c_dims = NULL; - int c_namelen; int i; /* * 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) goto done; - c_dims = HDmalloc(sizeof(hsize_t) * (*rank )); + c_dims = (hsize_t *)HDmalloc(sizeof(hsize_t) * ( (size_t)*rank )); if (c_dims == NULL) goto done; - /* * transpose dimension arrays because of C-FORTRAN storage order */ @@ -79,11 +74,8 @@ nh5ltmake_dataset_c (hid_t_f *loc_id, /* * call H5LTmake_dataset function. */ - c_loc_id = (hid_t)*loc_id; - c_type_id = (hid_t)*type_id; - - ret = H5LTmake_dataset(c_loc_id, c_name, *rank, c_dims, c_type_id, buf ); + ret = H5LTmake_dataset((hid_t)*loc_id, c_name, (int)*rank, c_dims, (hid_t)*type_id, buf ); if (ret < 0) goto done; @@ -99,7 +91,7 @@ done: int_f nh5ltmake_dataset_int1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -110,7 +102,7 @@ nh5ltmake_dataset_int1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -121,7 +113,7 @@ nh5ltmake_dataset_int2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -132,7 +124,7 @@ nh5ltmake_dataset_int3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -143,7 +135,7 @@ nh5ltmake_dataset_int4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -154,7 +146,7 @@ nh5ltmake_dataset_int5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -165,7 +157,7 @@ nh5ltmake_dataset_int6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_int7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -176,7 +168,7 @@ nh5ltmake_dataset_int7_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -187,7 +179,7 @@ nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -198,7 +190,7 @@ nh5ltmake_dataset_fl2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -209,7 +201,7 @@ nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -220,7 +212,7 @@ nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -231,7 +223,7 @@ nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -242,7 +234,7 @@ nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -253,7 +245,7 @@ nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -264,7 +256,7 @@ nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -275,7 +267,7 @@ nh5ltmake_dataset_dl2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -286,7 +278,7 @@ nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -297,7 +289,7 @@ nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -308,7 +300,7 @@ nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -319,7 +311,7 @@ nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -330,7 +322,7 @@ nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -341,7 +333,7 @@ nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -352,7 +344,7 @@ nh5ltmake_dataset_nint2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -363,7 +355,7 @@ nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -374,7 +366,7 @@ nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -385,7 +377,7 @@ nh5ltmake_dataset_nint5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -396,7 +388,7 @@ nh5ltmake_dataset_nint6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nint7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -407,7 +399,7 @@ nh5ltmake_dataset_nint7_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -418,7 +410,7 @@ nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -429,7 +421,7 @@ nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -440,7 +432,7 @@ nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -451,7 +443,7 @@ nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -462,7 +454,7 @@ nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -473,7 +465,7 @@ nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -484,7 +476,7 @@ nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -495,7 +487,7 @@ nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -506,7 +498,7 @@ nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -517,7 +509,7 @@ nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -528,7 +520,7 @@ nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -539,7 +531,7 @@ nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -550,7 +542,7 @@ nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, } int_f nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank, hsize_t_f *dims, @@ -580,7 +572,7 @@ nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id, int_f nh5ltread_dataset_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -591,13 +583,11 @@ nh5ltread_dataset_c (hid_t_f *loc_id, hid_t c_loc_id; hid_t c_type_id; char *c_name = NULL; - int 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) goto done; @@ -623,7 +613,7 @@ done: int_f nh5ltread_dataset_int1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -633,7 +623,7 @@ nh5ltread_dataset_int1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -643,7 +633,7 @@ nh5ltread_dataset_int2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -653,7 +643,7 @@ nh5ltread_dataset_int3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -663,7 +653,7 @@ nh5ltread_dataset_int4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -673,7 +663,7 @@ nh5ltread_dataset_int5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -683,7 +673,7 @@ nh5ltread_dataset_int6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_int7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -693,7 +683,7 @@ nh5ltread_dataset_int7_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -703,7 +693,7 @@ nh5ltread_dataset_fl1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -713,7 +703,7 @@ nh5ltread_dataset_fl2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -723,7 +713,7 @@ nh5ltread_dataset_fl3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -733,7 +723,7 @@ nh5ltread_dataset_fl4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -743,7 +733,7 @@ nh5ltread_dataset_fl5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -753,7 +743,7 @@ nh5ltread_dataset_fl6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_fl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -763,7 +753,7 @@ nh5ltread_dataset_fl7_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -773,7 +763,7 @@ nh5ltread_dataset_dl1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -783,7 +773,7 @@ nh5ltread_dataset_dl2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -793,7 +783,7 @@ nh5ltread_dataset_dl3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -803,7 +793,7 @@ nh5ltread_dataset_dl4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -813,7 +803,7 @@ nh5ltread_dataset_dl5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -823,7 +813,7 @@ nh5ltread_dataset_dl6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_dl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -833,7 +823,7 @@ nh5ltread_dataset_dl7_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -843,7 +833,7 @@ nh5ltread_dataset_nint1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -853,7 +843,7 @@ nh5ltread_dataset_nint2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -863,7 +853,7 @@ nh5ltread_dataset_nint3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -873,7 +863,7 @@ nh5ltread_dataset_nint4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -883,7 +873,7 @@ nh5ltread_dataset_nint5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -893,7 +883,7 @@ nh5ltread_dataset_nint6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nint7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -903,7 +893,7 @@ nh5ltread_dataset_nint7_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -913,7 +903,7 @@ nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -923,7 +913,7 @@ nh5ltread_dataset_nfl2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -933,7 +923,7 @@ nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -943,7 +933,7 @@ nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -953,7 +943,7 @@ nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -963,7 +953,7 @@ nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -973,7 +963,7 @@ nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -983,7 +973,7 @@ nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl2_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -993,7 +983,7 @@ nh5ltread_dataset_ndl2_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1003,7 +993,7 @@ nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1013,7 +1003,7 @@ nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1023,7 +1013,7 @@ nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1033,7 +1023,7 @@ nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, } int_f nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hid_t_f *type_id, void *buf, @@ -1062,29 +1052,25 @@ nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, int_f nh5ltmake_dataset_string_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *buflen, + size_t_f *buflen, char *buf) { int ret_value = -1; herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; char *c_buf = NULL; - int c_buflen; /* * 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) goto done; - c_buflen = *buflen; - c_buf = (char *)HD5f2cstring(buf, c_buflen); + c_buf = (char *)HD5f2cstring(buf, (size_t)*buflen); if (c_buf == NULL) goto done; @@ -1131,7 +1117,7 @@ done: int_f nh5ltread_dataset_string_c (hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, char *buf) { @@ -1139,13 +1125,11 @@ nh5ltread_dataset_string_c (hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int 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) goto done; @@ -1191,9 +1175,9 @@ done: int_f nh5ltset_attribute_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf) @@ -1203,20 +1187,16 @@ nh5ltset_attribute_int_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; size_t c_size; /* * convert FORTRAN name to C name */ - c_namelen = *namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1227,11 +1207,11 @@ nh5ltset_attribute_int_c(hid_t_f *loc_id, c_size = (size_t)*size; if (sizeof(int_f) == sizeof(int)) - ret = H5LTset_attribute_int(c_loc_id,c_name,c_attrname,buf,c_size); + ret = H5LTset_attribute_int(c_loc_id,c_name,c_attrname,(const int *)buf,c_size); else if (sizeof(int_f) == sizeof(long)) - ret = H5LTset_attribute_long(c_loc_id,c_name,c_attrname,buf,c_size); + ret = H5LTset_attribute_long(c_loc_id,c_name,c_attrname,(const long *)buf,c_size); else if (sizeof(int_f) == sizeof(long long)) - ret = H5LTset_attribute_long_long(c_loc_id,c_name,c_attrname,buf,c_size); + ret = H5LTset_attribute_long_long(c_loc_id,c_name,c_attrname,(const long long *)buf,c_size); else goto done; @@ -1270,9 +1250,9 @@ done: int_f nh5ltset_attribute_float_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf) @@ -1282,20 +1262,16 @@ nh5ltset_attribute_float_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; size_t c_size; /* * convert FORTRAN name to C name */ - c_namelen = *namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = *attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1305,7 +1281,7 @@ nh5ltset_attribute_float_c(hid_t_f *loc_id, c_loc_id = (hid_t)*loc_id; c_size = (size_t)*size; - ret = H5LTset_attribute_float(c_loc_id,c_name,c_attrname,buf,c_size); + ret = H5LTset_attribute_float(c_loc_id,c_name,c_attrname,(float *)buf,c_size); if (ret < 0) goto done; @@ -1343,9 +1319,9 @@ done: int_f nh5ltset_attribute_double_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, size_t_f *size, void *buf) @@ -1355,20 +1331,16 @@ nh5ltset_attribute_double_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; size_t c_size; /* * Convert FORTRAN name to C name */ - c_namelen = *namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = *attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1378,7 +1350,7 @@ nh5ltset_attribute_double_c(hid_t_f *loc_id, c_loc_id = (hid_t)*loc_id; c_size = (size_t)*size; - ret = H5LTset_attribute_double(c_loc_id,c_name,c_attrname,buf,c_size); + ret = H5LTset_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf,c_size); if (ret < 0) goto done; @@ -1416,11 +1388,11 @@ done: int_f nh5ltset_attribute_string_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, - int_f *buflen, + size_t_f *buflen, void *buf) { int ret_value = -1; @@ -1428,26 +1400,20 @@ nh5ltset_attribute_string_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; char *c_buf = NULL; - int c_buflen; /* * convert FORTRAN name to C name */ - c_namelen = *namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = *attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; - c_buflen = *buflen; - c_buf = (char *)HD5f2cstring(buf, c_buflen); + c_buf = (char *)HD5f2cstring((_fcd)buf, (size_t)*buflen); if (c_buf == NULL) goto done; @@ -1497,9 +1463,9 @@ done: int_f nh5ltget_attribute_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf) { @@ -1508,19 +1474,15 @@ nh5ltget_attribute_int_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1530,11 +1492,11 @@ nh5ltget_attribute_int_c(hid_t_f *loc_id, c_loc_id = (hid_t)*loc_id; if(sizeof(int_f) == sizeof(int)) - ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,buf); + ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,(int *)buf); else if (sizeof(int_f) == sizeof(long)) - ret = H5LTget_attribute_long(c_loc_id,c_name,c_attrname,buf); + ret = H5LTget_attribute_long(c_loc_id,c_name,c_attrname,(long *)buf); else if (sizeof(int_f) == sizeof(long long)) - ret = H5LTget_attribute_long_long(c_loc_id,c_name,c_attrname,buf); + ret = H5LTget_attribute_long_long(c_loc_id,c_name,c_attrname,(long long *)buf); else goto done; @@ -1575,9 +1537,9 @@ done: int_f nh5ltget_attribute_float_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf) { @@ -1586,19 +1548,15 @@ nh5ltget_attribute_float_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1607,7 +1565,7 @@ nh5ltget_attribute_float_c(hid_t_f *loc_id, */ c_loc_id = (hid_t)*loc_id; - ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,buf); + ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,(float*)buf); if (ret < 0) goto done; @@ -1644,9 +1602,9 @@ done: int_f nh5ltget_attribute_double_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, void *buf) { @@ -1655,19 +1613,15 @@ nh5ltget_attribute_double_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -1676,7 +1630,7 @@ nh5ltget_attribute_double_c(hid_t_f *loc_id, */ c_loc_id = (hid_t)*loc_id; - ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,buf); + ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf); if (ret < 0) goto done; @@ -1714,9 +1668,9 @@ done: int_f nh5ltget_attribute_string_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, _fcd buf, size_t_f *buf_size) { @@ -1725,25 +1679,21 @@ nh5ltget_attribute_string_c(hid_t_f *loc_id, char *c_name = NULL; char *c_attrname = NULL; char *c_buf = NULL; - int c_namelen; - int c_attrnamelen; /* * Convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; /* * Allocate buffer to hold C attribute string */ - if ((c_buf = HDmalloc((size_t)*buf_size + 1)) == NULL) + if ((c_buf = (char *)HDmalloc((size_t)*buf_size + 1)) == NULL) goto done; /* @@ -1793,7 +1743,7 @@ done: int_f nh5ltget_dataset_ndims_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *rank) { @@ -1801,14 +1751,12 @@ nh5ltget_dataset_ndims_c(hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; int c_rank; /* * Convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) goto done; @@ -1855,19 +1803,17 @@ done: int_f nh5ltfind_dataset_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name) { hid_t c_loc_id; char *c_name = NULL; - int c_namelen; herr_t ret; /* * Convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) return -1; /* @@ -1905,7 +1851,7 @@ nh5ltfind_dataset_c(hid_t_f *loc_id, int_f nh5ltget_dataset_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *dims, int_f *type_class, @@ -1915,7 +1861,6 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id, herr_t ret; hid_t c_loc_id; char *c_name = NULL; - int c_namelen; H5T_class_t c_classtype; size_t c_type_size; hsize_t c_dims[32]; @@ -1925,8 +1870,7 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id, /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) goto done; @@ -1986,9 +1930,9 @@ done: int_f nh5ltget_attribute_ndims_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd dsetname, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, int_f *rank) { @@ -1997,20 +1941,16 @@ nh5ltget_attribute_ndims_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; int c_rank; /* * Convert FORTRAN name to C name */ - c_namelen =(int) *namelen; - c_name = (char *)HD5f2cstring(dsetname, c_namelen); + c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -2059,9 +1999,9 @@ done: int_f nh5ltget_attribute_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *attrnamelen, + size_t_f *attrnamelen, _fcd attrname, hsize_t_f *dims, int_f *type_class, @@ -2072,8 +2012,6 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id, hid_t c_loc_id; char *c_name = NULL; char *c_attrname = NULL; - int c_namelen; - int c_attrnamelen; H5T_class_t c_classtype; size_t c_type_size; hsize_t c_dims[32]; @@ -2083,13 +2021,11 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id, /* * convert FORTRAN name to C name */ - c_namelen = (int)*namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); + c_name = (char *)HD5f2cstring(name, (size_t)*namelen); if (c_name == NULL) goto done; - c_attrnamelen = (int)*attrnamelen; - c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen); if (c_attrname == NULL) goto done; @@ -2152,9 +2088,9 @@ done: int_f nh5ltpath_valid_c(hid_t_f *loc_id, - _fcd path, - int_f *pathlen, - int_f *check_object_valid_c) + _fcd path, + size_t_f *pathlen, + int_f *check_object_valid_c) { htri_t ret = -1; char *c_path = NULL; diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 index 8df024e..9393f7f 100644 --- a/hl/fortran/src/H5LTff.f90 +++ b/hl/fortran/src/H5LTff.f90 @@ -171,11 +171,11 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) @@ -187,10 +187,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int1_c END INTERFACE @@ -237,10 +237,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -254,10 +254,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int2_c @@ -305,10 +305,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -322,10 +322,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int3_c @@ -368,10 +368,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -385,10 +385,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int4_c @@ -431,10 +431,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -448,10 +448,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int5_c @@ -494,10 +494,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -511,10 +511,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int6_c @@ -557,10 +557,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -574,10 +574,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_int7_c @@ -626,11 +626,11 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) @@ -642,10 +642,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl1_c END INTERFACE @@ -692,10 +692,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -709,10 +709,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl2_c @@ -760,10 +760,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -777,10 +777,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl3_c @@ -823,10 +823,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -840,10 +840,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl4_c @@ -886,10 +886,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -903,10 +903,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl5_c @@ -949,10 +949,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -966,10 +966,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl6_c @@ -1012,10 +1012,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -1029,10 +1029,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_fl7_c @@ -1080,11 +1080,11 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) @@ -1096,10 +1096,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl1_c END INTERFACE @@ -1146,10 +1146,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -1163,10 +1163,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl2_c @@ -1214,10 +1214,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -1231,10 +1231,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl3_c @@ -1277,10 +1277,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer @@ -1294,10 +1294,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl4_c @@ -1340,10 +1340,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -1357,10 +1357,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl5_c @@ -1403,10 +1403,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -1420,10 +1420,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl6_c @@ -1466,10 +1466,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -1483,10 +1483,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_dl7_c @@ -1533,10 +1533,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) @@ -1548,9 +1548,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(LEN=*), INTENT(IN) :: dset_name ! name of the dataset - INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf + INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the buffer buf INTEGER, INTENT(IN), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltread_dataset_int1_c END INTERFACE @@ -1596,9 +1596,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -1612,9 +1612,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int2_c @@ -1661,9 +1661,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -1677,9 +1677,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int3_c @@ -1722,9 +1722,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -1738,9 +1738,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int4_c @@ -1783,9 +1783,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -1799,9 +1799,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int5_c @@ -1844,9 +1844,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -1860,9 +1860,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int6_c @@ -1905,9 +1905,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -1921,9 +1921,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_int7_c @@ -1971,10 +1971,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) @@ -1986,9 +1986,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl1_c END INTERFACE @@ -2035,9 +2035,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -2051,9 +2051,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl2_c @@ -2100,9 +2100,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -2116,9 +2116,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl3_c @@ -2161,9 +2161,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -2177,9 +2177,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl4_c @@ -2222,9 +2222,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -2238,9 +2238,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl5_c @@ -2283,9 +2283,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -2299,9 +2299,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl6_c @@ -2344,9 +2344,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -2360,9 +2360,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_fl7_c @@ -2410,10 +2410,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) @@ -2425,9 +2425,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl1_c END INTERFACE @@ -2473,9 +2473,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -2489,9 +2489,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl2_c @@ -2538,9 +2538,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -2554,9 +2554,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl3_c @@ -2599,9 +2599,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -2615,9 +2615,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl4_c @@ -2660,9 +2660,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -2676,9 +2676,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl5_c @@ -2721,9 +2721,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -2737,9 +2737,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl6_c @@ -2782,9 +2782,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -2798,9 +2798,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_dl7_c @@ -2847,10 +2847,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) @@ -2862,10 +2862,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint1_c END INTERFACE @@ -2911,9 +2911,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -2928,10 +2928,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint2_c @@ -2979,9 +2979,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -2996,10 +2996,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint3_c @@ -3042,9 +3042,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -3059,10 +3059,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint4_c @@ -3105,9 +3105,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -3122,10 +3122,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint5_c @@ -3168,9 +3168,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -3185,10 +3185,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint6_c @@ -3231,9 +3231,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -3248,10 +3248,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nint7_c @@ -3298,10 +3298,10 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) @@ -3313,10 +3313,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl1_c END INTERFACE @@ -3362,9 +3362,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -3378,10 +3378,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl2_c @@ -3428,9 +3428,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -3444,10 +3444,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl3_c @@ -3490,9 +3490,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -3506,10 +3506,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl4_c @@ -3552,9 +3552,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -3568,10 +3568,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl5_c @@ -3614,9 +3614,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -3630,10 +3630,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl6_c @@ -3676,9 +3676,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -3692,10 +3692,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_nfl7_c @@ -3743,9 +3743,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1)) :: buf ! data buffer @@ -3759,10 +3759,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl1_c @@ -3810,9 +3810,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -3826,10 +3826,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl2_c @@ -3876,9 +3876,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -3892,10 +3892,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl3_c @@ -3938,9 +3938,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -3954,10 +3954,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl4_c @@ -4000,9 +4000,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -4016,10 +4016,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl5_c @@ -4062,9 +4062,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -4078,10 +4078,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl6_c @@ -4124,9 +4124,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -4140,10 +4140,10 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(in) :: rank ! rank - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(in), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltmake_dataset_ndl7_c @@ -4188,9 +4188,9 @@ CONTAINS INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer @@ -4204,9 +4204,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint1_c @@ -4252,9 +4252,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -4268,9 +4268,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint2_c @@ -4315,9 +4315,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -4331,9 +4331,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint3_c @@ -4374,9 +4374,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -4390,9 +4390,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint4_c @@ -4433,9 +4433,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -4449,9 +4449,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint5_c @@ -4492,9 +4492,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -4508,9 +4508,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint6_c @@ -4551,9 +4551,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -4567,9 +4567,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nint7_c @@ -4615,9 +4615,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer @@ -4631,9 +4631,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl1_c @@ -4679,9 +4679,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -4695,9 +4695,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl2_c @@ -4742,9 +4742,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -4758,9 +4758,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl3_c @@ -4801,9 +4801,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -4817,9 +4817,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl4_c @@ -4860,9 +4860,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -4876,9 +4876,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl5_c @@ -4919,9 +4919,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -4935,9 +4935,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl6_c @@ -4978,9 +4978,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -4994,9 +4994,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf REAL, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_nfl7_c @@ -5041,9 +5041,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer @@ -5057,9 +5057,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl1_c @@ -5105,9 +5105,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer @@ -5121,9 +5121,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl2_c @@ -5168,9 +5168,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer @@ -5184,9 +5184,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl3_c @@ -5227,9 +5227,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer @@ -5243,9 +5243,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl4_c @@ -5286,9 +5286,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer @@ -5302,9 +5302,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl5_c @@ -5345,9 +5345,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer @@ -5361,9 +5361,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl6_c @@ -5404,9 +5404,9 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer @@ -5420,9 +5420,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset - INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the bufffer buf + INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf DOUBLE PRECISION, INTENT(inout), & DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer END FUNCTION h5ltread_dataset_ndl7_c @@ -5457,20 +5457,18 @@ CONTAINS errcode ) IMPLICIT NONE - ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_string_f !DEC$endif ! - INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: buflen ! buffer length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: buflen ! buffer length INTERFACE INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) @@ -5481,8 +5479,8 @@ CONTAINS !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: buflen ! lenght of data buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: buflen ! length of data buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: buf ! data buffer END FUNCTION h5ltmake_dataset_string_c @@ -5529,7 +5527,7 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(inout) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) @@ -5540,7 +5538,7 @@ CONTAINS !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(inout) :: buf ! data buffer END FUNCTION h5ltread_dataset_string_c @@ -5598,8 +5596,8 @@ CONTAINS INTEGER(size_t), INTENT(in) :: size ! size of attribute array INTEGER :: errcode ! error code INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) @@ -5611,8 +5609,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER(size_t), INTENT(in) :: size ! size of attribute array @@ -5665,8 +5663,8 @@ CONTAINS INTEGER(size_t), INTENT(in) :: size ! size of attribute array INTEGER :: errcode ! error code REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) @@ -5678,8 +5676,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER(size_t), INTENT(in) :: size ! size of attribute array @@ -5732,8 +5730,8 @@ CONTAINS INTEGER(size_t), INTENT(in) :: size ! size of attribute array INTEGER :: errcode ! error code DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) @@ -5745,8 +5743,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER(size_t), INTENT(in) :: size ! size of attribute array @@ -5798,9 +5796,9 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER :: errcode ! error code CHARACTER(len=*), INTENT(in) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length - INTEGER :: buflen ! data buffer length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length + INTEGER(size_t) :: buflen ! data buffer length INTERFACE INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) @@ -5812,9 +5810,9 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer - INTEGER :: buflen ! data buffer length + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer + INTEGER(size_t) :: buflen ! data buffer length CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute CHARACTER(len=*), INTENT(in) :: buf ! data buffer @@ -5867,8 +5865,8 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER :: errcode ! error code INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) @@ -5880,11 +5878,11 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute - INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer + INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer END FUNCTION h5ltget_attribute_int_c END INTERFACE @@ -5932,8 +5930,8 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER :: errcode ! error code REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) @@ -5945,8 +5943,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer @@ -5996,8 +5994,8 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER :: errcode ! error code DOUBLE PRECISION,INTENT(inout),DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) @@ -6009,8 +6007,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute DOUBLE PRECISION, INTENT(inout), DIMENSION(*) :: buf ! data buffer @@ -6060,8 +6058,8 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER :: errcode ! error code CHARACTER(len=*), INTENT(inout) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTEGER(size_t) :: buf_size ! buf size INTERFACE @@ -6074,8 +6072,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute CHARACTER(len=*), INTENT(inout) :: buf ! data buffer @@ -6130,7 +6128,7 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(inout) :: rank ! rank INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) @@ -6141,7 +6139,7 @@ CONTAINS !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER, INTENT(inout) :: rank ! rank END FUNCTION h5ltget_dataset_ndims_c @@ -6186,7 +6184,7 @@ CONTAINS INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name) @@ -6197,7 +6195,7 @@ CONTAINS !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset END FUNCTION h5ltfind_dataset_c END INTERFACE @@ -6247,7 +6245,7 @@ CONTAINS INTEGER, INTENT(inout) :: type_class ! type class INTEGER(size_t), INTENT(inout) :: type_size ! type size INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) @@ -6258,7 +6256,7 @@ CONTAINS !DEC$ENDIF !DEC$ATTRIBUTES reference :: dset_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer + INTEGER(size_t) :: namelen ! length of name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions INTEGER, INTENT(inout) :: type_class ! type class @@ -6314,8 +6312,8 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER, INTENT(inout) :: rank ! rank INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) @@ -6327,8 +6325,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER, INTENT(inout) :: rank ! rank @@ -6383,8 +6381,8 @@ CONTAINS INTEGER, INTENT(inout) :: type_class ! type class INTEGER(size_t), INTENT(inout) :: type_size ! type size INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: attrlen ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: attrlen ! name length INTERFACE INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) @@ -6396,8 +6394,8 @@ CONTAINS !DEC$ATTRIBUTES reference :: dset_name !DEC$ATTRIBUTES reference :: attr_name INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier - INTEGER :: namelen ! lenght of name buffer - INTEGER :: attrlen ! lenght of attr name buffer + INTEGER(size_t) :: namelen ! length of name buffer + INTEGER(size_t) :: attrlen ! length of attr name buffer CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions @@ -6445,7 +6443,7 @@ CONTAINS LOGICAL , INTENT(OUT) :: path_valid ! Object status INTEGER , INTENT(OUT) :: errcode ! Error code: 0 on success and -1 on failure - INTEGER :: pathlen + INTEGER(size_t) :: pathlen INTEGER :: check_object_valid_c INTEGER :: status @@ -6459,7 +6457,7 @@ CONTAINS !DEC$ATTRIBUTES reference :: path INTEGER(hid_t), INTENT(in) :: loc_id CHARACTER(len=*), INTENT(in) :: path - INTEGER :: pathlen + INTEGER(size_t) :: pathlen INTEGER :: check_object_valid_c END FUNCTION h5ltpath_valid_c END INTERFACE diff --git a/hl/fortran/src/H5TBfc.c b/hl/fortran/src/H5TBfc.c index 0efc9a8..bf058fd 100644 --- a/hl/fortran/src/H5TBfc.c +++ b/hl/fortran/src/H5TBfc.c @@ -37,10 +37,10 @@ *------------------------------------------------------------------------- */ int_f -nh5tbmake_table_c(int_f *namelen1, +nh5tbmake_table_c(size_t_f *namelen1, _fcd name1, hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, hsize_t_f *nrecords, @@ -49,8 +49,8 @@ nh5tbmake_table_c(int_f *namelen1, hid_t_f *field_types, hsize_t_f *chunk_size, int_f *compress, - int_f *char_len_field_names, /* field_names lenghts */ - int_f *max_char_size_field_names, /* char len of fields */ + size_t_f *char_len_field_names, /* field_names lenghts */ + size_t_f *max_char_size_field_names, /* char len of fields */ char *field_names) /* field_names */ { char *c_name = NULL; @@ -64,7 +64,7 @@ nh5tbmake_table_c(int_f *namelen1, char *tmp = NULL, *tmp_p; int_f ret_value = 0; - num_elem = *nfields; + num_elem = (hsize_t)*nfields; /* * convert FORTRAN name to C name @@ -79,7 +79,7 @@ nh5tbmake_table_c(int_f *namelen1, HGOTO_DONE(FAIL) for(i = 0; i < num_elem; i++) { - c_field_offset[i] = field_offset[i]; + c_field_offset[i] = (size_t)field_offset[i]; c_field_types[i] = field_types[i]; } /* end for */ @@ -100,7 +100,7 @@ nh5tbmake_table_c(int_f *namelen1, if(NULL == (c_field_names[i] = (char *)HDmalloc((size_t)char_len_field_names[i] + 1))) HGOTO_DONE(FAIL) HDmemcpy(c_field_names[i], tmp_p, (size_t)char_len_field_names[i]); - c_field_names[i][char_len_field_names[i]] = '\0'; + c_field_names[i][char_len_field_names[i]] = '\0'; tmp_p = tmp_p + *max_char_size_field_names; } /* end for */ @@ -123,7 +123,7 @@ done: if(c_field_names[i]) HDfree(c_field_names[i]); } /* end for */ - HDfree(c_field_names); + HDfree(c_field_names); } /* end if */ if(tmp) HDfree(tmp); @@ -152,9 +152,9 @@ done: */ int_f nh5tbwrite_field_name_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -192,9 +192,9 @@ done: int_f nh5tbwrite_field_name_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -207,9 +207,9 @@ nh5tbwrite_field_name_int_c(hid_t_f *loc_id, int_f nh5tbwrite_field_name_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -222,9 +222,9 @@ nh5tbwrite_field_name_fl_c(hid_t_f *loc_id, int_f nh5tbwrite_field_name_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -237,9 +237,9 @@ nh5tbwrite_field_name_dl_c(hid_t_f *loc_id, int_f nh5tbwrite_field_name_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -267,9 +267,9 @@ nh5tbwrite_field_name_st_c(hid_t_f *loc_id, */ int_f nh5tbread_field_name_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -307,9 +307,9 @@ done: int_f nh5tbread_field_name_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -322,9 +322,9 @@ nh5tbread_field_name_int_c(hid_t_f *loc_id, int_f nh5tbread_field_name_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -337,9 +337,9 @@ nh5tbread_field_name_fl_c(hid_t_f *loc_id, int_f nh5tbread_field_name_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -352,9 +352,9 @@ nh5tbread_field_name_dl_c(hid_t_f *loc_id, int_f nh5tbread_field_name_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hsize_t_f *start, hsize_t_f *nrecords, @@ -382,7 +382,7 @@ nh5tbread_field_name_st_c(hid_t_f *loc_id, */ int_f nh5tbwrite_field_index_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -418,7 +418,7 @@ done: int_f nh5tbwrite_field_index_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -432,7 +432,7 @@ nh5tbwrite_field_index_int_c(hid_t_f *loc_id, int_f nh5tbwrite_field_index_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -446,7 +446,7 @@ nh5tbwrite_field_index_fl_c(hid_t_f *loc_id, int_f nh5tbwrite_field_index_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -460,7 +460,7 @@ nh5tbwrite_field_index_dl_c(hid_t_f *loc_id, int_f nh5tbwrite_field_index_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -489,7 +489,7 @@ nh5tbwrite_field_index_st_c(hid_t_f *loc_id, */ int_f nh5tbread_field_index_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -524,7 +524,7 @@ done: int_f nh5tbread_field_index_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -538,7 +538,7 @@ nh5tbread_field_index_int_c(hid_t_f *loc_id, int_f nh5tbread_field_index_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -552,7 +552,7 @@ nh5tbread_field_index_fl_c(hid_t_f *loc_id, int_f nh5tbread_field_index_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -566,7 +566,7 @@ nh5tbread_field_index_dl_c(hid_t_f *loc_id, int_f nh5tbread_field_index_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, int_f *field_index, hsize_t_f *start, @@ -595,9 +595,9 @@ nh5tbread_field_index_st_c(hid_t_f *loc_id, */ int_f nh5tbinsert_field_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -633,9 +633,9 @@ done: int_f nh5tbinsert_field_int_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -647,9 +647,9 @@ nh5tbinsert_field_int_c(hid_t_f *loc_id, int_f nh5tbinsert_field_fl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -661,9 +661,9 @@ nh5tbinsert_field_fl_c(hid_t_f *loc_id, int_f nh5tbinsert_field_dl_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -675,9 +675,9 @@ nh5tbinsert_field_dl_c(hid_t_f *loc_id, int_f nh5tbinsert_field_st_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name, hid_t_f *field_type, int_f *position, @@ -704,9 +704,9 @@ nh5tbinsert_field_st_c(hid_t_f *loc_id, */ int_f nh5tbdelete_field_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, - int_f *namelen1, + size_t_f *namelen1, _fcd field_name) { char *c_name = NULL; @@ -753,7 +753,7 @@ done: */ int_f nh5tbget_table_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, hsize_t_f *nrecords) @@ -803,16 +803,16 @@ done: */ int_f nh5tbget_field_info_c(hid_t_f *loc_id, - int_f *namelen, + size_t_f *namelen, _fcd name, hsize_t_f *nfields, size_t_f *field_sizes, size_t_f *field_offsets, size_t_f *type_size, - int_f *namelen2, /* field_names lenghts */ - int_f *lenmax, /* character len max */ + size_t_f *namelen2, /* field_names lenghts */ + size_t_f *lenmax, /* character len max */ _fcd field_names, /* field_names */ - int_f *maxlen_out) + size_t_f *maxlen_out) { char *c_name = NULL; @@ -867,9 +867,9 @@ nh5tbget_field_info_c(hid_t_f *loc_id, size_t field_name_len = HDstrlen(c_field_names[i]); HDmemcpy(tmp_p, c_field_names[i], field_name_len); - namelen2[i] = (int_f)field_name_len; - length = MAX(length, strlen((c_field_names[i]))); - tmp_p = tmp_p + c_lenmax; + namelen2[i] = (size_t_f)field_name_len; + length = MAX(length, strlen((c_field_names[i]))); + tmp_p = tmp_p + c_lenmax; } /* end for */ HD5packFstring(tmp, _fcdtocp(field_names), (size_t)( c_lenmax* c_nfields)); @@ -880,7 +880,7 @@ nh5tbget_field_info_c(hid_t_f *loc_id, field_offsets[i] = (size_t_f)c_field_offsets[i]; } /* end for */ - *maxlen_out = (int_f)length; + *maxlen_out = (size_t_f)length; done: if(c_name) diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.f90 index 8d31a93..5846f49 100644 --- a/hl/fortran/src/H5TBff.f90 +++ b/hl/fortran/src/H5TBff.f90 @@ -93,14 +93,12 @@ SUBROUTINE h5tbmake_table_f(table_title,& errcode ) IMPLICIT NONE - ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbmake_table_f !DEC$endif ! - CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset @@ -112,12 +110,12 @@ SUBROUTINE h5tbmake_table_f(table_title,& INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size INTEGER, INTENT(in) :: compress ! compress - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code - INTEGER, DIMENSION(1:nfields) :: char_len_field_names ! field name lengths - INTEGER :: max_char_size_field_names ! character len of field names - INTEGER :: i ! general purpose integer + INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths + INTEGER(size_t) :: max_char_size_field_names ! character len of field names + INTEGER(hsize_t) :: i ! general purpose integer INTERFACE @@ -155,10 +153,10 @@ SUBROUTINE h5tbmake_table_f(table_title,& INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size INTEGER, INTENT(in) :: compress ! compress - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length - INTEGER, DIMENSION(nfields) :: char_len_field_names ! field name's lengths - INTEGER :: max_char_size_field_names ! character len of field names + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length + INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths + INTEGER(size_t) :: max_char_size_field_names ! character len of field names END FUNCTION h5tbmake_table_c END INTERFACE @@ -232,8 +230,8 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -254,8 +252,8 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbwrite_field_name_int_c END INTERFACE @@ -308,8 +306,8 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -330,8 +328,8 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbwrite_field_name_fl_c END INTERFACE @@ -386,8 +384,8 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -408,8 +406,8 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbwrite_field_name_dl_c END INTERFACE @@ -462,8 +460,8 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -484,8 +482,8 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbwrite_field_name_st_c END INTERFACE @@ -539,8 +537,8 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbread_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -561,8 +559,8 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbread_field_name_int_c END INTERFACE @@ -615,8 +613,8 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbread_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -637,8 +635,8 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbread_field_name_fl_c END INTERFACE @@ -691,8 +689,8 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbread_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -713,8 +711,8 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbread_field_name_dl_c END INTERFACE @@ -767,8 +765,8 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTERFACE INTEGER FUNCTION h5tbread_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,& @@ -789,8 +787,8 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length END FUNCTION h5tbread_field_name_st_c END INTERFACE @@ -844,7 +842,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_index_int_c(loc_id,namelen,dset_name,field_index,& @@ -864,7 +862,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbwrite_field_index_int_c END INTERFACE @@ -916,7 +914,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_index_fl_c(loc_id,namelen,dset_name,field_index,& @@ -936,7 +934,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbwrite_field_index_fl_c END INTERFACE @@ -990,7 +988,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_index_dl_c(loc_id,namelen,dset_name,field_index,& @@ -1010,7 +1008,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbwrite_field_index_dl_c END INTERFACE @@ -1062,7 +1060,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbwrite_field_index_st_c(loc_id,namelen,dset_name,field_index,& @@ -1082,7 +1080,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbwrite_field_index_st_c END INTERFACE @@ -1135,7 +1133,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbread_field_index_int_c(loc_id,namelen,dset_name,field_index,& @@ -1155,7 +1153,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbread_field_index_int_c END INTERFACE @@ -1207,7 +1205,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbread_field_index_fl_c(loc_id,namelen,dset_name,field_index,& @@ -1227,7 +1225,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbread_field_index_fl_c END INTERFACE @@ -1279,7 +1277,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbread_field_index_dl_c(loc_id,namelen,dset_name,field_index,& @@ -1299,7 +1297,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbread_field_index_dl_c END INTERFACE @@ -1351,7 +1349,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbread_field_index_st_c(loc_id,namelen,dset_name,field_index,& @@ -1371,7 +1369,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& INTEGER(size_t), INTENT(in) :: type_size ! type size CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbread_field_index_st_c END INTERFACE @@ -1420,8 +1418,8 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code @@ -1442,8 +1440,8 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length length END FUNCTION h5tbinsert_field_int_c END INTERFACE @@ -1494,8 +1492,8 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code @@ -1516,8 +1514,8 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length length END FUNCTION h5tbinsert_field_fl_c END INTERFACE @@ -1568,8 +1566,8 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code @@ -1590,8 +1588,8 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length length END FUNCTION h5tbinsert_field_dl_c END INTERFACE @@ -1643,8 +1641,8 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code @@ -1665,8 +1663,8 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& INTEGER(hid_t), INTENT(in) :: field_type ! field type INTEGER, INTENT(in) :: field_index ! field_index CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length length END FUNCTION h5tbinsert_field_st_c END INTERFACE @@ -1712,8 +1710,8 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length INTEGER :: errcode ! error code @@ -1730,8 +1728,8 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier CHARACTER(LEN=*), INTENT(IN) :: dset_name ! name of the dataset CHARACTER(LEN=*), INTENT(IN) :: field_name ! name of the field - INTEGER :: namelen ! name length - INTEGER :: namelen1 ! name length length + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: namelen1 ! name length length END FUNCTION h5tbdelete_field_c END INTERFACE @@ -1781,7 +1779,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& INTEGER(hsize_t), INTENT(inout):: nfields ! nfields INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords INTEGER :: errcode ! error code - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length INTERFACE INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) @@ -1795,7 +1793,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset INTEGER(hsize_t), INTENT(inout):: nfields ! nfields INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords - INTEGER :: namelen ! name length + INTEGER(size_t) :: namelen ! name length END FUNCTION h5tbget_table_info_c END INTERFACE @@ -1819,7 +1817,7 @@ END SUBROUTINE h5tbget_table_info_f ! Comments: ! ! Modifications: -! Added optional parameter for returning the maximum character lenght +! Added optional parameter for returning the maximum character length ! in the field name array. March 3, 2011 ! !------------------------------------------------------------------------- @@ -1828,9 +1826,9 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& dset_name,& nfields,& field_names,& - field_sizes,& - field_offsets,& - type_size,& + field_sizes,& + field_offsets,& + type_size,& errcode, maxlen_out ) IMPLICIT NONE @@ -1849,11 +1847,11 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& INTEGER(size_t), INTENT(inout):: type_size ! type size INTEGER :: errcode ! error code INTEGER, OPTIONAL :: maxlen_out ! maximum character len of the field names - INTEGER :: namelen ! name length - INTEGER, DIMENSION(nfields) :: namelen2 ! name lengths - INTEGER :: i ! general purpose integer - INTEGER :: maxlen - INTEGER :: c_maxlen_out + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths + INTEGER(hsize_t) :: i ! general purpose integer + INTEGER(size_t) :: maxlen + INTEGER(size_t) :: c_maxlen_out INTERFACE INTEGER FUNCTION h5tbget_field_info_c(loc_id,namelen,dset_name,nfields,& @@ -1872,10 +1870,10 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes ! field sizes INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets ! field offsets INTEGER(size_t), INTENT(inout):: type_size ! type size - INTEGER :: namelen ! name length - INTEGER :: maxlen ! maxiumum length of input field names - INTEGER, DIMENSION(1:nfields) :: namelen2 ! name lengths - INTEGER :: c_maxlen_out ! maximum character length of a field array element + INTEGER(size_t) :: namelen ! name length + INTEGER(size_t) :: maxlen ! maxiumum length of input field names + INTEGER(size_t), DIMENSION(1:nfields) :: namelen2 ! name lengths + INTEGER(size_t) :: c_maxlen_out ! maximum character length of a field array element END FUNCTION h5tbget_field_info_c END INTERFACE diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 3ccfb9d..6f34295 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@ @@ -477,17 +475,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -550,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@ @@ -565,10 +559,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -690,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 = 205 +LT_VERS_REVISION = 206 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 e1b28a5..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@ @@ -468,17 +466,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -541,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@ @@ -556,10 +550,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/hl/fortran/test/tstds.f90 b/hl/fortran/test/tstds.f90 index c73e1c4..cbf6c38 100644 --- a/hl/fortran/test/tstds.f90 +++ b/hl/fortran/test/tstds.f90 @@ -91,7 +91,7 @@ SUBROUTINE test_testds(err) !------------------------------------------------------------------------- ! attach the DS_1_NAME dimension scale to DSET_NAME at dimension 1 !------------------------------------------------------------------------- - + CALL test_begin(' Test Attaching Dimension Scale ') ! get the dataset id for DSET_NAME diff --git a/hl/fortran/test/tstimage.f90 b/hl/fortran/test/tstimage.f90 index 3794bbf..0bff6b2 100644 --- a/hl/fortran/test/tstimage.f90 +++ b/hl/fortran/test/tstimage.f90 @@ -111,13 +111,11 @@ end do ! Initialize FORTRAN predefined datatypes. ! call h5open_f(errcode) - ! ! Create a new file using default properties. ! call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) - !------------------------------------------------------------------------- ! indexed image !------------------------------------------------------------------------- diff --git a/hl/fortran/test/tstlite.f90 b/hl/fortran/test/tstlite.f90 index 0b5a138..d035b89 100644 --- a/hl/fortran/test/tstlite.f90 +++ b/hl/fortran/test/tstlite.f90 @@ -63,7 +63,6 @@ INTEGER :: i ! general purpose integer CALL test_begin(' Make/Read datasets (1D) ') - ! ! Initialize the data array. ! @@ -186,8 +185,8 @@ USE HDF5 ! module of HDF5 library IMPLICIT NONE -INTEGER, PARAMETER :: DIM1 = 4; ! columns -INTEGER, PARAMETER :: DIM2 = 6; ! rows +INTEGER(HSIZE_T), PARAMETER :: DIM1 = 4; ! columns +INTEGER(HSIZE_T), PARAMETER :: DIM2 = 6; ! rows CHARACTER(len=9), PARAMETER :: filename = "dsetf2.h5"! File name CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name @@ -205,7 +204,7 @@ REAL, DIMENSION(DIM1,DIM2) :: buf3r ! Data buffer DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4 ! Data buffer DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4r ! Data buffer INTEGER :: errcode ! Error flag -INTEGER :: i, j, n ! general purpose integers +INTEGER(HSIZE_T) :: i, j, n ! general purpose integers CALL test_begin(' Make/Read datasets (2D) ') @@ -215,15 +214,15 @@ CALL test_begin(' Make/Read datasets (2D) ') ! n=1 DO i = 1, DIM1*DIM2 - buf(i) = n; + buf(i) = INT(n) n = n + 1 END DO DO i = 1, dims(1) DO j = 1, dims(2) - buf2(i,j) = (i-1)*dims(2) + j; - buf3(i,j) = (i-1)*dims(2) + j; - buf4(i,j) = (i-1)*dims(2) + j; + buf2(i,j) = INT((i-1)*dims(2) + j) + buf3(i,j) = INT((i-1)*dims(2) + j) + buf4(i,j) = INT((i-1)*dims(2) + j) END DO END DO @@ -373,9 +372,9 @@ USE HDF5 ! module of HDF5 library IMPLICIT NONE -INTEGER, PARAMETER :: DIM1 = 6; ! columns -INTEGER, PARAMETER :: DIM2 = 4; ! rows -INTEGER, PARAMETER :: DIM3 = 2; ! layers +INTEGER, PARAMETER :: DIM1 = 6 ! columns +INTEGER, PARAMETER :: DIM2 = 4 ! rows +INTEGER, PARAMETER :: DIM3 = 2 ! layers CHARACTER(len=9), PARAMETER :: filename = "dsetf3.h5" ! File name CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name @@ -394,7 +393,7 @@ DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4 ! Data buffer DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4r ! Data buffer INTEGER :: rank = 3 ! Dataset rank INTEGER :: errcode ! Error flag -INTEGER :: i, j, k, n ! general purpose integers +INTEGER(HSIZE_T) :: i, j, k, n ! general purpose integers INTEGER :: type_class INTEGER(SIZE_T) :: type_size @@ -406,20 +405,20 @@ CALL test_begin(' Make/Read datasets (3D) ') ! n=1 DO i = 1, DIM1*DIM2*DIM3 - buf(i) = n; + buf(i) = INT(n) n = n + 1 END DO n = 1 DO i = 1, dims(1) - DO j = 1, dims(2) - DO k = 1, dims(3) - buf2(i,j,k) = n; - buf3(i,j,k) = n; - buf4(i,j,k) = n; - n = n + 1 - END DO - END DO + DO j = 1, dims(2) + DO k = 1, dims(3) + buf2(i,j,k) = INT(n) + buf3(i,j,k) = INT(n) + buf4(i,j,k) = INT(n) + n = n + 1 + END DO + END DO END DO ! @@ -625,7 +624,7 @@ SUBROUTINE test_datasetND(rank) DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbuf_7 ! Data buffer DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbufr_7 ! Data buffer INTEGER :: errcode ! Error flag - INTEGER :: i, j, k, l, m, n, o, nn ! general purpose integers + INTEGER(HSIZE_T) :: i, j, k, l, m, n, o, nn ! general purpose integers INTEGER :: type_class INTEGER(SIZE_T) :: type_size CHARACTER(LEN=1) :: ichr1 @@ -651,9 +650,9 @@ SUBROUTINE test_datasetND(rank) DO j = 1, DIM2 DO k = 1, DIM3 DO l = 1, DIM4 - ibuf_4(i,j,k,l) = nn - rbuf_4(i,j,k,l) = nn - dbuf_4(i,j,k,l) = nn + ibuf_4(i,j,k,l) = INT(nn) + rbuf_4(i,j,k,l) = INT(nn) + dbuf_4(i,j,k,l) = INT(nn) nn = nn + 1 END DO END DO @@ -677,9 +676,9 @@ SUBROUTINE test_datasetND(rank) DO k = 1, DIM3 DO l = 1, DIM4 DO m = 1, DIM5 - ibuf_5(i,j,k,l,m) = nn - rbuf_5(i,j,k,l,m) = nn - dbuf_5(i,j,k,l,m) = nn + ibuf_5(i,j,k,l,m) = INT(nn) + rbuf_5(i,j,k,l,m) = INT(nn) + dbuf_5(i,j,k,l,m) = INT(nn) nn = nn + 1 END DO END DO @@ -705,9 +704,9 @@ SUBROUTINE test_datasetND(rank) DO l = 1, DIM4 DO m = 1, DIM5 DO n = 1, DIM6 - ibuf_6(i,j,k,l,m,n) = nn - rbuf_6(i,j,k,l,m,n) = nn - dbuf_6(i,j,k,l,m,n) = nn + ibuf_6(i,j,k,l,m,n) = INT(nn) + rbuf_6(i,j,k,l,m,n) = INT(nn) + dbuf_6(i,j,k,l,m,n) = INT(nn) nn = nn + 1 END DO END DO @@ -735,9 +734,9 @@ SUBROUTINE test_datasetND(rank) DO m = 1, DIM5 DO n = 1, DIM6 DO o = 1, DIM7 - ibuf_7(i,j,k,l,m,n,o) = nn - rbuf_7(i,j,k,l,m,n,o) = nn - dbuf_7(i,j,k,l,m,n,o) = nn + ibuf_7(i,j,k,l,m,n,o) = INT(nn) + rbuf_7(i,j,k,l,m,n,o) = INT(nn) + dbuf_7(i,j,k,l,m,n,o) = INT(nn) nn = nn + 1 END DO END DO @@ -1045,7 +1044,7 @@ SUBROUTINE test_datasets() CHARACTER(len=9), PARAMETER :: filename = "dsetf4.h5"! File name INTEGER(HID_T) :: file_id ! File identifier INTEGER :: errcode ! Error flag - INTEGER, PARAMETER :: DIM1 = 10; ! Dimension of array + INTEGER, PARAMETER :: DIM1 = 10 ! Dimension of array CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name @@ -1086,10 +1085,10 @@ SUBROUTINE test_datasets() ! n = 1 DO i = 1, DIM1 - buf2(i) = n; - buf3(i) = n; - buf4(i) = n; - n = n + 1; + buf2(i) = n + buf3(i) = n + buf4(i) = n + n = n + 1 END DO !------------------------------------------------------------------------- @@ -1344,8 +1343,8 @@ SUBROUTINE test_attributes() CHARACTER(len=9), PARAMETER :: filename = "dsetf5.h5"! File name CHARACTER(len=9), PARAMETER :: filename1 ="tattr.h5" ! C written attribute file INTEGER(HID_T) :: file_id ! File identifier - INTEGER(HID_T) :: file_id1 - INTEGER, PARAMETER :: DIM1 = 10; ! Dimension of array +! INTEGER(HID_T) :: file_id1 + INTEGER, PARAMETER :: DIM1 = 10 ! Dimension of array CHARACTER(LEN=5), PARAMETER :: attrname1 = "attr1" ! Attribute name CHARACTER(LEN=5), PARAMETER :: attrname2 = "attr2" ! Attribute name CHARACTER(LEN=5), PARAMETER :: attrname3 = "attr3" ! Attribute name @@ -1355,8 +1354,8 @@ SUBROUTINE test_attributes() CHARACTER(LEN=16), PARAMETER :: buf_c = "string attribute" CHARACTER(LEN=8) :: bufr1 ! Data buffer CHARACTER(LEN=10) :: bufr1_lg ! Data buffer - CHARACTER(LEN=16) :: bufr_c ! Data buffer - CHARACTER(LEN=18) :: bufr_c_lg ! Data buffer +! CHARACTER(LEN=16) :: bufr_c ! Data buffer +! CHARACTER(LEN=18) :: bufr_c_lg ! Data buffer INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer REAL, DIMENSION(DIM1) :: buf3 ! Data buffer @@ -1395,10 +1394,10 @@ SUBROUTINE test_attributes() size = DIM1 n = 1 DO i = 1, DIM1 - buf2(i) = n; - buf3(i) = n; - buf4(i) = n; - n = n + 1; + buf2(i) = n + buf3(i) = n + buf4(i) = n + n = n + 1 END DO @@ -1443,7 +1442,6 @@ SUBROUTINE test_attributes() ! write attribute. ! CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode) - ! ! read attribute. ! @@ -1460,7 +1458,6 @@ SUBROUTINE test_attributes() ENDIF END DO - CALL passed() !------------------------------------------------------------------------- @@ -1468,8 +1465,7 @@ SUBROUTINE test_attributes() !------------------------------------------------------------------------- CALL test_begin(' Set/Get attributes double ') - - + ! ! write attribute. ! 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 f4b754a..de6e66c 100644 --- a/hl/src/H5DS.c +++ b/hl/src/H5DS.c @@ -144,7 +144,8 @@ herr_t H5DSattach_scale(hid_t did, hid_t dsid_j; /* DS dataset ID in DIMENSION_LIST */ H5O_info_t oi1, oi2; H5I_type_t it1, it2; - int i, len; + int i; + size_t len; int found_ds=0; htri_t is_scale; @@ -242,7 +243,7 @@ herr_t H5DSattach_scale(hid_t did, if (has_dimlist == 0) { - dims[0] = rank; + dims[0] = (hsize_t)rank; /* space for the attribute */ if((sid = H5Screate_simple(1, dims, NULL)) < 0) @@ -477,7 +478,7 @@ herr_t H5DSattach_scale(hid_t did, dsbuf[nelmts - 1] = dsl; /* create a new data space for the new references array */ - dims[0] = nelmts; + dims[0] = (hsize_t)nelmts; if((sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; @@ -798,7 +799,7 @@ herr_t H5DSdetach_scale(hid_t did, for(ii=0; ii<nelmts; ii++) { /* First check if we have the same dimension index */ - if((int)idx == dsbuf[ii].dim_idx) { + if(idx == dsbuf[ii].dim_idx) { /* get the reference to the dataset */ ref = dsbuf[ii].ref; @@ -853,7 +854,7 @@ herr_t H5DSdetach_scale(hid_t did, if(nelmts) { /* create a new data space for the new references array */ - dims[0] = nelmts; + dims[0] = (hsize_t)nelmts; if((sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; @@ -1153,7 +1154,7 @@ htri_t H5DSis_attached(hid_t did, goto out; /* same object */ - if(oi3.fileno == oi4.fileno && oi3.addr == oi4.addr && (int)idx==dsbuf[i].dim_idx) + if(oi3.fileno == oi4.fileno && oi3.addr == oi4.addr && idx==dsbuf[i].dim_idx) found_dset=1; /* close the dereferenced dataset */ @@ -1429,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 *------------------------------------------------------------------------- @@ -1478,7 +1481,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label) if (has_labels == 0) { - dims[0] = rank; + dims[0] = (hsize_t)rank; /* space for the attribute */ if ((sid = H5Screate_simple(1, dims, NULL)) < 0) @@ -1495,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 */ @@ -1517,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; } } @@ -1531,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; @@ -1538,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 */ @@ -1573,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/H5DSprivate.h b/hl/src/H5DSprivate.h index 61c0a1c..39c3e74 100644 --- a/hl/src/H5DSprivate.h +++ b/hl/src/H5DSprivate.h @@ -28,7 +28,7 @@ /* attribute type of a DS dataset */ typedef struct ds_list_t { hobj_ref_t ref; /* object reference */ - int dim_idx; /* dimension index of the dataset */ + unsigned int dim_idx; /* dimension index of the dataset */ } ds_list_t; diff --git a/hl/src/H5IM.c b/hl/src/H5IM.c index aeda6ab..6fa548d 100644 --- a/hl/src/H5IM.c +++ b/hl/src/H5IM.c @@ -628,9 +628,9 @@ herr_t H5IMlink_palette( hid_t loc_id, n_refs = H5Sget_simple_extent_npoints(asid); - dim_ref = n_refs + 1; + dim_ref = (hsize_t)n_refs + 1; - refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref ); + refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (size_t)dim_ref ); if ( H5Aread( aid, atid, refbuf ) < 0) goto out; @@ -949,9 +949,9 @@ herr_t H5IMget_palette_info( hid_t loc_id, n_refs = H5Sget_simple_extent_npoints(asid); - dim_ref = n_refs; + dim_ref = (hsize_t)n_refs; - refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref ); + refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (size_t)dim_ref ); if ( H5Aread( aid, atid, refbuf ) < 0) goto out; @@ -1067,9 +1067,9 @@ herr_t H5IMget_palette( hid_t loc_id, n_refs = H5Sget_simple_extent_npoints(asid); - dim_ref = n_refs; + dim_ref = (hsize_t)n_refs; - refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref ); + refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (size_t)dim_ref ); if ( H5Aread( aid, atid, refbuf ) < 0) goto out; diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c index 9d6123b..8541cfe 100644 --- a/hl/src/H5LT.c +++ b/hl/src/H5LT.c @@ -2398,7 +2398,7 @@ print_enum(hid_t type, char* str, size_t *str_len, hbool_t no_ubuf, size_t indt) for (i = 0; i < nmembs; i++) { if((name[i] = H5Tget_member_name(type, (unsigned)i))==NULL) goto out; - if(H5Tget_member_value(type, (unsigned)i, value + i * super_size) < 0) + if(H5Tget_member_value(type, (unsigned)i, value + (size_t)i * super_size) < 0) goto out; } @@ -2426,7 +2426,7 @@ print_enum(hid_t type, char* str, size_t *str_len, hbool_t no_ubuf, size_t indt) /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size" *strangely, unless use another pointer "copy".*/ - copy = value+i*dst_size; + copy = value + (size_t)i * dst_size; if (H5T_SGN_NONE == H5Tget_sign(native)) HDsnprintf(tmp_str, TMP_LEN, "%u", *((unsigned int*)((void *)copy))); else @@ -2557,6 +2557,7 @@ char* H5LT_dtype_to_text(hid_t dtype, char *dt_str, H5LT_lang_t lang, size_t *sl switch (tcls) { case H5T_INTEGER: + case H5T_BITFIELD: if (H5Tequal(dtype, H5T_STD_I8BE)) { HDsnprintf(dt_str, *slen, "H5T_STD_I8BE"); } else if (H5Tequal(dtype, H5T_STD_I8LE)) { @@ -3053,9 +3054,19 @@ next: case H5T_TIME: HDsnprintf(dt_str, *slen, "H5T_TIME: not yet implemented"); break; - case H5T_BITFIELD: - HDsnprintf(dt_str, *slen, "H5T_BITFIELD: not yet implemented"); + case H5T_NO_CLASS: + HDsnprintf(dt_str, *slen, "H5T_NO_CLASS"); break; + case H5T_REFERENCE: + if (H5Tequal(dtype, H5T_STD_REF_DSETREG) == TRUE) { + HDsnprintf(dt_str, *slen, " H5T_REFERENCE { H5T_STD_REF_DSETREG }"); + } + else { + HDsnprintf(dt_str, *slen, " H5T_REFERENCE { H5T_STD_REF_OBJECT }"); + } + break; + case H5T_NCLASSES: + break; default: HDsnprintf(dt_str, *slen, "unknown data type"); } diff --git a/hl/src/H5LTanalyze.c b/hl/src/H5LTanalyze.c index d9ffb36..54e443d 100644 --- a/hl/src/H5LTanalyze.c +++ b/hl/src/H5LTanalyze.c @@ -1,3 +1,22 @@ +#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 +#pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" +#pragma GCC diagnostic ignored "-Wlarger-than=" +#pragma GCC diagnostic ignored "-Wmissing-prototypes" +#pragma GCC diagnostic ignored "-Wnested-externs" +#pragma GCC diagnostic ignored "-Wold-style-definition" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wsign-conversion" +#pragma GCC diagnostic ignored "-Wstrict-prototypes" +#pragma GCC diagnostic ignored "-Wswitch-default" +#pragma GCC diagnostic ignored "-Wunused-function" +#pragma GCC diagnostic ignored "-Wunused-macros" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#elif defined __SUNPRO_CC +#pragma disable_warn +#elif defined _MSC_VER +#pragma warning(push, 1) +#endif #line 2 "H5LTanalyze.c" #line 4 "H5LTanalyze.c" diff --git a/hl/src/H5LTparse.c b/hl/src/H5LTparse.c index aa12185..6ca95c54 100644 --- a/hl/src/H5LTparse.c +++ b/hl/src/H5LTparse.c @@ -1,3 +1,22 @@ +#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 +#pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" +#pragma GCC diagnostic ignored "-Wlarger-than=" +#pragma GCC diagnostic ignored "-Wmissing-prototypes" +#pragma GCC diagnostic ignored "-Wnested-externs" +#pragma GCC diagnostic ignored "-Wold-style-definition" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wsign-conversion" +#pragma GCC diagnostic ignored "-Wstrict-prototypes" +#pragma GCC diagnostic ignored "-Wswitch-default" +#pragma GCC diagnostic ignored "-Wunused-function" +#pragma GCC diagnostic ignored "-Wunused-macros" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#elif defined __SUNPRO_CC +#pragma disable_warn +#elif defined _MSC_VER +#pragma warning(push, 1) +#endif /* A Bison parser, made by GNU Bison 2.7. */ /* Bison implementation for Yacc-like parsers in C diff --git a/hl/src/H5PT.c b/hl/src/H5PT.c index 7a0bc20..6ed1ac0 100644 --- a/hl/src/H5PT.c +++ b/hl/src/H5PT.c @@ -130,6 +130,9 @@ hid_t H5PTcreate_fl ( hid_t loc_id, if((table->type_id = H5Tcopy(dtype_id)) < 0) goto out; + if((table->type_id = H5Tget_native_type(table->type_id, H5T_DIR_DEFAULT)) < 0) + goto out; + H5PT_create_index(table); table->size = 0; diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index ee3ef49..8685b9e 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@ @@ -458,17 +456,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -546,10 +540,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -671,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 = 205 +LT_VERS_REVISION = 206 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 75350ec..6fc324b 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -444,7 +444,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@ @@ -476,7 +475,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@ @@ -495,17 +493,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +563,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@ @@ -583,10 +577,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/hl/test/h5hltest.h b/hl/test/h5hltest.h index 809c4ec..e8292d2 100644 --- a/hl/test/h5hltest.h +++ b/hl/test/h5hltest.h @@ -33,7 +33,7 @@ #define TESTING2(WHAT) {printf("%-70s", "Testing " WHAT); fflush(stdout);} #define TESTING3(WHAT) {printf("%-70s", "" WHAT); fflush(stdout);} -/* Implrements verbose 'assert' with 'goto error' exit */ +/* Implements verbose 'assert' with 'goto error' exit */ #define VERIFY(condition, string) do { if (!(condition)) FAIL_PUTS_ERROR(string) } while(0) #endif /* _H5HLTEST_H */ diff --git a/hl/test/test_ds.c b/hl/test/test_ds.c index 77d2b71..7b6fb82 100644 --- a/hl/test/test_ds.c +++ b/hl/test/test_ds.c @@ -3126,7 +3126,7 @@ static int test_simple(void) if(H5DSget_scale_name(dsid, name_out, (size_t)name_len+1) < 0) goto out; - if(HDstrncmp("Latitude set 0",name_out, name_len)!=0) + if(HDstrncmp("Latitude set 0",name_out, (size_t)name_len)!=0) goto out; if(name_out) { HDfree(name_out); diff --git a/hl/test/test_dset_opt.c b/hl/test/test_dset_opt.c index bddd162..95ce535 100644 --- a/hl/test/test_dset_opt.c +++ b/hl/test/test_dset_opt.c @@ -41,7 +41,7 @@ #define CHUNK_NX 4 #define CHUNK_NY 4 -#define DEFLATE_SIZE_ADJUST(s) (ceil(((double)(s))*1.001)+12) +#define DEFLATE_SIZE_ADJUST(s) (ceil(((double)(s))*1.001F)+12) /* Temporary filter IDs used for testing */ #define H5Z_FILTER_BOGUS1 305 @@ -501,20 +501,20 @@ filter_bogus1(unsigned int flags, size_t UNUSED cd_nelmts, size_t *buf_size, void **buf) { int *int_ptr=(int *)*buf; /* Pointer to the data values */ - ssize_t buf_left=*buf_size; /* Amount of data buffer left to process */ + ssize_t buf_left=(ssize_t)*buf_size; /* Amount of data buffer left to process */ if(flags & H5Z_FLAG_REVERSE) { /* read */ /* Substract the "add on" value to all the data values */ while(buf_left>0) { *int_ptr++ -= (int)ADD_ON; - buf_left -= sizeof(int); + buf_left -= (ssize_t)sizeof(int); } /* end while */ } /* end if */ else { /* write */ /* Add the "add on" value to all the data values */ while(buf_left>0) { *int_ptr++ += (int)ADD_ON; - buf_left -= sizeof(int); + buf_left -= (ssize_t)sizeof(int); } /* end while */ } /* end else */ @@ -538,20 +538,20 @@ filter_bogus2(unsigned int flags, size_t UNUSED cd_nelmts, size_t *buf_size, void **buf) { int *int_ptr=(int *)*buf; /* Pointer to the data values */ - ssize_t buf_left=*buf_size; /* Amount of data buffer left to process */ + ssize_t buf_left=(ssize_t)*buf_size; /* Amount of data buffer left to process */ if(flags & H5Z_FLAG_REVERSE) { /* read */ /* Substract the "add on" value to all the data values */ while(buf_left>0) { *int_ptr++ /= (int)FACTOR; - buf_left -= sizeof(int); + buf_left -= (ssize_t)sizeof(int); } /* end while */ } /* end if */ else { /* write */ /* Add the "add on" value to all the data values */ while(buf_left>0) { *int_ptr++ *= (int)FACTOR; - buf_left -= sizeof(int); + buf_left -= (ssize_t)sizeof(int); } /* end while */ } /* end else */ diff --git a/hl/test/test_lite.c b/hl/test/test_lite.c index 19d3759..2337610 100644 --- a/hl/test/test_lite.c +++ b/hl/test/test_lite.c @@ -300,7 +300,7 @@ static int test_dsets( void ) for (i = 0; i < DIM; i++) { - if ( data_float_in[i] != data_float_out[i] ) { + if(!FLT_ABS_EQUAL(data_float_in[i],data_float_out[i])) { goto out; } } @@ -311,7 +311,7 @@ static int test_dsets( void ) for (i = 0; i < DIM; i++) { - if ( data_float_in[i] != data_float_out[i] ) { + if(!FLT_ABS_EQUAL(data_float_in[i],data_float_out[i])) { goto out; } } @@ -336,7 +336,7 @@ static int test_dsets( void ) for (i = 0; i < DIM; i++) { - if ( data_double_in[i] != data_double_out[i] ) { + if(!DBL_ABS_EQUAL(data_double_in[i],data_double_out[i])) { goto out; } } @@ -347,7 +347,7 @@ static int test_dsets( void ) for (i = 0; i < DIM; i++) { - if ( data_double_in[i] != data_double_out[i] ) { + if(!DBL_ABS_EQUAL(data_double_in[i],data_double_out[i])) { goto out; } } @@ -959,7 +959,7 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) for (i = 0; i < 5; i++) { - if ( attr_float_in[i] != attr_float_out[i] ) { + if(!FLT_ABS_EQUAL(attr_float_in[i],attr_float_out[i])) { return -1; } } @@ -970,7 +970,7 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) for (i = 0; i < 5; i++) { - if ( attr_float_in[i] != attr_float_out[i] ) { + if(!FLT_ABS_EQUAL(attr_float_in[i],attr_float_out[i])) { return -1; } } @@ -1003,7 +1003,7 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) for (i = 0; i < 5; i++) { - if ( attr_double_in[i] != attr_double_out[i] ) { + if(!DBL_ABS_EQUAL(attr_double_in[i],attr_double_out[i])) { return -1; } } @@ -1014,7 +1014,7 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) for (i = 0; i < 5; i++) { - if ( attr_double_in[i] != attr_double_out[i] ) { + if(!DBL_ABS_EQUAL(attr_double_in[i],attr_double_out[i])) { return -1; } } @@ -1046,7 +1046,7 @@ static herr_t make_attributes( hid_t loc_id, const char* obj_name ) TESTING("H5LTget_attribute_info"); - if(NULL==(dims_out = (hsize_t*) HDmalloc( sizeof(hsize_t) * rank_out ))) return -1; + if(NULL==(dims_out = (hsize_t*) HDmalloc( sizeof(hsize_t) * (size_t)rank_out ))) return -1; if ( H5LTget_attribute_info( loc_id, obj_name, ATTR2_NAME, dims_out, &type_class, &type_size) < 0 ) { HDfree( dims_out ); diff --git a/hl/test/test_packet.c b/hl/test/test_packet.c index 9d3074d..256892b 100644 --- a/hl/test/test_packet.c +++ b/hl/test/test_packet.c @@ -54,14 +54,14 @@ typedef struct particle_t *------------------------------------------------------------------------- */ static particle_t testPart[NRECORDS] = { - {"zero", 0,0, 0.0f, 0.0}, - {"one", 10,10, 1.0f, 10.0}, - {"two", 20,20, 2.0f, 20.0}, - {"three",30,30, 3.0f, 30.0}, - {"four", 40,40, 4.0f, 40.0}, - {"five", 50,50, 5.0f, 50.0}, - {"six", 60,60, 6.0f, 60.0}, - {"seven",70,70, 7.0f, 70.0} + {"zero", 0,0, 0.0f, 0.0f}, + {"one", 10,10, 1.0f, 10.0f}, + {"two", 20,20, 2.0f, 20.0f}, + {"three",30,30, 3.0f, 30.0f}, + {"four", 40,40, 4.0f, 40.0f}, + {"five", 50,50, 5.0f, 50.0f}, + {"six", 60,60, 6.0f, 60.0f}, + {"seven",70,70, 7.0f, 70.0f} }; /*------------------------------------------------------------------------- @@ -75,8 +75,8 @@ static int cmp_par(size_t i, size_t j, particle_t *rbuf, particle_t *wbuf ) if ( ( HDstrcmp( rbuf[i].name, wbuf[j].name ) != 0 ) || rbuf[i].lati != wbuf[j].lati || rbuf[i].longi != wbuf[j].longi || - rbuf[i].pressure != wbuf[j].pressure || - rbuf[i].temperature != wbuf[j].temperature ) { + !FLT_ABS_EQUAL(rbuf[i].pressure,wbuf[j].pressure) || + !DBL_ABS_EQUAL(rbuf[i].temperature,wbuf[j].temperature) ) { return -1; } return 0; @@ -895,6 +895,92 @@ error: return -1; } +/*------------------------------------------------------------------------- + * test_rw_non-native_dt + * + * test reading and writing packet table using datatypes that are not + * native. + * + *------------------------------------------------------------------------- + */ +static int test_rw_nonnative_dt(hid_t fid) +{ + hid_t ptable; /* Packet table identifier */ + + herr_t err; /* Function return status */ + hsize_t count; /* Number of records in the table */ + + int x; /* Loop variable */ + + /* Buffers to hold data */ + int writeBuffer[5]; + int readBuffer[5]; + + TESTING("reading/writing non-native packet table"); + + /* Initialize buffers */ + for(x=0; x<5; x++) { + writeBuffer[x]=x; + readBuffer[x] = -1; + } + + /* Create a fixed-length packet table within the file */ + /* This table's "packets" will be simple integers and it will use no compression */ + if(H5Tget_order(H5T_NATIVE_INT) == H5T_ORDER_LE) { + ptable = H5PTcreate_fl(fid, "Packet Test Dataset, Non-native", H5T_STD_I32BE, (hsize_t)100, -1); + } else { + ptable = H5PTcreate_fl(fid, "Packet Test Dataset, Non-native", H5T_STD_I32LE, (hsize_t)100, -1); + } + if(ptable == H5I_INVALID_HID) + goto out; + + /* Write one packet to the packet table */ + if( (err = H5PTappend(ptable, (hsize_t)1, &(writeBuffer[0]))) < 0 ) + goto out; + + /* Write several packets to the packet table */ + if( (err = H5PTappend(ptable, (hsize_t)4, &(writeBuffer[1]))) < 0) + goto out; + + if( (err = H5PTclose(ptable)) < 0) + goto out; + + /* Open the Packet table */ + if( (ptable = H5PTopen(fid, "Packet Test Dataset, Non-native")) < 0) + goto out; + + /* Get the number of packets in the packet table. This should be five. */ + if( (err = H5PTget_num_packets(ptable, &count)) < 0) + goto out; + + if( (int)count != 5 ) + goto out; + + /* Initialize packet table's "current record" */ + if( (err = H5PTcreate_index(ptable)) < 0) + goto out; + + /* Iterate through packets, read each one back */ + for(x=0; x<5; x++) { + if( (err = H5PTget_next(ptable, (hsize_t)1, &(readBuffer[x]))) < 0) + goto out; + if( x != readBuffer[x]) + goto out; + } + + /* Close the packet table */ + if( (err = H5PTclose(ptable)) < 0) + goto out; + + PASSED(); + return 0; + + out: + H5_FAILED(); + if( H5PTis_valid(ptable) < 0) + H5PTclose(ptable); + return -1; +} /*------------------------------------------------------------------------- * test_error @@ -1035,6 +1121,7 @@ static int test_packet_table(hid_t fid) test_read(fid); test_get_next(fid); test_big_table(fid); + test_rw_nonnative_dt(fid); #ifdef VLPT_REMOVED test_varlen(fid); #endif /* VLPT_REMOVED */ diff --git a/hl/test/test_table.c b/hl/test/test_table.c index c312296..3bc5e5f 100644 --- a/hl/test/test_table.c +++ b/hl/test/test_table.c @@ -166,14 +166,14 @@ static int cmp_par(hsize_t i, hsize_t j, particle_t *rbuf, particle_t *wbuf ) if ( ( HDstrcmp( rbuf[i].name, wbuf[j].name ) != 0 ) || rbuf[i].lati != wbuf[j].lati || rbuf[i].longi != wbuf[j].longi || - rbuf[i].pressure != wbuf[j].pressure || - rbuf[i].temperature != wbuf[j].temperature ) + !FLT_ABS_EQUAL(rbuf[i].pressure,wbuf[j].pressure) || + !DBL_ABS_EQUAL(rbuf[i].temperature,wbuf[j].temperature) ) { HDfprintf(stderr,"read and write buffers have differences\n"); HDfprintf(stderr,"%s %ld %f %f %d\n", - rbuf[i].name,rbuf[i].longi,rbuf[i].pressure,rbuf[i].temperature,rbuf[i].lati); + rbuf[i].name,rbuf[i].longi,(double)rbuf[i].pressure,rbuf[i].temperature,rbuf[i].lati); HDfprintf(stderr,"%s %ld %f %f %d\n", - wbuf[j].name,wbuf[j].longi,wbuf[j].pressure,wbuf[j].temperature,wbuf[j].lati); + wbuf[j].name,wbuf[j].longi,(double)wbuf[j].pressure,wbuf[j].temperature,wbuf[j].lati); return -1; } return 0; @@ -218,7 +218,7 @@ static int test_table(hid_t fid, int do_write) hsize_t chunk_size=10; int compress=0; int *fill=NULL; - particle_t fill1[1] = { {"no data",-1, -99.0f, -99.0, -1} }; + particle_t fill1[1] = { {"no data",-1, -99.0f, -99.0f, -1} }; int fill1_new[1] = { -100 }; hsize_t position; char tname[20]; @@ -246,18 +246,18 @@ static int test_table(hid_t fid, int do_write) particle2_t rbuf2[NRECORDS]; particle3_t rbuf3[NRECORDS]; particle_t rbufc[NRECORDS*2]; - particle_t abuf[2]={{"eight",80,8.0f,80.0,80},{"nine",90,9.0f,90.0,90}}; - particle_t ibuf[2]={{"zero", 0, 0.0f, 0.0, 0},{"zero", 0, 0.0f, 0.0, 0}}; + particle_t abuf[2]={{"eight",80,8.0f,80.0f,80},{"nine",90,9.0f,90.0f,90}}; + particle_t ibuf[2]={{"zero", 0, 0.0f, 0.0f, 0},{"zero", 0, 0.0f, 0.0f, 0}}; particle_t wbufd[NRECORDS]; particle_t wbuf[NRECORDS] = { - {"zero", 0, 0.0f, 0.0, 0,}, - {"one", 10, 1.0f, 10.0, 10}, - {"two", 20, 2.0f, 20.0, 20}, - {"three",30, 3.0f, 30.0, 30}, - {"four", 40, 4.0f, 40.0, 40}, - {"five", 50, 5.0f, 50.0, 50}, - {"six", 60, 6.0f, 60.0, 60}, - {"seven",70, 7.0f, 70.0, 70} + {"zero", 0, 0.0f, 0.0f, 0,}, + {"one", 10, 1.0f, 10.0f, 10}, + {"two", 20, 2.0f, 20.0f, 20}, + {"three",30, 3.0f, 30.0f, 30}, + {"four", 40, 4.0f, 40.0f, 40}, + {"five", 50, 5.0f, 50.0f, 50}, + {"six", 60, 6.0f, 60.0f, 60}, + {"seven",70, 7.0f, 70.0f, 70} }; /* buffers for the field "Pressure" and "New_field" */ float pressure_in [NRECORDS] = { 0.0f,1.0f,2.0f,3.0f,4.0f,5.0f,6.0f,7.0f }; @@ -390,14 +390,14 @@ static int test_table(hid_t fid, int do_write) /* Define an array of Particles */ particle4_t p_data[NRECORDS] = { - {12112, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12113, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12114, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12115, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12116, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12117, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12118, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}}, - {12119, 1.4, 2.5, {1,2,3},{4,5,6}, {99,100}} + {12112, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12113, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12114, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12115, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12116, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12117, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12118, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}}, + {12119, 1.4f, 2.5f, {1,2,3},{4,5,6}, {99,100}} }; /*------------------------------------------------------------------------- @@ -1138,14 +1138,14 @@ static int test_table(hid_t fid, int do_write) { if ( i >= 2 && i <= 4 ) { - if ( rbuf[i].lati != position_in[i-NRECORDS_ADD+1].lati || + if ( rbuf[i].lati != position_in[i-NRECORDS_ADD+1].lati || rbuf[i].longi != position_in[i-NRECORDS_ADD+1].longi || - rbuf[i].pressure != pressure_in[i-NRECORDS_ADD+1] ) + !FLT_ABS_EQUAL(rbuf[i].pressure,pressure_in[i-NRECORDS_ADD+1]) ) { HDfprintf(stderr,"%ld %f %d\n", - rbuf[i].longi,rbuf[i].pressure,rbuf[i].lati); + rbuf[i].longi,(double)rbuf[i].pressure,rbuf[i].lati); HDfprintf(stderr,"%ld %f %d\n", - position_in[i].longi,pressure_in[i],position_in[i].lati); + position_in[i].longi,(double)pressure_in[i],position_in[i].lati); goto out; } } @@ -1200,9 +1200,9 @@ static int test_table(hid_t fid, int do_write) goto out; /* Compare the extracted table with the initial values */ - for( i = 0; i < NRECORDS; i++ ) + for ( i = 0; i < NRECORDS; i++ ) { - if ( pressure_out[i] != pressure_in[i] ) { + if ( !FLT_ABS_EQUAL(pressure_out[i], pressure_in[i]) ) { goto out; } } @@ -1265,7 +1265,7 @@ static int test_table(hid_t fid, int do_write) for( i = 0; i < NRECORDS; i++ ) { if ( ( HDstrcmp( namepre_out[i].name, namepre_in[i].name ) != 0 ) || - namepre_out[i].pressure != namepre_in[i].pressure ) { + !FLT_ABS_EQUAL(namepre_out[i].pressure,namepre_in[i].pressure) ) { goto out; } } @@ -1294,7 +1294,7 @@ static int test_table(hid_t fid, int do_write) { hsize_t iistart = start; if ( ( HDstrcmp( namepre_out[i].name, namepre_in[iistart+i].name ) != 0 ) || - namepre_out[i].pressure != namepre_in[iistart+i].pressure ) { + !FLT_ABS_EQUAL(namepre_out[i].pressure, namepre_in[iistart+i].pressure) ) { goto out; } } @@ -1353,7 +1353,7 @@ static int test_table(hid_t fid, int do_write) { if ( rbuf[i].lati != position_in[i-NRECORDS_ADD+1].lati || rbuf[i].longi != position_in[i-NRECORDS_ADD+1].longi || - rbuf[i].pressure != pressure_in[i-NRECORDS_ADD+1] ) + !FLT_ABS_EQUAL(rbuf[i].pressure,pressure_in[i-NRECORDS_ADD+1]) ) goto out; } } @@ -1406,7 +1406,7 @@ static int test_table(hid_t fid, int do_write) /* compare the extracted table with the initial values */ for( i = 0; i < NRECORDS; i++ ) { - if ( pressure_out[i] != pressure_in[i] ) { + if ( !FLT_ABS_EQUAL(pressure_out[i], pressure_in[i]) ) { goto out; } } @@ -1471,10 +1471,10 @@ static int test_table(hid_t fid, int do_write) /* compare the extracted table with the initial values */ for( i = 0; i < NRECORDS; i++ ) { - if ( ( HDstrcmp( namepre_out[i].name, namepre_in[i].name ) != 0 ) || - namepre_out[i].pressure != namepre_in[i].pressure ) { - goto out; - } + if ( ( HDstrcmp( namepre_out[i].name, namepre_in[i].name ) != 0 ) || + !FLT_ABS_EQUAL(namepre_out[i].pressure,namepre_in[i].pressure) ) { + goto out; + } } /* reset buffer */ @@ -1502,8 +1502,8 @@ static int test_table(hid_t fid, int do_write) for( i = 0; i < 3; i++ ) { int iistart = (int) start; - if ( ( HDstrcmp( namepre_out[i].name, wbuf[iistart+i].name ) != 0 ) || - namepre_out[i].pressure != wbuf[iistart+i].pressure ) { + if ( ( HDstrcmp( namepre_out[i].name, wbuf[iistart+(int)i].name ) != 0 ) || + !FLT_ABS_EQUAL(namepre_out[i].pressure, wbuf[iistart+(int)i].pressure) ) { goto out; } } @@ -1546,8 +1546,8 @@ static int test_table(hid_t fid, int do_write) if ( ( HDstrcmp( rbuf2[i].name, wbuf[i].name ) != 0 ) || rbuf2[i].lati != wbuf[i].lati || rbuf2[i].longi != wbuf[i].longi || - rbuf2[i].pressure != wbuf[i].pressure || - rbuf2[i].temperature != wbuf[i].temperature || + !FLT_ABS_EQUAL(rbuf2[i].pressure,wbuf[i].pressure) || + !DBL_ABS_EQUAL(rbuf2[i].temperature,wbuf[i].temperature) || rbuf2[i].new_field != buf_new[i] ) { goto out; } @@ -1587,7 +1587,7 @@ static int test_table(hid_t fid, int do_write) if ( ( HDstrcmp( rbuf3[i].name, wbuf[i].name ) != 0 ) || rbuf3[i].lati != wbuf[i].lati || rbuf3[i].longi != wbuf[i].longi || - rbuf3[i].temperature != wbuf[i].temperature ) { + !DBL_ABS_EQUAL(rbuf3[i].temperature,wbuf[i].temperature) ) { goto out; } } 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 9d4359e..77049d3 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@ @@ -457,17 +455,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -545,10 +539,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in index b8fdd3a..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@ @@ -471,17 +469,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -559,10 +553,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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/gif.h b/hl/tools/gif2h5/gif.h index 5334919..f34a111 100644 --- a/hl/tools/gif2h5/gif.h +++ b/hl/tools/gif2h5/gif.h @@ -143,7 +143,7 @@ typedef struct _GifToMem { */ /* GIF2MEM.C */ -GIFTOMEM Gif2Mem(BYTE *); +int Gif2Mem(BYTE *, GIFTOMEM *); /* GIFREAD.C */ int ReadGifHeader(GIFHEAD *, BYTE **); diff --git a/hl/tools/gif2h5/gif2hdf.c b/hl/tools/gif2h5/gif2hdf.c index 810be78..8a9e971 100644 --- a/hl/tools/gif2h5/gif2hdf.c +++ b/hl/tools/gif2h5/gif2hdf.c @@ -99,7 +99,7 @@ main(int argv , char *argc[]) * Call Gif2Mem and break the whole file into parts. Gif2Mem also calls * decompresses the images so we don't have to worry about that */ - GifMemoryStruct = Gif2Mem(MemGif); + Gif2Mem(MemGif, &GifMemoryStruct); if (ferror(fpGif)) { printf("File Stream Error\n\n"); diff --git a/hl/tools/gif2h5/gif2mem.c b/hl/tools/gif2h5/gif2mem.c index ac4b0ec..456a32d 100644 --- a/hl/tools/gif2h5/gif2mem.c +++ b/hl/tools/gif2h5/gif2mem.c @@ -37,8 +37,8 @@ #include "gif.h" -GIFTOMEM -Gif2Mem(BYTE *MemGif) +int +Gif2Mem(BYTE *MemGif, GIFTOMEM *GifMemoryStruct) { /* * The gif structure outline for passing data to memory is given in gif.h. @@ -51,8 +51,6 @@ Gif2Mem(BYTE *MemGif) GIFCOMMENT **gifComment; /* Comment Extension structure */ GIFGRAPHICCONTROL **gifGraphicControl; /* Graphic Control Extension strct */ - GIFTOMEM GifMemoryStruct; - register WORD i; /* Loop counter */ BYTE Identifier; /* Extension block identifier holder */ BYTE Label; /* Extension block label holder */ @@ -133,15 +131,15 @@ Gif2Mem(BYTE *MemGif) gifHead->PlainTextCount = PlainTextCount; /* putting stuff into the gif2mem structure */ - GifMemoryStruct.GifHeader = gifHead; - GifMemoryStruct.GifImageDesc = gifImageDesc; - GifMemoryStruct.GifPlainTextExtension = gifPlainText; - GifMemoryStruct.GifApplicationExtension = gifApplication; - GifMemoryStruct.GifCommentExtension = gifComment; - GifMemoryStruct.GifGraphicControlExtension = gifGraphicControl; + GifMemoryStruct->GifHeader = gifHead; + GifMemoryStruct->GifImageDesc = gifImageDesc; + GifMemoryStruct->GifPlainTextExtension = gifPlainText; + GifMemoryStruct->GifApplicationExtension = gifApplication; + GifMemoryStruct->GifCommentExtension = gifComment; + GifMemoryStruct->GifGraphicControlExtension = gifGraphicControl; /* return the struct */ - return GifMemoryStruct; + return 0; case 0x2C: /* Image Descriptor */ /* @@ -155,7 +153,7 @@ Gif2Mem(BYTE *MemGif) 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!"); @@ -222,7 +220,7 @@ Gif2Mem(BYTE *MemGif) 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!"); @@ -244,7 +242,7 @@ Gif2Mem(BYTE *MemGif) 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!"); @@ -271,7 +269,7 @@ Gif2Mem(BYTE *MemGif) 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!"); @@ -309,7 +307,7 @@ Gif2Mem(BYTE *MemGif) 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 Binary files differnew file mode 100644 index 0000000..a36df1b --- /dev/null +++ b/hl/tools/gif2h5/testfiles/ex_image2.h5 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 23b2000..17f9ac1 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.215 currently under development +HDF5 version 1.9.216 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 b852cc3..ba345fa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -483,6 +483,7 @@ set (H5PL_SRCS set (H5PL_HDRS ${HDF5_SRC_DIR}/H5PLextern.h + ${HDF5_SRC_DIR}/H5PLpublic.h ) IDE_GENERATED_PROPERTIES ("H5PL" "${H5PL_HDRS}" "${H5PL_SRCS}" ) @@ -771,14 +772,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") @@ -793,7 +794,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) @@ -860,7 +861,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) @@ -860,27 +860,109 @@ H5close(void) /*------------------------------------------------------------------------- + * Function: H5allocate_memory + * + * Purpose: Allocate a memory buffer with the semantics of malloc(). + * + * NOTE: This function is intended for use with filter + * plugins so that all allocation and free operations + * use the same memory allocator. It is not intended for + * use as a general memory allocator in applications. + * + * Parameters: + * + * size: The size of the buffer. + * + * clear: Whether or not to memset the buffer to 0. + * + * Return: + * + * Success: A pointer to the allocated buffer. + * + * Failure: NULL + * + *------------------------------------------------------------------------- + */ +void * +H5allocate_memory(size_t size, hbool_t clear) +{ + void *ret_value = NULL; + + FUNC_ENTER_API_NOINIT; + H5TRACE2("*x", "zb", size, clear); + + if(clear) + ret_value = H5MM_calloc(size); + else + ret_value = H5MM_malloc(size); + + FUNC_LEAVE_API(ret_value) + +} /* end H5allocate_memory() */ + + +/*------------------------------------------------------------------------- + * Function: H5resize_memory + * + * Purpose: Resize a memory buffer with the semantics of realloc(). + * + * NOTE: This function is intended for use with filter + * plugins so that all allocation and free operations + * use the same memory allocator. It is not intended for + * use as a general memory allocator in applications. + * + * Parameters: + * + * mem: The buffer to be resized. + * + * size: The size of the buffer. + * + * Return: + * + * Success: A pointer to the resized buffer. + * + * Failure: NULL (the input buffer will be unchanged) + * + *------------------------------------------------------------------------- + */ +void * +H5resize_memory(void *mem, size_t size) +{ + void *ret_value = NULL; + + FUNC_ENTER_API_NOINIT; + H5TRACE2("*x", "*xz", mem, size); + + ret_value = H5MM_realloc(mem, size); + + FUNC_LEAVE_API(ret_value) + +} /* end H5resize_memory() */ + + +/*------------------------------------------------------------------------- * Function: H5free_memory * - * Purpose: Frees memory allocated by the library that it is the user's + * Purpose: Frees memory allocated by the library that it is the user's * responsibility to free. Ensures that the same library * that was used to allocate the memory frees it. Passing * NULL pointers is allowed. * - * Return: SUCCEED/FAIL + * Return: SUCCEED/FAIL * *------------------------------------------------------------------------- */ herr_t H5free_memory(void *mem) { - FUNC_ENTER_API_NOINIT + FUNC_ENTER_API_NOINIT; H5TRACE1("e", "*x", mem); /* At this time, it is impossible for this to fail. */ HDfree(mem); FUNC_LEAVE_API(SUCCEED) + } /* end H5free_memory() */ @@ -944,3 +1026,4 @@ DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved) return fOkay; } #endif /* H5_HAVE_WIN32_API && H5_BUILT_AS_DYNAMIC_LIB && H5_HAVE_WIN_THREADS && H5_HAVE_THREADSAFE*/ + @@ -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: @@ -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) */ @@ -257,9 +252,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 */ @@ -269,7 +262,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") @@ -277,51 +270,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") @@ -329,29 +284,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 */ @@ -388,19 +330,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 */ @@ -411,7 +351,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 */ @@ -689,7 +628,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; @@ -702,8 +641,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 */ @@ -771,7 +709,7 @@ H5AC_expunge_entry(H5F_t *f, result = H5C_expunge_entry(f, dxpl_id, - H5AC_noblock_dxpl_id, + H5AC_dxpl_id, type, addr, flags); @@ -850,7 +788,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: @@ -992,7 +930,7 @@ H5AC_insert_entry(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t add #endif /* H5AC__TRACE_FILE_ENABLED */ /* 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 @@ -1013,7 +951,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 */ } @@ -1166,7 +1104,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 */ @@ -1378,7 +1316,7 @@ H5AC_protect(H5F_t *f, thing = H5C_protect(f, dxpl_id, - H5AC_noblock_dxpl_id, + H5AC_dxpl_id, type, addr, udata, @@ -1696,13 +1634,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 */ @@ -2925,7 +2863,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 ) { @@ -2971,8 +2909,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; @@ -2981,7 +2918,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 ); @@ -2989,8 +2926,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; @@ -3282,8 +3218,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; @@ -3450,8 +3385,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; @@ -3467,8 +3401,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; @@ -3577,8 +3510,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; @@ -3672,8 +3604,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; @@ -3694,8 +3625,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; @@ -3925,8 +3855,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; @@ -4307,7 +4236,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 */ @@ -4881,7 +4810,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: @@ -4988,7 +4917,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; @@ -5232,7 +5161,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; @@ -5248,7 +5177,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; @@ -5291,7 +5220,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 623f502..ccecd83 100644 --- a/src/H5ACprivate.h +++ b/src/H5ACprivate.h @@ -195,20 +195,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 */ #define H5AC_METADATA_TAG_NAME "H5AC_metadata_tag" diff --git a/src/H5Aint.c b/src/H5Aint.c index 625bfa9..e28c2cc 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: @@ -2377,7 +2377,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 */ @@ -2400,7 +2400,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 efa2b74..f587f81 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); @@ -324,7 +324,7 @@ H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id) { H5D_t *dset = NULL; H5G_loc_t loc; /* Object location of group */ - 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/H5Dbtree.c b/src/H5Dbtree.c index 35c2afa..75080f7 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -926,8 +926,7 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) /*------------------------------------------------------------------------- * Function: H5D__btree_idx_insert * - * Purpose: Create the chunk it if it doesn't exist, or reallocate the - * chunk if its size changed. + * Purpose: Insert chunk entry into the indexing structure. * * Return: Non-negative on success/Negative on failure * diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 9f2a020..a284cee 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 @@ -201,7 +201,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 @@ -216,6 +215,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, @@ -329,7 +329,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) @@ -341,10 +341,10 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz /* Calculate the index of this chunk */ if(H5VM_chunk_index((unsigned)space_ndims, offset, - layout->u.chunk.dim, layout->u.chunk.down_chunks, &chunk_idx) < 0) + layout->u.chunk.dim, layout->u.chunk.down_chunks, &chunk_idx) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index") - /* 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, chunk_idx, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") @@ -381,7 +381,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) HDassert(dset); 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); @@ -2244,9 +2244,9 @@ 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->filter_mask = udata->filter_mask; - last->addr = udata->addr; /* Indicate that the cached info is valid */ last->valid = TRUE; @@ -2291,9 +2291,9 @@ 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->filter_mask = last->filter_mask; - udata->addr = last->addr; /* Indicate that the data was found */ HGOTO_DONE(TRUE) @@ -2392,9 +2392,9 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, udata->common.rdcc = &(dset->shared->cache.chunk); /* Reset information about the chunk we are looking for */ + udata->addr = HADDR_UNDEF; udata->nbytes = 0; udata->filter_mask = 0; - udata->addr = HADDR_UNDEF; /* Check for chunk in cache */ if(dset->shared->cache.chunk.nslots > 0) { @@ -2402,8 +2402,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; @@ -2590,10 +2589,9 @@ 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, &(dset->shared->dcpl_cache.pline)); - } /* end if */ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) } /* end H5D__chunk_flush_entry() */ @@ -3264,7 +3262,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, int space_ndims; /* Dataset's space rank */ hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */ const uint32_t *chunk_dim = layout->u.chunk.dim; /* Convenience pointer to chunk dimensions */ - int op_dim; /* Current operationg dimension */ + unsigned op_dim; /* Current operating dimension */ H5D_fill_buf_info_t fb_info; /* Dataset's fill buffer info */ hbool_t fb_info_init = FALSE; /* Whether the fill value buffer has been initialized */ herr_t ret_value = SUCCEED; /* Return value */ @@ -3286,7 +3284,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); @@ -3393,7 +3391,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, * certain dimension, max_unalloc is updated in order to avoid allocating * those chunks again. */ - for(op_dim=0; op_dim<space_ndims; op_dim++) { + for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) { H5D_chunk_ud_t udata; /* User data for querying chunk info */ int i; /* Local index variable */ @@ -3456,8 +3454,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 */ @@ -3490,11 +3487,11 @@ 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 = NULL; + udata.addr = HADDR_UNDEF; H5_ASSIGN_OVERFLOW(udata.nbytes, chunk_size, size_t, uint32_t); udata.filter_mask = filter_mask; - udata.addr = HADDR_UNDEF; - /* Allocate the chunk with all processes */ + /* Allocate the chunk (with all processes) */ if((ops->insert)(&idx_info, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert record into chunk index") HDassert(H5F_addr_defined(udata.addr)); @@ -3511,11 +3508,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; @@ -3526,8 +3521,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, } /* end if */ else { #endif /* H5_HAVE_PARALLEL */ - if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, chunk_size, - dxpl_id, fb_info.fill_buf) < 0) + if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, chunk_size, dxpl_id, fb_info.fill_buf) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file") #ifdef H5_HAVE_PARALLEL } /* end else */ @@ -3539,7 +3533,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, for(i = ((int)space_ndims - 1); i >= 0; --i) { chunk_offset[i] += chunk_dim[i]; if(chunk_offset[i] > max_unalloc[i]) { - if(i == op_dim) + if((unsigned)i == op_dim) chunk_offset[i] = min_unalloc[i]; else chunk_offset[i] = 0; @@ -3562,10 +3556,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 */ @@ -3577,10 +3570,8 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") #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) @@ -3684,8 +3675,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))) @@ -3718,9 +3708,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 */ @@ -3786,8 +3775,7 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata) if(H5D__chunk_lookup(dset, io_info->dxpl_id, chunk_offset, io_info->store->chunk.index, &chk_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") - /* 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) @@ -3804,8 +3792,7 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata) /* 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 */ @@ -3985,7 +3972,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) H5D_rdcc_ent_t *ent = NULL; /* Cache entry */ int space_ndims; /* Dataset's space rank */ hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Current dataspace dimensions */ - int op_dim; /* Current operationg dimension */ + unsigned op_dim; /* Current operating dimension */ hbool_t shrunk_dim[H5O_LAYOUT_NDIMS]; /* Dimensions which have shrunk */ H5D_chunk_it_ud1_t udata; /* Chunk index iterator user data */ hbool_t udata_init = FALSE; /* Whether the chunk index iterator user data has been initialized */ @@ -4021,7 +4008,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); @@ -4084,7 +4071,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) @@ -4133,7 +4120,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; @@ -4217,7 +4204,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(chunk_offset[i] > (hsize_t) max_mod_chunk_off[i]) { /* Left maximum dimensions, "wrap around" and check if this * dimension is no longer outside the fill dimension */ - if(i == op_dim) { + if((unsigned)i == op_dim) { chunk_offset[i] = min_mod_chunk_off[i]; if(dims_outside_fill[i] && fill_dim[i]) { dims_outside_fill[i] = FALSE; @@ -4663,12 +4650,12 @@ 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(has_filters && (is_vlen || fix_ref) ) { + if(has_filters && (is_vlen || fix_ref)) { if(H5Z_pipeline(pline, 0, &(udata_dst.filter_mask), H5Z_NO_EDC, cb_struct, &nbytes, &buf_size, &buf) < 0) HGOTO_ERROR(H5E_PLINE, H5E_CANTFILTER, H5_ITER_ERROR, "output pipeline failed") #if H5_SIZEOF_SIZE_T > 4 @@ -4685,8 +4672,9 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) H5_BEGIN_TAG(udata->idx_info_dst->dxpl_id, H5AC__COPIED_TAG, H5_ITER_ERROR); /* Insert chunk into the destination index */ - if((udata->idx_info_dst->storage->ops->insert)(udata->idx_info_dst, &udata_dst) < 0) - HGOTO_ERROR_TAG(H5E_DATASET, H5E_CANTINSERT, H5_ITER_ERROR, "unable to insert chunk into index") + if(udata->idx_info_dst->storage->ops->insert) + if((udata->idx_info_dst->storage->ops->insert)(udata->idx_info_dst, &udata_dst) < 0) + HGOTO_ERROR_TAG(H5E_DATASET, H5E_CANTINSERT, H5_ITER_ERROR, "unable to insert chunk addr into index") /* Reset metadata tag in dxpl_id */ H5_END_TAG(H5_ITER_ERROR); @@ -4952,7 +4940,7 @@ done: /* Clean up any index information */ if(copy_setup_done) - if((storage_src->ops->copy_shutdown)(storage_src, storage_dst, dxpl_id) < 0) + if(storage_src->ops->copy_shutdown && (storage_src->ops->copy_shutdown)(storage_src, storage_dst, dxpl_id) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to shut down index copying info") FUNC_LEAVE_NOAPI(ret_value) diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c index 8d4cd02..dc09768 100644 --- a/src/H5Dcontig.c +++ b/src/H5Dcontig.c @@ -675,7 +675,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 */ @@ -946,7 +946,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 adec71b..7e1d884 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); else if(H5D_VIRTUAL == dset->shared->layout.type) diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c index 63df5b7..f4bde4b 100644 --- a/src/H5Ddeprec.c +++ b/src/H5Ddeprec.c @@ -228,7 +228,7 @@ H5Dopen1(hid_t loc_id, const char *name) H5D_t *dset = NULL; H5G_loc_t loc; /* Object location of group */ 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 5ec1db4..d21612a 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -302,7 +302,7 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id, int ndims = 0; hsize_t dims[H5O_LAYOUT_NDIMS]; 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))) @@ -324,7 +324,7 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id, if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dims, NULL)) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't retrieve dataspace extent dims") - for(u = 0; u < ndims; u++) { + for(u = 0; u < (unsigned)ndims; u++) { /* Make sure the offset doesn't exceed the dataset's dimensions */ if(direct_offset[u] > dims[u]) HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset exceeds dimensions of dataset") diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index d448406..1e5038b 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -269,9 +269,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 */ } H5D_chunk_ud_t; /* Typedef for "generic" chunk callbacks */ @@ -369,9 +369,9 @@ 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 */ unsigned filter_mask; /*excluded filters */ - haddr_t addr; /*file address of chunk */ } H5D_chunk_cached_t; /* The raw data chunk cache */ @@ -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 fe81edc..4cd8c69 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 @@ -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 2b5d32a..de37655 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))) + if(NULL == (bt2_name = H5B2_open(grp->oloc.file, dxpl_id, linfo.name_bt2_addr, 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))) + if(NULL == (bt2_corder = H5B2_open(grp->oloc.file, dxpl_id, linfo.corder_bt2_addr, 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 @@ -626,11 +633,11 @@ H5G__verify_cached_stab_test(H5O_loc_t *grp_oloc, H5G_entry_t *ent) HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "cached stab info does not match object header") /* Verify that the btree address is valid */ - if(H5B_valid(grp_oloc->file, H5AC_ind_dxpl_id, H5B_SNODE, stab.btree_addr) < 0) + if(H5B_valid(grp_oloc->file, dxpl_id, H5B_SNODE, stab.btree_addr) < 0) 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,16 +797,16 @@ 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: @@ -182,7 +182,7 @@ HDmemset(heap->chunk, 0, size); * which was always at least H5HG_ALIGNMENT aligned then we could just * align the pointer, but this might not be the case. */ - n = H5HG_ALIGN(p - heap->chunk) - (p - heap->chunk); + n = H5HG_ALIGN(p - heap->chunk) - (size_t)(p - heap->chunk); #ifdef OLD_WAY /* Don't bother zeroing out the rest of the info in the heap -QAK */ HDmemset(p, 0, n); @@ -820,7 +820,7 @@ H5HG_remove (H5F_t *f, hid_t dxpl_id, H5HG_t *hobj) else heap->obj[0].size += need; HDmemmove(obj_start, obj_start + need, - heap->size - ((obj_start + need) - heap->chunk)); + heap->size - (size_t)((obj_start + need) - heap->chunk)); if(heap->obj[0].size >= H5HG_SIZEOF_OBJHDR(f)) { p = heap->obj[0].begin; UINT16ENCODE(p, 0); /*id*/ diff --git a/src/H5HGpkg.h b/src/H5HGpkg.h index 5d4234f..f3546a2 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) (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 @@ -108,8 +107,8 @@ H5FL_BLK_EXTERN(gheap_chunk); * some overhead and each message has some overhead. The `+2' accounts for * rounding and for the free space object. */ -#define H5HG_NOBJS(f,z) (int)((((z)-H5HG_SIZEOF_HDR(f))/ \ - H5HG_SIZEOF_OBJHDR(f)+2)) +#define H5HG_NOBJS(f,z) ((((z)-H5HG_SIZEOF_HDR(f))/ \ + H5HG_SIZEOF_OBJHDR(f)+2)) /****************************/ diff --git a/src/H5MFaggr.c b/src/H5MFaggr.c index f015b19..29d21fd 100644 --- a/src/H5MFaggr.c +++ b/src/H5MFaggr.c @@ -46,7 +46,7 @@ /******************/ /* Local Typedefs */ /******************/ -#define EXTEND_THRESHOLD .10 +#define EXTEND_THRESHOLD 0.10F /********************/ @@ -31,93 +31,107 @@ #include "H5Eprivate.h" #include "H5MMprivate.h" -#ifndef NDEBUG /*------------------------------------------------------------------------- - * Function: H5MM_malloc + * Function: H5MM_malloc * - * Purpose: Just like the POSIX version of malloc(3). This routine - * specifically checks for allocations of 0 bytes and fails - * in that case. This routine is not called when NDEBUG is - * defined. + * Purpose: Similar to the C89 version of malloc(). * - * Return: Success: Ptr to new memory + * On size of 0, we return a NULL pointer instead of the + * standard-allowed 'special' pointer since that's more + * difficult to check as a return value. This is still + * considered an error condition since allocations of zero + * bytes usually indicate problems. + * + * Return: Success: Pointer new memory * - * Failure: NULL + * Failure: NULL * - * Programmer: Quincey Koziol - * koziol@ncsa.uiuc.edu - * Nov 8 2003 - * - * Modifications: + * Programmer: Quincey Koziol + * Nov 8 2003 * *------------------------------------------------------------------------- */ void * H5MM_malloc(size_t size) { + void *ret_value; + + HDassert(size); + /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ FUNC_ENTER_NOAPI_NOINIT_NOERR - HDassert(size); + if(size) + ret_value = HDmalloc(size); + else + ret_value = NULL; - FUNC_LEAVE_NOAPI(HDmalloc(size)); + FUNC_LEAVE_NOAPI(ret_value); } /* end H5MM_malloc() */ /*------------------------------------------------------------------------- - * Function: H5MM_calloc + * Function: H5MM_calloc * - * Purpose: Similar to the POSIX version of calloc(3), except this routine - * just takes a 'size' parameter. This routine - * specifically checks for allocations of 0 bytes and fails - * in that case. This routine is not called when NDEBUG is - * defined. + * Purpose: Similar to the C89 version of calloc(), except this + * routine just takes a 'size' parameter. * - * Return: Success: Ptr to new memory + * On size of 0, we return a NULL pointer instead of the + * standard-allowed 'special' pointer since that's more + * difficult to check as a return value. This is still + * considered an error condition since allocations of zero + * bytes usually indicate problems. * - * Failure: NULL * - * Programmer: Quincey Koziol - * koziol@ncsa.uiuc.edu - * Nov 8 2003 + * Return: Success: Pointer new memory * - * Modifications: + * Failure: NULL + * + * Programmer: Quincey Koziol + * Nov 8 2003 * *------------------------------------------------------------------------- */ void * H5MM_calloc(size_t size) { + void *ret_value; + + HDassert(size); + /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ FUNC_ENTER_NOAPI_NOINIT_NOERR - HDassert(size); + if(size) + ret_value = HDcalloc((size_t)1, size); + else + ret_value = NULL; - FUNC_LEAVE_NOAPI(HDcalloc(1,size)); + FUNC_LEAVE_NOAPI(ret_value); } /* end H5MM_calloc() */ -#endif /* NDEBUG */ /*------------------------------------------------------------------------- - * Function: H5MM_realloc + * Function: H5MM_realloc * - * Purpose: Just like the POSIX version of realloc(3). Specifically, the - * following calls are equivalent + * Purpose: Similar semantics as C89's realloc(). Specifically, the + * following calls are equivalent: * - * H5MM_realloc (NULL, size) <==> H5MM_malloc (size) - * H5MM_realloc (ptr, 0) <==> H5MM_xfree (ptr) - * H5MM_realloc (NULL, 0) <==> NULL + * H5MM_realloc(NULL, size) <==> H5MM_malloc(size) + * H5MM_realloc(ptr, 0) <==> H5MM_xfree(ptr) + * H5MM_realloc(NULL, 0) <==> NULL * - * Return: Success: Ptr to new memory or NULL if the memory - * was freed or HDrealloc couldn't allocate - * memory. + * Note that the (NULL, 0) combination is undefined behavior + * in the C standard. * - * Failure: NULL + * Return: Success: Ptr to new memory if size > 0 + * NULL if size is zero * - * Programmer: Robb Matzke - * matzke@llnl.gov - * Jul 10 1997 + * Failure: NULL (input buffer is unchanged on failure) + * + * Programmer: Robb Matzke + * Jul 10 1997 * *------------------------------------------------------------------------- */ @@ -129,16 +143,19 @@ H5MM_realloc(void *mem, size_t size) /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ FUNC_ENTER_NOAPI_NOINIT_NOERR - if(NULL == mem) { - if(0 == size) + HDassert(mem || size); + + if(NULL == mem && 0 == size) { + /* Not defined in the standard, return NULL */ + ret_value = NULL; + } + else { + ret_value = HDrealloc(mem, size); + + /* Some platforms do not return NULL if size is zero. */ + if(0 == size) ret_value = NULL; - else - ret_value = H5MM_malloc(size); - } /* end if */ - else if(0 == size) - ret_value = H5MM_xfree(mem); - else - ret_value = HDrealloc(mem, size); + } FUNC_LEAVE_NOAPI(ret_value) } /* end H5MM_realloc() */ diff --git a/src/H5MMprivate.h b/src/H5MMprivate.h index a3c39f0..0d608b2 100644 --- a/src/H5MMprivate.h +++ b/src/H5MMprivate.h @@ -33,19 +33,13 @@ /* Private headers needed by this file */ #include "H5private.h" -#ifdef NDEBUG -#define H5MM_malloc(Z) HDmalloc(Z) -#define H5MM_calloc(Z) HDcalloc((size_t)1,Z) -#endif /* NDEBUG */ #define H5MM_free(Z) HDfree(Z) /* * Library prototypes... */ -#ifndef NDEBUG H5_DLL void *H5MM_malloc(size_t size); H5_DLL void *H5MM_calloc(size_t size); -#endif /* NDEBUG */ H5_DLL void *H5MM_realloc(void *mem, size_t size); H5_DLL char *H5MM_xstrdup(const char *s); H5_DLL char *H5MM_strdup(const char *s); @@ -309,12 +309,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: @@ -390,7 +390,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: @@ -573,7 +573,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: @@ -1346,6 +1346,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) @@ -1360,12 +1361,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/H5Oalloc.c b/src/H5Oalloc.c index 5c00fb2..76f392d 100644 --- a/src/H5Oalloc.c +++ b/src/H5Oalloc.c @@ -762,7 +762,7 @@ H5O_alloc_new_chunk(H5F_t *f, hid_t dxpl_id, H5O_t *oh, size_t size, size_t *new size_t idx; /* Message number */ uint8_t *p = NULL; /*ptr into new chunk */ H5O_cont_t *cont = NULL; /*native continuation message */ - unsigned chunkno; /* Chunk allocated */ + size_t chunkno; /* Chunk allocated */ haddr_t new_chunk_addr; unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c index fc82407..1471ae5 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: @@ -1151,14 +1151,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) @@ -1656,7 +1655,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 8fc1650..ac5219d 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -939,6 +939,7 @@ H5O_layout_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_mesg, "B-tree address:", mesg->storage.u.chunk.idx_addr); break; + case H5D_CHUNK_IDX_NTYPES: default: HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth, "Index Type:", "Unknown", (unsigned)mesg->storage.u.chunk.idx_type); @@ -97,6 +97,7 @@ typedef const void *(__cdecl *H5PL_get_plugin_info_t)(void); typedef const void *(*H5PL_get_plugin_info_t)(void); #endif /* H5_HAVE_WIN32_API */ +/* Whether to preload pathnames for plugin libraries */ #define H5PL_DEFAULT_PATH H5_DEFAULT_PLUGINDIR /* Special symbol to indicate no plugin loading */ @@ -149,8 +150,8 @@ static char *H5PL_path_table_g[H5PL_MAX_PATH_NUM]; static size_t H5PL_num_paths_g = 0; static hbool_t H5PL_path_found_g = FALSE; -/* Whether to preload pathnames for plugin libraries */ -static hbool_t H5PL_no_plugin_g = FALSE; +/* Enable all plugin libraries */ +static unsigned int H5PL_plugin_g = H5PL_ALL_PLUGIN; /*-------------------------------------------------------------------------- @@ -177,7 +178,7 @@ H5PL__init_interface(void) if(NULL != (preload_path = HDgetenv("HDF5_PLUGIN_PRELOAD"))) { /* Special symbal "::" means no plugin during data reading. */ if(!HDstrcmp(preload_path, H5PL_NO_PLUGIN)) - H5PL_no_plugin_g = TRUE; + H5PL_plugin_g = 0; } /* end if */ FUNC_LEAVE_NOAPI(SUCCEED) @@ -185,31 +186,68 @@ H5PL__init_interface(void) /*------------------------------------------------------------------------- - * Function: H5PL_no_plugin + * Function: H5PLset_loading_state * - * Purpose: Quick way for filter module to query whether to load plugin + * Purpose: Control the loading of dynamic plugin types. * - * Return: TRUE: No plugin loading during data reading + * This function will not allow plugin types if the pathname from the HDF5_PLUGIN_PRELOAD + * environment variable is set to the special "::" string. * - * FALSE: Load plugin during data reading + * plugin bit = 0, will prevent the use of that dynamic plugin type. + * plugin bit = 1, will allow the use of that dynamic plugin type. * - * Programmer: Raymond Lu - * 20 February 2013 + * H5PL_TYPE_FILTER changes just dynamic filters + * A H5PL_ALL_PLUGIN will enable all dynamic plugin types + * A zero value will disable all dynamic plugin types + * + * Return: Non-negative or success * *------------------------------------------------------------------------- */ -htri_t -H5PL_no_plugin(void) +herr_t +H5PLset_loading_state(unsigned int plugin_type) { - htri_t ret_value; + char *preload_path; + herr_t ret_value = SUCCEED; /* Return value */ + FUNC_ENTER_API(FAIL) + H5TRACE1("e", "Iu", plugin_type); + /* change the bit value of the requested plugin type(s) */ + H5PL_plugin_g = plugin_type; + /* check if special ENV variable is set and disable all plugin types */ + if(NULL != (preload_path = HDgetenv("HDF5_PLUGIN_PRELOAD"))) { + /* Special symbol "::" means no plugin during data reading. */ + if(!HDstrcmp(preload_path, H5PL_NO_PLUGIN)) + H5PL_plugin_g = 0; + } +done: + FUNC_LEAVE_API(ret_value) +} /* end H5PLset_loading_state() */ - FUNC_ENTER_NOAPI(FAIL) - ret_value = (htri_t)H5PL_no_plugin_g; +/*------------------------------------------------------------------------- + * Function: H5PLget_loading_state + * + * Purpose: Query state of the loading of dynamic plugin types. + * + * This function will return the state of the global flag. + * + * Return: Zero if all plugin types are disabled, negative if all + * plugin types are enabled, positive if one or more of the plugin types are enabled. + * + *------------------------------------------------------------------------- + */ +herr_t +H5PLget_loading_state(unsigned int* plugin_type) +{ + herr_t ret_value = SUCCEED; /* Return value */ + FUNC_ENTER_API(FAIL) + + if(plugin_type) + *plugin_type = H5PL_plugin_g; + done: + FUNC_LEAVE_API(ret_value) +} /* end H5PLget_loading_state() */ -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5PL_no_plugin() */ /*------------------------------------------------------------------------- @@ -285,9 +323,14 @@ H5PL_load(H5PL_type_t type, int id) FUNC_ENTER_NOAPI(NULL) - /* Check for "no plugins" indicated" */ - if(H5PL_no_plugin_g) - HGOTO_ERROR(H5E_PLUGIN, H5E_CANTLOAD, NULL, "required dynamically loaded plugin filter '%d' is not available", id) + switch (type) { + case H5PL_TYPE_FILTER: + if((H5PL_plugin_g & H5PL_FILTER_PLUGIN) == 0) + HGOTO_ERROR(H5E_PLUGIN, H5E_CANTLOAD, NULL, "required dynamically loaded plugin filter '%d' is not available", id) + break; + default: + HGOTO_ERROR(H5E_PLUGIN, H5E_CANTLOAD, NULL, "required dynamically loaded plugin '%d' is not valid", id) + } /* Initialize the location paths for dynamic libraries, if they aren't * already set up. diff --git a/src/H5PLextern.h b/src/H5PLextern.h index 8ad19e7..3264435 100644 --- a/src/H5PLextern.h +++ b/src/H5PLextern.h @@ -22,18 +22,6 @@ /* Include HDF5 header */ #include "hdf5.h" -/*******************/ -/* Public Typedefs */ -/*******************/ - -/* Plugin type */ -typedef enum H5PL_type_t { - H5PL_TYPE_ERROR = -1, /*error */ - H5PL_TYPE_FILTER = 0, /*filter */ - H5PL_TYPE_NONE = 1 /*this must be last! */ -} H5PL_type_t; - - /* plugins always export */ #if defined (_MSC_VER) /* MSVC Compiler Case */ #define H5PLUGIN_DLL __declspec(dllexport) diff --git a/src/H5PLprivate.h b/src/H5PLprivate.h index 587a51b..77e115b 100644 --- a/src/H5PLprivate.h +++ b/src/H5PLprivate.h @@ -19,18 +19,8 @@ #ifndef _H5PLprivate_H #define _H5PLprivate_H -/* Keep the following in sync with the package's "external" header */ - -/*******************/ -/* Public Typedefs */ -/*******************/ - -/* Plugin type */ -typedef enum H5PL_type_t { - H5PL_TYPE_ERROR = -1, /*error */ - H5PL_TYPE_FILTER = 0, /*filter */ - H5PL_TYPE_NONE = 1 /*this must be last! */ -} H5PL_type_t; +/* Include package's public header */ +#include "H5PLpublic.h" /* Private headers needed by this file */ #include "H5private.h" /* Generic Functions */ @@ -57,7 +47,6 @@ typedef enum H5PL_type_t { /* Internal API routines */ H5_DLL const void *H5PL_load(H5PL_type_t plugin_type, int type_id); -H5_DLL htri_t H5PL_no_plugin(void); #endif /* _H5PLprivate_H */ diff --git a/src/H5PLpublic.h b/src/H5PLpublic.h new file mode 100644 index 0000000..0528945 --- /dev/null +++ b/src/H5PLpublic.h @@ -0,0 +1,53 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * 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 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. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* Programmer: Raymond Lu <songyulu@hdfgroup.org> + * 13 February 2013 + */ + +#ifndef _H5PLpublic_H +#define _H5PLpublic_H + +/* Public headers needed by this file */ +#include "H5public.h" /* Generic Functions */ + +/*******************/ +/* Public Typedefs */ +/*******************/ + +/* Plugin type used by the plugin library */ +typedef enum H5PL_type_t { + H5PL_TYPE_ERROR = -1, /*error */ + H5PL_TYPE_FILTER = 0, /*filter */ + H5PL_TYPE_NONE = 1 /*this must be last! */ +} H5PL_type_t; + +/* Common dynamic plugin type flags used by the set/get_loading_state functions */ +#define H5PL_FILTER_PLUGIN 0x0001 +#define H5PL_ALL_PLUGIN 0xFFFF + +#ifdef __cplusplus +extern "C" { +#endif + +/* plugin state */ +H5_DLL herr_t H5PLset_loading_state(unsigned int plugin_type); +H5_DLL herr_t H5PLget_loading_state(unsigned int* plugin_type/*out*/); + +#ifdef __cplusplus +} +#endif + +#endif /* _H5PLpublic_H */ + 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"); @@ -411,6 +411,10 @@ done: 13 July 2011 I added the OAPL_ID parameter for the object being referenced. It only supports dataset access property list currently. + + M. Scot Breitenfeld + 3 March 2015 + Added a check for undefined reference pointer. --------------------------------------------------------------------------*/ hid_t H5R_dereference(H5F_t *file, hid_t oapl_id, hid_t dxpl_id, H5R_type_t ref_type, const void *_ref, hbool_t app_ref) @@ -435,8 +439,10 @@ H5R_dereference(H5F_t *file, hid_t oapl_id, hid_t dxpl_id, H5R_type_t ref_type, switch(ref_type) { case H5R_OBJECT: oloc.addr = *(const hobj_ref_t *)_ref; /* Only object references currently supported */ - break; - + if(!H5F_addr_defined(oloc.addr) || oloc.addr == 0) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Undefined reference pointer") + break; + case H5R_DATASET_REGION: { H5HG_t hobjid; /* Heap object ID */ @@ -448,6 +454,9 @@ H5R_dereference(H5F_t *file, hid_t oapl_id, hid_t dxpl_id, H5R_type_t ref_type, H5F_addr_decode(oloc.file, &p, &(hobjid.addr)); UINT32DECODE(p, hobjid.idx); + if(!H5F_addr_defined(hobjid.addr) || hobjid.addr == 0) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Undefined reference pointer") + /* Get the dataset region from the heap (allocate inside routine) */ if(NULL == (buf = (uint8_t *)H5HG_read(oloc.file, dxpl_id, &hobjid, NULL, NULL))) HGOTO_ERROR(H5E_REFERENCE, H5E_READERROR, FAIL, "Unable to read dataset region information") @@ -594,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: @@ -1017,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: @@ -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/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))); @@ -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 */ @@ -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 */ @@ -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) @@ -1264,16 +1263,14 @@ done: * Programmer: Quincey Koziol * Monday, April 21, 2003 * - * Modifications: - * *------------------------------------------------------------------------- */ herr_t H5VM_chunk_index(unsigned ndims, const hsize_t *coord, const uint32_t *chunk, const hsize_t *down_nchunks, hsize_t *chunk_idx) { - hsize_t scaled_coord[H5VM_HYPER_NDIMS]; /* Scaled, coordinates, in terms of chunks */ - unsigned u; /* Local index variable */ + hsize_t scaled_coord[H5VM_HYPER_NDIMS]; /* Scaled, coordinates, in terms of chunks */ + unsigned u; /* Local index variable */ FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -1284,11 +1281,11 @@ H5VM_chunk_index(unsigned ndims, const hsize_t *coord, const uint32_t *chunk, HDassert(chunk_idx); /* Compute the scaled coordinates for actual coordinates */ - for(u=0; u<ndims; u++) - scaled_coord[u]=coord[u]/chunk[u]; + for(u = 0; u < ndims; u++) + scaled_coord[u] = coord[u] / chunk[u]; /* Compute the chunk index */ - *chunk_idx=H5VM_array_offset_pre(ndims,down_nchunks,scaled_coord); /*lint !e772 scaled_coord will always be initialized */ + *chunk_idx = H5VM_array_offset_pre(ndims,down_nchunks,scaled_coord); /*lint !e772 scaled_coord will always be initialized */ FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5VM_chunk_index() */ diff --git a/src/H5VMprivate.h b/src/H5VMprivate.h index 4706b5f..20821b2 100644 --- a/src/H5VMprivate.h +++ b/src/H5VMprivate.h @@ -357,26 +357,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() */ @@ -93,35 +93,28 @@ H5Z_init_interface (void) FUNC_ENTER_NOAPI_NOINIT + /* Internal filters */ + if (H5Z_register (H5Z_SHUFFLE)<0) + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register shuffle filter") + if (H5Z_register (H5Z_FLETCHER32)<0) + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register fletcher32 filter") + if (H5Z_register (H5Z_NBIT)<0) + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register nbit filter") + if (H5Z_register (H5Z_SCALEOFFSET)<0) + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register scaleoffset filter") + + /* External filters */ #ifdef H5_HAVE_FILTER_DEFLATE if (H5Z_register (H5Z_DEFLATE)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register deflate filter") + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register deflate filter") #endif /* H5_HAVE_FILTER_DEFLATE */ -#ifdef H5_HAVE_FILTER_SHUFFLE - if (H5Z_register (H5Z_SHUFFLE)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register shuffle filter") -#endif /* H5_HAVE_FILTER_SHUFFLE */ -#ifdef H5_HAVE_FILTER_FLETCHER32 - if (H5Z_register (H5Z_FLETCHER32)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register fletcher32 filter") -#endif /* H5_HAVE_FILTER_FLETCHER32 */ #ifdef H5_HAVE_FILTER_SZIP H5Z_SZIP->encoder_present = SZ_encoder_enabled(); if (H5Z_register (H5Z_SZIP)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register szip filter") + HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register szip filter") #endif /* H5_HAVE_FILTER_SZIP */ -#ifdef H5_HAVE_FILTER_NBIT - if (H5Z_register (H5Z_NBIT)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register nbit filter") -#endif /* H5_HAVE_FILTER_NBIT */ -#ifdef H5_HAVE_FILTER_SCALEOFFSET - if (H5Z_register (H5Z_SCALEOFFSET)<0) - HGOTO_ERROR (H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register scaleoffset filter") -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ -#if (defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_FLETCHER32 | defined H5_HAVE_FILTER_SHUFFLE | defined H5_HAVE_FILTER_SZIP | defined H5_HAVE_FILTER_NBIT | defined H5_HAVE_FILTER_SCALEOFFSET) done: -#endif /* (defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_FLETCHER32 | defined H5_HAVE_FILTER_SHUFFLE | defined H5_HAVE_FILTER_SZIP | defined H5_HAVE_FILTER_NBIT | defined H5_HAVE_FILTER_SCALEOFFSET) */ FUNC_LEAVE_NOAPI(ret_value) } diff --git a/src/H5Zfletcher32.c b/src/H5Zfletcher32.c index 8d2643d..2ee69d1 100644 --- a/src/H5Zfletcher32.c +++ b/src/H5Zfletcher32.c @@ -27,8 +27,6 @@ #include "H5MMprivate.h" /* Memory management */ #include "H5Zpkg.h" /* Data filters */ -#ifdef H5_HAVE_FILTER_FLETCHER32 - /* Local function prototypes */ static size_t H5Z_filter_fletcher32 (unsigned flags, size_t cd_nelmts, const unsigned cd_values[], size_t nbytes, size_t *buf_size, void **buf); @@ -139,9 +137,11 @@ H5Z_filter_fletcher32 (unsigned flags, size_t UNUSED cd_nelmts, const unsigned U /* Compute checksum (can't fail) */ fletcher = H5_checksum_fletcher32(src, nbytes); - if (NULL==(dst=outbuf=H5MM_malloc(nbytes+FLETCHER_LEN))) + if (NULL == (outbuf = H5MM_malloc(nbytes + FLETCHER_LEN))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, 0, "unable to allocate Fletcher32 checksum destination buffer") + dst = (unsigned char *) outbuf; + /* Copy raw data */ HDmemcpy((void*)dst, (void*)(*buf), nbytes); @@ -164,5 +164,4 @@ done: H5MM_xfree(outbuf); FUNC_LEAVE_NOAPI(ret_value) } -#endif /* H5_HAVE_FILTER_FLETCHER32 */ diff --git a/src/H5Znbit.c b/src/H5Znbit.c index ebb534b..9506ace 100644 --- a/src/H5Znbit.c +++ b/src/H5Znbit.c @@ -25,8 +25,6 @@ #include "H5Tprivate.h" /* Datatypes */ #include "H5Zpkg.h" /* Data filters */ -#ifdef H5_HAVE_FILTER_NBIT - /* Struct of parameters needed for compressing/decompressing * one nbit atomic datatype: integer or floating-point */ @@ -1424,4 +1422,4 @@ static void H5Z_nbit_compress(unsigned char *data, unsigned d_nelmts, unsigned c * the last byte, increment the value by 1. */ *buffer_size = new_size + 1; } -#endif /* H5_HAVE_FILTER_NBIT */ + diff --git a/src/H5Zpkg.h b/src/H5Zpkg.h index b0df856..e2cec89 100644 --- a/src/H5Zpkg.h +++ b/src/H5Zpkg.h @@ -23,48 +23,35 @@ /* Include private header file */ #include "H5Zprivate.h" /* Filter functions */ +/********************/ +/* Internal filters */ +/********************/ -#ifdef H5_HAVE_FILTER_DEFLATE -/* - * Deflate filter - */ -H5_DLLVAR const H5Z_class2_t H5Z_DEFLATE[1]; -#endif /* H5_HAVE_FILTER_DEFLATE */ - -#ifdef H5_HAVE_FILTER_SHUFFLE -/* - * Shuffle filter - */ +/* Shuffle filter */ H5_DLLVAR const H5Z_class2_t H5Z_SHUFFLE[1]; -#endif /* H5_HAVE_FILTER_SHUFFLE */ -#ifdef H5_HAVE_FILTER_FLETCHER32 -/* - * Fletcher32 filter - */ +/* Fletcher32 filter */ H5_DLLVAR const H5Z_class2_t H5Z_FLETCHER32[1]; -#endif /* H5_HAVE_FILTER_FLETCHER32 */ -#ifdef H5_HAVE_FILTER_SZIP -/* - * szip filter - */ -H5_DLLVAR H5Z_class2_t H5Z_SZIP[1]; -#endif /* H5_HAVE_FILTER_SZIP */ - -#ifdef H5_HAVE_FILTER_NBIT -/* - * nbit filter - */ +/* n-bit filter */ H5_DLLVAR H5Z_class2_t H5Z_NBIT[1]; -#endif /* H5_HAVE_FILTER_NBIT */ -#ifdef H5_HAVE_FILTER_SCALEOFFSET -/* - * scaleoffset filter - */ +/* Scale/offset filter */ H5_DLLVAR H5Z_class2_t H5Z_SCALEOFFSET[1]; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ + +/********************/ +/* External filters */ +/********************/ + +/* Deflate filter */ +#ifdef H5_HAVE_FILTER_DEFLATE +H5_DLLVAR const H5Z_class2_t H5Z_DEFLATE[1]; +#endif /* H5_HAVE_FILTER_DEFLATE */ + +/* szip filter */ +#ifdef H5_HAVE_FILTER_SZIP +H5_DLLVAR H5Z_class2_t H5Z_SZIP[1]; +#endif /* H5_HAVE_FILTER_SZIP */ #endif /* _H5Zpkg_H */ diff --git a/src/H5Zscaleoffset.c b/src/H5Zscaleoffset.c index 83864b9..38e2986 100644 --- a/src/H5Zscaleoffset.c +++ b/src/H5Zscaleoffset.c @@ -26,8 +26,6 @@ #include "H5Tprivate.h" /* Datatypes */ #include "H5Zpkg.h" /* Data filters */ -#ifdef H5_HAVE_FILTER_SCALEOFFSET - /* Struct of parameters needed for compressing/decompressing one atomic datatype */ typedef struct { size_t size; /* datatype size */ @@ -1722,5 +1720,4 @@ H5Z_scaleoffset_compress(unsigned char *data, unsigned d_nelmts, for(i = 0; i < d_nelmts; i++) H5Z_scaleoffset_compress_one_atomic(data, i * p.size, buffer, &j, &buf_len, p); } -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ diff --git a/src/H5Zshuffle.c b/src/H5Zshuffle.c index 4a67839..4138bf1 100644 --- a/src/H5Zshuffle.c +++ b/src/H5Zshuffle.c @@ -24,8 +24,6 @@ #include "H5Tprivate.h" /* Datatypes */ #include "H5Zpkg.h" /* Data filters */ -#ifdef H5_HAVE_FILTER_SHUFFLE - /* Local function prototypes */ static herr_t H5Z_set_local_shuffle(hid_t dcpl_id, hid_t type_id, hid_t space_id); static size_t H5Z_filter_shuffle(unsigned flags, size_t cd_nelmts, @@ -291,5 +289,4 @@ H5Z_filter_shuffle(unsigned flags, size_t cd_nelmts, const unsigned cd_values[], done: FUNC_LEAVE_NOAPI(ret_value) } -#endif /*H5_HAVE_FILTER_SHUFFLE */ 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 42dfcfb..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 @@ -98,18 +79,6 @@ /* Define if support for deflate (zlib) filter is enabled */ #undef HAVE_FILTER_DEFLATE -/* Define if support for Fletcher32 checksum is enabled */ -#undef HAVE_FILTER_FLETCHER32 - -/* Define if support for nbit filter is enabled */ -#undef HAVE_FILTER_NBIT - -/* Define if support for scaleoffset filter is enabled */ -#undef HAVE_FILTER_SCALEOFFSET - -/* Define if support for shuffle filter is enabled */ -#undef HAVE_FILTER_SHUFFLE - /* Define if support for szip filter is enabled */ #undef HAVE_FILTER_SZIP @@ -387,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 @@ -594,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 @@ -621,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/H5detect.c b/src/H5detect.c index aed7514..fc0570c 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -323,7 +323,7 @@ precision (detected_t *d) * steps). This is necessary because padding bits can change arbitrarily \ * and interfere with detection of the various properties below unless we \ * know to ignore them. */ \ - _v1 = 4.0; \ + _v1 = (TYPE)4.0L; \ HDmemcpy(_buf1, (const void *)&_v1, sizeof(TYPE)); \ for(_i = 0; _i < (int)sizeof(TYPE); _i++) \ for(_byte_mask = (unsigned char)1; _byte_mask; _byte_mask <<= 1) { \ @@ -335,10 +335,10 @@ precision (detected_t *d) } /* end for */ \ \ /* Byte Order */ \ - for(_i = 0, _v1 = 0.0, _v2 = 1.0; _i < (int)sizeof(TYPE); _i++) { \ + for(_i = 0, _v1 = (TYPE)0.0L, _v2 = (TYPE)1.0L; _i < (int)sizeof(TYPE); _i++) { \ _v3 = _v1; \ _v1 += _v2; \ - _v2 /= 256.0; \ + _v2 /= (TYPE)256.0L; \ HDmemcpy(_buf1, (const void *)&_v1, sizeof(TYPE)); \ HDmemcpy(_buf3, (const void *)&_v3, sizeof(TYPE)); \ _j = byte_cmp(sizeof(TYPE), _buf3, _buf1, _pad_mask); \ @@ -353,20 +353,20 @@ precision (detected_t *d) INFO.is_vax = TRUE; \ \ /* Implicit mantissa bit */ \ - _v1 = 0.5; \ - _v2 = 1.0; \ + _v1 = (TYPE)0.5L; \ + _v2 = (TYPE)1.0L; \ INFO.imp = imp_bit (sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask); \ \ /* Sign bit */ \ - _v1 = 1.0; \ - _v2 = -1.0; \ + _v1 = (TYPE)1.0L; \ + _v2 = (TYPE)-1.0L; \ INFO.sign = bit_cmp (sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask); \ \ /* Mantissa */ \ INFO.mpos = 0; \ \ - _v1 = 1.0; \ - _v2 = 1.5; \ + _v1 = (TYPE)1.0L; \ + _v2 = (TYPE)1.5L; \ INFO.msize = bit_cmp (sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask); \ INFO.msize += 1 + (INFO.imp?0:1) - INFO.mpos; \ \ @@ -375,7 +375,7 @@ precision (detected_t *d) \ INFO.esize = INFO.sign - INFO.epos; \ \ - _v1 = 1.0; \ + _v1 = (TYPE)1.0L; \ INFO.bias = find_bias (INFO.epos, INFO.esize, INFO.perm, &_v1); \ precision (&(INFO)); \ ALIGNMENT(TYPE, INFO); \ @@ -858,6 +858,7 @@ done:\n\ printf("/* signal_handlers tested: %d times */\n", signal_handler_tested_g); printf("/* sigbus_handler called: %d times */\n", sigbus_handler_called_g); printf("/* sigsegv_handler called: %d times */\n", sigsegv_handler_called_g); + printf("/* sigill_handler called: %d times */\n", sigill_handler_called_g); } /* end print_results() */ @@ -1381,8 +1382,8 @@ detect_C89_integers(void) static void detect_C89_floats(void) { - DETECT_F(float, FLOAT, d_g[nd_g]); nd_g++; - DETECT_F(double, DOUBLE, d_g[nd_g]); nd_g++; + DETECT_F(float, FLOAT, d_g[nd_g]); nd_g++; + DETECT_F(double, DOUBLE, d_g[nd_g]); nd_g++; } @@ -1750,13 +1751,17 @@ main(void) #if defined(H5SETJMP) && defined(H5_HAVE_SIGNAL) /* verify the SIGBUS and SIGSEGV handlers work properly */ - if (verify_signal_handlers (SIGBUS, sigbus_handler) != 0){ - fprintf(stderr, "Signal handler %s for signal %d failed\n", - "sigbus_handler", SIGBUS); + if (verify_signal_handlers(SIGBUS, sigbus_handler) != 0) { + fprintf(stderr, "Signal handler %s for signal %d failed\n", + "sigbus_handler", SIGBUS); } - if (verify_signal_handlers (SIGSEGV, sigsegv_handler) != 0){ - fprintf(stderr, "Signal handler %s for signal %d failed\n", - "sigsegv_handler", SIGSEGV); + if (verify_signal_handlers(SIGSEGV, sigsegv_handler) != 0) { + fprintf(stderr, "Signal handler %s for signal %d failed\n", + "sigsegv_handler", SIGSEGV); + } + if (verify_signal_handlers(SIGILL, sigill_handler) != 0) { + fprintf(stderr, "Signal handler %s for signal %d failed\n", + "sigill_handler", SIGILL); } #else align_status_g |= STA_NoHandlerVerify; diff --git a/src/H5private.h b/src/H5private.h index a532c79..d1bbc24 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 @@ -480,6 +477,48 @@ # define H5_DEC_ENUM(TYPE,VAR) (VAR)=((TYPE)((VAR)-1)) #endif +/* Double constant wrapper + * + * Quiets gcc warnings from -Wunsuffixed-float-constants. + * + * This is a really annoying warning since the standard specifies that + * constants of type double do NOT get a suffix so there's no way + * to specify a constant of type double. To quiet gcc, we specify floating + * point constants as type long double and cast to double. + * + * Note that this macro only needs to be used where using a double + * is important. For most code, suffixing constants with F will quiet the + * compiler and not produce erroneous code. + */ +#define H5_DOUBLE(S) ((double) S ## L) + +/* + * Methods to compare the equality of floating-point values: + * + * 1. H5_XXX_ABS_EQUAL - check if the difference is smaller than the + * Epsilon value. The Epsilon values, FLT_EPSILON, DBL_EPSILON, + * and LDBL_EPSILON, are defined by compiler in float.h. + * + * 2. H5_XXX_REL_EQUAL - check if the relative difference is smaller than a + * predefined value M. See if two values are relatively equal. + * It's the developer's responsibility not to pass in the value 0, which + * may cause the equation to fail. + */ +#define H5_FLT_ABS_EQUAL(X,Y) (HDfabsf(X-Y) < FLT_EPSILON) +#define H5_DBL_ABS_EQUAL(X,Y) (HDfabs (X-Y) < DBL_EPSILON) +#define H5_LDBL_ABS_EQUAL(X,Y) (HDfabsl(X-Y) < LDBL_EPSILON) + +#define H5_FLT_REL_EQUAL(X,Y,M) (HDfabsf((Y-X) / X) < M) +#define H5_DBL_REL_EQUAL(X,Y,M) (HDfabs ((Y-X) / X) < M) +#define H5_LDBL_REL_EQUAL(X,Y,M) (HDfabsl((Y-X) / X) < M) + +/* KiB, MiB, GiB, TiB, EiB - Used in profiling and timing code */ +#define H5_KB (1024.0F) +#define H5_MB (1024.0F * 1024.0F) +#define H5_GB (1024.0F * 1024.0F * 1024.0F) +#define H5_TB (1024.0F * 1024.0F * 1024.0F * 1024.0F) +#define H5_EB (1024.0F * 1024.0F * 1024.0F * 1024.0F * 1024.0F) + /* * Data types and functions for timing certain parts of the library. */ diff --git a/src/H5public.h b/src/H5public.h index 673aa6f..7bacb3d 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 215 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 216 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.215" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.216" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) @@ -332,6 +332,8 @@ H5_DLL herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, H5_DLL herr_t H5check_version(unsigned majnum, unsigned minnum, unsigned relnum); H5_DLL herr_t H5free_memory(void *mem); +H5_DLL void *H5allocate_memory(size_t size, hbool_t clear); +H5_DLL void *H5resize_memory(void *mem, size_t size); #ifdef __cplusplus } diff --git a/src/H5system.c b/src/H5system.c index 437a004..56db380 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -313,7 +313,7 @@ HDfprintf(FILE *stream, const char *fmt, ...) case 'G': if(!HDstrcmp(modifier, "h")) { float x = (float)va_arg(ap, double); - n = fprintf(stream, format_templ, x); + n = fprintf(stream, format_templ, (double)x); } else if(!*modifier || !HDstrcmp(modifier, "l")) { double x = va_arg(ap, double); n = fprintf(stream, format_templ, x); diff --git a/src/H5timer.c b/src/H5timer.c index 301d98b..94f2883 100644 --- a/src/H5timer.c +++ b/src/H5timer.c @@ -90,8 +90,6 @@ * Programmer: Robb Matzke * Thursday, April 16, 1998 * - * Modifications: - * *------------------------------------------------------------------------- */ void @@ -112,8 +110,6 @@ H5_timer_reset (H5_timer_t *timer) * Programmer: Robb Matzke * Thursday, April 16, 1998 * - * Modifications: - * *------------------------------------------------------------------------- */ void @@ -131,18 +127,18 @@ H5_timer_begin (H5_timer_t *timer) #ifdef H5_HAVE_GETRUSAGE HDgetrusage (RUSAGE_SELF, &rusage); timer->utime = (double)rusage.ru_utime.tv_sec + - ((double)rusage.ru_utime.tv_usec / 1e6); + ((double)rusage.ru_utime.tv_usec / 1e6F); timer->stime = (double)rusage.ru_stime.tv_sec + - ((double)rusage.ru_stime.tv_usec / 1e6); + ((double)rusage.ru_stime.tv_usec / 1e6F); #else - timer->utime = 0.0; - timer->stime = 0.0; + timer->utime = 0.0F; + timer->stime = 0.0F; #endif #ifdef H5_HAVE_GETTIMEOFDAY HDgettimeofday (&etime, NULL); - timer->etime = (double)etime.tv_sec + ((double)etime.tv_usec / 1e6); + timer->etime = (double)etime.tv_sec + ((double)etime.tv_usec / 1e6F); #else - timer->etime = 0.0; + timer->etime = 0.0F; #endif } /* end H5_timer_begin() */ @@ -160,8 +156,6 @@ H5_timer_begin (H5_timer_t *timer) * Programmer: Robb Matzke * Thursday, April 16, 1998 * - * Modifications: - * *------------------------------------------------------------------------- */ void @@ -170,16 +164,16 @@ H5_timer_end (H5_timer_t *sum/*in,out*/, H5_timer_t *timer/*in,out*/) H5_timer_t now; HDassert(timer); - H5_timer_begin (&now); + H5_timer_begin(&now); - timer->utime = MAX(0.0, now.utime - timer->utime); - timer->stime = MAX(0.0, now.stime - timer->stime); - timer->etime = MAX(0.0, now.etime - timer->etime); + timer->utime = MAX(0.0F, now.utime - timer->utime); + timer->stime = MAX(0.0F, now.stime - timer->stime); + timer->etime = MAX(0.0F, now.etime - timer->etime); if (sum) { - sum->utime += timer->utime; - sum->stime += timer->stime; - sum->etime += timer->etime; + sum->utime += timer->utime; + sum->stime += timer->stime; + sum->etime += timer->etime; } } /* end H5_timer_end() */ @@ -207,8 +201,6 @@ H5_timer_end (H5_timer_t *sum/*in,out*/, H5_timer_t *timer/*in,out*/) * Programmer: Robb Matzke * Wednesday, August 5, 1998 * - * Modifications: - * *------------------------------------------------------------------------- */ void @@ -216,35 +208,34 @@ H5_bandwidth(char *buf/*out*/, double nbytes, double nseconds) { double bw; - if(nseconds <= 0.0) - HDstrcpy(buf, " NaN"); + if(nseconds <= 0.0F) + HDstrcpy(buf, " NaN"); else { - bw = nbytes/nseconds; - if(HDfabs(bw) < 0.0000000001) - /* That is == 0.0, but direct comparison between floats is bad */ - HDstrcpy(buf, "0.000 B/s"); - else if(bw < 1.0) - sprintf(buf, "%10.4e", bw); - else if(bw < 1024.0) { - sprintf(buf, "%05.4f", bw); - HDstrcpy(buf+5, " B/s"); - } else if(bw < (1024.0 * 1024.0)) { - sprintf(buf, "%05.4f", bw / 1024.0); - HDstrcpy(buf+5, " kB/s"); - } else if(bw < (1024.0 * 1024.0 * 1024.0)) { - sprintf(buf, "%05.4f", bw / (1024.0 * 1024.0)); - HDstrcpy(buf+5, " MB/s"); - } else if(bw < (1024.0 * 1024.0 * 1024.0 * 1024.0)) { - sprintf(buf, "%05.4f", bw / (1024.0 * 1024.0 * 1024.0)); - HDstrcpy(buf+5, " GB/s"); - } else if(bw < (1024.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0)) { - sprintf(buf, "%05.4f", bw / (1024.0 * 1024.0 * 1024.0 * 1024.0)); - HDstrcpy(buf+5, " TB/s"); - } else { - sprintf(buf, "%10.4e", bw); - if(HDstrlen(buf) > 10) - sprintf(buf, "%10.3e", bw); - } + bw = nbytes/nseconds; + if(H5_DBL_ABS_EQUAL(bw, 0.0F)) + HDstrcpy(buf, "0.000 B/s"); + else if(bw < 1.0F) + sprintf(buf, "%10.4e", bw); + else if(bw < H5_KB) { + sprintf(buf, "%05.4f", bw); + HDstrcpy(buf+5, " B/s"); + } else if(bw < H5_MB) { + sprintf(buf, "%05.4f", bw / H5_KB); + HDstrcpy(buf+5, " kB/s"); + } else if(bw < H5_GB) { + sprintf(buf, "%05.4f", bw / H5_MB); + HDstrcpy(buf+5, " MB/s"); + } else if(bw < H5_TB) { + sprintf(buf, "%05.4f", bw / H5_GB); + HDstrcpy(buf+5, " GB/s"); + } else if(bw < H5_EB) { + sprintf(buf, "%05.4f", bw / H5_TB); + HDstrcpy(buf+5, " TB/s"); + } else { + sprintf(buf, "%10.4e", bw); + if(HDstrlen(buf) > 10) + sprintf(buf, "%10.3e", bw); + } } } /* end H5_bandwidth() */ diff --git a/src/H5trace.c b/src/H5trace.c index 08641da..de2b969 100644 --- a/src/H5trace.c +++ b/src/H5trace.c @@ -110,7 +110,7 @@ * SO MAY CAUSE H5_trace() TO BE INVOKED RECURSIVELY OR MAY * CAUSE LIBRARY INITIALIZATIONS THAT ARE NOT DESIRED. * - * Return: void + * Return: Execution time for an API call * * Programmer: Robb Matzke * Tuesday, June 16, 1998 @@ -129,34 +129,34 @@ H5_trace(const double *returning, const char *func, const char *type, ...) void *vp = NULL; FILE *out = H5_debug_g.trace; H5_timer_t event_time; - static H5_timer_t first_time = {0.0, 0.0, 0.0}; + static H5_timer_t first_time = {0.0F, 0.0F, 0.0F}; static int current_depth = 0; static int last_call_depth = 0; /* FUNC_ENTER() should not be called */ if(!out) - return 0.0; /*tracing is off*/ + return 0.0F; /*tracing is off*/ va_start(ap, type); if(H5_debug_g.ttop) { if(returning) { if(current_depth > 1) { --current_depth; - return 0.0; + return 0.0F; } /* end if */ } /* end if */ else { if(current_depth > 0) { /*do not update last_call_depth*/ current_depth++; - return 0.0; + return 0.0F; } /* end if */ } /* end else */ } /* end if */ - /* Get tim for event */ - if(HDfabs(first_time.etime) < 0.0000000001) + /* Get time for event */ + if(HDfabs(first_time.etime) < 0.0000000001F) /* That is == 0.0, but direct comparison between floats is bad */ H5_timer_begin(&first_time); if(H5_debug_g.ttimes) diff --git a/src/Makefile.am b/src/Makefile.am index 6a745e2..fb981c4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -119,7 +119,7 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers H5FDmulti.h H5FDsec2.h H5FDstdio.h \ H5Gpublic.h H5Ipublic.h H5Lpublic.h \ H5MMpublic.h H5Opublic.h H5Ppublic.h \ - H5PLextern.h \ + H5PLextern.h H5PLpublic.h \ H5Rpublic.h H5Spublic.h \ H5Tpublic.h H5Zpublic.h diff --git a/src/Makefile.in b/src/Makefile.in index 5396842..a2a461a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -470,7 +470,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@ @@ -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@ @@ -521,17 +519,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -594,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@ @@ -609,10 +603,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ @@ -734,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 = 205 +LT_VERS_REVISION = 206 LT_VERS_AGE = 0 # Our main target, the HDF5 library @@ -828,7 +818,7 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers H5FDmulti.h H5FDsec2.h H5FDstdio.h \ H5Gpublic.h H5Ipublic.h H5Lpublic.h \ H5MMpublic.h H5Opublic.h H5Ppublic.h \ - H5PLextern.h \ + H5PLextern.h H5PLpublic.h \ H5Rpublic.h H5Spublic.h \ H5Tpublic.h H5Zpublic.h @@ -33,7 +33,8 @@ #include "H5Lpublic.h" /* Links */ #include "H5MMpublic.h" /* Memory management */ #include "H5Opublic.h" /* Object headers */ -#include "H5Ppublic.h" /* Property lists */ +#include "H5Ppublic.h" /* Property lists */ +#include "H5PLpublic.h" /* Plugins */ #include "H5Rpublic.h" /* References */ #include "H5Spublic.h" /* Dataspaces */ #include "H5Tpublic.h" /* Datatypes */ diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in index 424334d..1b1ae96 100644 --- a/src/libhdf5.settings.in +++ b/src/libhdf5.settings.in @@ -62,7 +62,6 @@ Features: Default API Mapping: @DEFAULT_API_VERSION@ With Deprecated Public Symbols: @DEPRECATED_SYMBOLS@ I/O filters (external): @EXTERNAL_FILTERS@ - I/O filters (internal): @FILTERS@ MPE: @MPE@ Direct VFD: @DIRECT_VFD@ dmalloc: @HAVE_DMALLOC@ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5e23219..950b7cf 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) @@ -238,21 +238,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) @@ -265,7 +265,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) @@ -273,7 +273,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) @@ -281,14 +281,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) @@ -309,8 +309,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 c01ef61..c630501 100644 --- a/test/CMakeTests.cmake +++ b/test/CMakeTests.cmake @@ -728,8 +728,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 0ca6ff8..3204bd3 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -816,7 +816,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@ @@ -848,7 +847,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@ @@ -867,17 +865,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -940,7 +935,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@ @@ -955,10 +949,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/test/cache.c b/test/cache.c index 5ad1314..8725b31 100644 --- a/test/cache.c +++ b/test/cache.c @@ -20340,7 +20340,10 @@ check_auto_cache_resize(void) auto_size_ctl.decr_mode = H5C_decr__age_out_with_threshold; - auto_size_ctl.upper_hr_threshold = 0.999; /* for ease of testing */ + /* NOTE: upper_hr_threshold MUST be type double (not float) + * or the cache test will fail on 64-bit systems. + */ + auto_size_ctl.upper_hr_threshold = H5_DOUBLE(0.999); /* for ease of testing */ auto_size_ctl.decrement = 0.5f; @@ -28353,7 +28356,7 @@ check_auto_cache_resize_aux_fcns(void) pass = FALSE; failure_mssg = "H5C_get_cache_hit_rate failed.\n"; - } else if ( ! DBL_REL_EQUAL(hit_rate, 0.5, FP_EPSILON) ) { /* i.e. hit_rate != 0.5 */ + } else if ( ! DBL_REL_EQUAL(hit_rate, 0.5F, FP_EPSILON) ) { /* i.e. hit_rate != 0.5 */ pass = FALSE; failure_mssg = diff --git a/test/cache_api.c b/test/cache_api.c index b1ccef1..8f556be 100644 --- a/test/cache_api.c +++ b/test/cache_api.c @@ -2173,7 +2173,7 @@ H5AC_cache_config_t invalid_configs[NUM_INVALID_CONFIGS] = /* long int epoch_length = */ 50000, /* enum H5C_cache_incr_mode incr_mode = */ H5C_incr__threshold, /* double lower_hr_threshold = */ 0.9f, - /* double increment = */ 0.999999999999, + /* double increment = */ H5_DOUBLE(0.999999999999), /* hbool_t apply_max_increment = */ TRUE, /* size_t max_increment = */ (4 * 1024 * 1024), /* enum H5C_cache_flash_incr_mode */ @@ -2532,7 +2532,7 @@ H5AC_cache_config_t invalid_configs[NUM_INVALID_CONFIGS] = /* double flash_threshold = */ 0.5f, /* enum H5C_cache_decr_mode decr_mode = */ H5C_decr__threshold, /* double upper_hr_threshold = */ 0.999f, - /* double decrement = */ 1.0000000001, + /* double decrement = */ H5_DOUBLE(1.0000000001), /* hbool_t apply_max_decrement = */ TRUE, /* size_t max_decrement = */ (1 * 1024 * 1024), /* int epochs_before_eviction = */ 3, @@ -2712,7 +2712,7 @@ H5AC_cache_config_t invalid_configs[NUM_INVALID_CONFIGS] = /* size_t max_decrement = */ (1 * 1024 * 1024), /* int epochs_before_eviction = */ 3, /* hbool_t apply_empty_reserve = */ TRUE, - /* double empty_reserve = */ 1.00000000001, + /* double empty_reserve = */ H5_DOUBLE(1.00000000001), /* int dirty_bytes_threshold = */ (256 * 1024), /* int metadata_write_strategy = */ H5AC__DEFAULT_METADATA_WRITE_STRATEGY @@ -2776,7 +2776,7 @@ H5AC_cache_config_t invalid_configs[NUM_INVALID_CONFIGS] = /* double flash_multiple = */ 2.0f, /* double flash_threshold = */ 0.5f, /* enum H5C_cache_decr_mode decr_mode = */ H5C_decr__age_out_with_threshold, - /* double upper_hr_threshold = */ 1.00000001, + /* double upper_hr_threshold = */ H5_DOUBLE(1.00000001), /* double decrement = */ 0.9f, /* hbool_t apply_max_decrement = */ TRUE, /* size_t max_decrement = */ (1 * 1024 * 1024), diff --git a/test/cache_common.c b/test/cache_common.c index 7b26714..0231a11 100644 --- a/test/cache_common.c +++ b/test/cache_common.c @@ -5161,7 +5161,7 @@ check_and_validate_cache_hit_rate(hid_t file_id, } else { - expected_hit_rate = 0.0; + expected_hit_rate = 0.0F; } result = H5Fget_mdc_hit_rate(file_id, &hit_rate); @@ -5171,7 +5171,7 @@ check_and_validate_cache_hit_rate(hid_t file_id, pass = FALSE; failure_mssg = "H5Fget_mdc_hit_rate() failed."; - } else if ( ! DBL_REL_EQUAL(hit_rate, expected_hit_rate, 0.00001) ) { + } else if ( ! DBL_REL_EQUAL(hit_rate, expected_hit_rate, 0.00001F) ) { pass = FALSE; failure_mssg = "unexpected hit rate."; diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index a782fb0..d81b7fc 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -1301,17 +1301,17 @@ compare_data(void *src_data, void *dst_data, hbool_t src_subset) printf(" src={a=%d, b=%d, c=[%d,%d,%d,%d,%d,%d,%d,%d], d=%d, e=%d, f=%f, g=%f, h=[%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f], i=%f, j=%f, k=%f, l=%f, m=%f, n=%f}\n", s_ptr->a, s_ptr->b, s_ptr->c[0], s_ptr->c[1], s_ptr->c[2], s_ptr->c[3], s_ptr->c[4], s_ptr->c[5], s_ptr->c[6], s_ptr->c[7], - s_ptr->d, s_ptr->e, s_ptr->f, s_ptr->g,s_ptr->h[0],s_ptr->h[1],s_ptr->h[2], - s_ptr->h[3],s_ptr->h[4],s_ptr->h[5],s_ptr->h[6],s_ptr->h[7],s_ptr->h[8], - s_ptr->h[9],s_ptr->h[10],s_ptr->h[11],s_ptr->h[12],s_ptr->h[13],s_ptr->h[14], - s_ptr->h[15], s_ptr->i,s_ptr->j,s_ptr->k,s_ptr->l,s_ptr->m,s_ptr->n); + s_ptr->d, s_ptr->e, (double)s_ptr->f, (double)s_ptr->g,(double)s_ptr->h[0],(double)s_ptr->h[1],(double)s_ptr->h[2], + (double)s_ptr->h[3],(double)s_ptr->h[4],(double)s_ptr->h[5],(double)s_ptr->h[6],(double)s_ptr->h[7],(double)s_ptr->h[8], + (double)s_ptr->h[9],(double)s_ptr->h[10],(double)s_ptr->h[11],(double)s_ptr->h[12],(double)s_ptr->h[13],(double)s_ptr->h[14], + (double)s_ptr->h[15], (double)s_ptr->i,(double)s_ptr->j,s_ptr->k,s_ptr->l,s_ptr->m,s_ptr->n); printf(" dst={a=%d, b=%d, c=[%d,%d,%d,%d,%d,%d,%d,%d], d=%d, e=%d, f=%f, g=%f, h=[%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f], i=%f, j=%f, k=%f, l=%f, m=%f, n=%f}\n", d_ptr->a, d_ptr->b, d_ptr->c[0], d_ptr->c[1], d_ptr->c[2], d_ptr->c[3], d_ptr->c[4], d_ptr->c[5], d_ptr->c[6], d_ptr->c[7], - d_ptr->d, d_ptr->e, d_ptr->f, d_ptr->g,d_ptr->h[0],d_ptr->h[1],d_ptr->h[2], - d_ptr->h[3],d_ptr->h[4],d_ptr->h[5],d_ptr->h[6],d_ptr->h[7],d_ptr->h[8], - d_ptr->h[9],d_ptr->h[10],d_ptr->h[11],d_ptr->h[12],d_ptr->h[13], - d_ptr->h[14], d_ptr->h[15], d_ptr->i,d_ptr->j,d_ptr->k,d_ptr->l, + d_ptr->d, d_ptr->e, (double)d_ptr->f, (double)d_ptr->g,(double)d_ptr->h[0],(double)d_ptr->h[1],(double)d_ptr->h[2], + (double)d_ptr->h[3],(double)d_ptr->h[4],(double)d_ptr->h[5],(double)d_ptr->h[6],(double)d_ptr->h[7],(double)d_ptr->h[8], + (double)d_ptr->h[9],(double)d_ptr->h[10],(double)d_ptr->h[11],(double)d_ptr->h[12],(double)d_ptr->h[13], + (double)d_ptr->h[14],(double)d_ptr->h[15],(double)d_ptr->i,(double)d_ptr->j,d_ptr->k,d_ptr->l, d_ptr->m,d_ptr->n); goto error; } diff --git a/test/cross_read.c b/test/cross_read.c index ba99c9e..35dd2ce 100644 --- a/test/cross_read.c +++ b/test/cross_read.c @@ -100,15 +100,15 @@ static int check_data(const char *dsetname, hid_t fid, hbool_t floating_number) for (j = 0; j < NX; j++) { for (i = 0; i < NY; i++) { data_in[j][i] = ((double)(i + j + 1))/3; - data_out[j][i] = 0; + data_out[j][i] = 0.0F; int_data_in[j][i] = i + j; int_data_out[j][i] = 0; } } for (i = 0; i < NY; i++) { - data_in[NX][i] = -2.2; - data_out[NX][i] = 0; + data_in[NX][i] = -2.2F; + data_out[NX][i] = 0.0F; int_data_in[NX][i] = -2; int_data_out[NX][i] = 0; @@ -126,7 +126,7 @@ static int check_data(const char *dsetname, hid_t fid, hbool_t floating_number) /* Check results */ for (j=0; j<(NX+1); j++) { for (i=0; i<NY; i++) { - if (!DBL_REL_EQUAL(data_out[j][i], data_in[j][i], 0.001)) { + if (!DBL_REL_EQUAL(data_out[j][i], data_in[j][i], 0.001F)) { if (!nerrors++) { H5_FAILED(); printf("element [%d][%d] is %g but should have been %g\n", @@ -213,116 +213,46 @@ static int open_dataset(char *fname) nerrors += check_data(DATASETNAME1, file, TRUE); TESTING("dataset of LE FLOAT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME2, file, TRUE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE FLOAT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME3, file, TRUE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE DOUBLE with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME4, file, TRUE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE DOUBLE with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME5, file, TRUE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE CHAR with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME6, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE CHAR with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME7, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE SHORT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME8, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE SHORT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME9, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE INT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME10, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE INT with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME11, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE LONG LONG with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME12, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of BE LONG LONG with scale-offset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET nerrors += check_data(DATASETNAME13, file, FALSE); -#else /*H5_HAVE_FILTER_SCALEOFFSET*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SCALEOFFSET*/ TESTING("dataset of LE FLOAT with Fletcher32 filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 nerrors += check_data(DATASETNAME14, file, TRUE); -#else /*H5_HAVE_FILTER_FLETCHER32*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_FLETCHER32*/ TESTING("dataset of BE FLOAT with Fletcher32 filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 nerrors += check_data(DATASETNAME15, file, TRUE); -#else /*H5_HAVE_FILTER_FLETCHER32*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_FLETCHER32*/ TESTING("dataset of LE FLOAT with Deflate filter"); #ifdef H5_HAVE_FILTER_DEFLATE @@ -357,36 +287,16 @@ static int open_dataset(char *fname) #endif /*H5_HAVE_FILTER_SZIP*/ TESTING("dataset of LE FLOAT with Shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE nerrors += check_data(DATASETNAME20, file, TRUE); -#else /*H5_HAVE_FILTER_SHUFFLE*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SHUFFLE*/ TESTING("dataset of BE FLOAT with Shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE nerrors += check_data(DATASETNAME21, file, TRUE); -#else /*H5_HAVE_FILTER_SHUFFLE*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_SHUFFLE*/ TESTING("dataset of LE FLOAT with Nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT nerrors += check_data(DATASETNAME22, file, TRUE); -#else /*H5_HAVE_FILTER_NBIT*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_NBIT*/ TESTING("dataset of BE FLOAT with Nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT nerrors += check_data(DATASETNAME23, file, TRUE); -#else /*H5_HAVE_FILTER_NBIT*/ - SKIPPED(); - puts(not_supported); -#endif /*H5_HAVE_FILTER_NBIT*/ if(H5Fclose(file)) TEST_ERROR diff --git a/test/dsets.c b/test/dsets.c index 3055943..e9dd2ce 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -23,19 +23,19 @@ #include <stdlib.h> #include <time.h> +/* + * This file needs to access private information from the H5Z package. + */ +#define H5Z_PACKAGE + + #include "h5test.h" #include "H5srcdir.h" +#include "H5Zpkg.h" #ifdef H5_HAVE_SZLIB_H # include "szlib.h" #endif -/* - * This file needs to access private datatypes from the H5Z package. - */ -#define H5Z_PACKAGE -#include "H5Zpkg.h" - - const char *FILENAME[] = { "dataset", "compact_dataset", @@ -70,19 +70,17 @@ const char *FILENAME[] = { #define DSET_CONV_BUF_NAME "conv_buf" #define DSET_TCONV_NAME "tconv" #define DSET_DEFLATE_NAME "deflate" -#ifdef H5_HAVE_FILTER_SZIP -#define DSET_SZIP_NAME "szip" -#endif /* H5_HAVE_FILTER_SZIP */ #define DSET_SHUFFLE_NAME "shuffle" #define DSET_FLETCHER32_NAME "fletcher32" #define DSET_FLETCHER32_NAME_2 "fletcher32_2" #define DSET_FLETCHER32_NAME_3 "fletcher32_3" #define DSET_SHUF_DEF_FLET_NAME "shuffle+deflate+fletcher32" #define DSET_SHUF_DEF_FLET_NAME_2 "shuffle+deflate+fletcher32_2" -#if defined H5_HAVE_FILTER_SZIP && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_SZIP +#define DSET_SZIP_NAME "szip" #define DSET_SHUF_SZIP_FLET_NAME "shuffle+szip+fletcher32" #define DSET_SHUF_SZIP_FLET_NAME_2 "shuffle+szip+fletcher32_2" -#endif /* defined H5_HAVE_FILTER_SZIP && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 */ +#endif /* H5_HAVE_FILTER_SZIP */ #define DSET_BOGUS_NAME "bogus" #define DSET_MISSING_NAME "missing" @@ -2006,21 +2004,17 @@ test_get_filter_info(void) /* Verify that each filter is reported as having the right combination * of encoder and decoder. */ -#ifdef H5_HAVE_FILTER_FLETCHER32 if(H5Zget_filter_info(H5Z_FILTER_FLETCHER32, &flags) < 0) TEST_ERROR if(((flags & H5Z_FILTER_CONFIG_ENCODE_ENABLED) == 0) || ((flags & H5Z_FILTER_CONFIG_DECODE_ENABLED) == 0)) TEST_ERROR -#endif -#ifdef H5_HAVE_FILTER_SHUFFLE if(H5Zget_filter_info(H5Z_FILTER_SHUFFLE, &flags) < 0) TEST_ERROR if(((flags & H5Z_FILTER_CONFIG_ENCODE_ENABLED) == 0) || ((flags & H5Z_FILTER_CONFIG_DECODE_ENABLED) == 0)) TEST_ERROR -#endif #ifdef H5_HAVE_FILTER_DEFLATE if(H5Zget_filter_info(H5Z_FILTER_DEFLATE, &flags) < 0) TEST_ERROR @@ -2083,10 +2077,8 @@ UNUSED const hsize_t chunk_size[2] = {FILTER_CHUNK_DIM1, FILTER_CHUNK_DIM2}; /* Chunk dimensions */ hsize_t null_size; /* Size of dataset with null filter */ -#ifdef H5_HAVE_FILTER_FLETCHER32 hsize_t fletcher32_size; /* Size of dataset with Fletcher32 checksum */ unsigned data_corrupt[3]; /* position and length of data to be corrupted */ -#endif /* H5_HAVE_FILTER_FLETCHER32 */ #ifdef H5_HAVE_FILTER_DEFLATE hsize_t deflate_size; /* Size of dataset with deflate filter */ @@ -2098,13 +2090,11 @@ UNUSED unsigned szip_pixels_per_block=4; #endif /* H5_HAVE_FILTER_SZIP */ -#ifdef H5_HAVE_FILTER_SHUFFLE hsize_t shuffle_size; /* Size of dataset with shuffle filter */ -#endif /* H5_HAVE_FILTER_SHUFFLE */ -#if(defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_SZIP) && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 - hsize_t combo_size; /* Size of dataset with shuffle+deflate filter */ -#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#if(defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_SZIP) + hsize_t combo_size; /* Size of dataset with multiple filters */ +#endif /* defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_SZIP */ /* test the H5Zget_filter_info function */ if(test_get_filter_info() < 0) goto error; @@ -2128,7 +2118,6 @@ UNUSED * STEP 1: Test Fletcher32 Checksum by itself. *---------------------------------------------------------- */ -#ifdef H5_HAVE_FILTER_FLETCHER32 puts("Testing Fletcher32 checksum(enabled for read)"); if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error; @@ -2169,11 +2158,6 @@ UNUSED /* Clean up objects used for this test */ if(H5Pclose (dc) < 0) goto error; -#else /* H5_HAVE_FILTER_FLETCHER32 */ - TESTING("fletcher32 checksum"); - SKIPPED(); - puts(" Fletcher32 checksum not enabled"); -#endif /* H5_HAVE_FILTER_FLETCHER32 */ /*---------------------------------------------------------- * STEP 2: Test deflation by itself. @@ -2231,7 +2215,6 @@ UNUSED * STEP 4: Test shuffling by itself. *---------------------------------------------------------- */ -#ifdef H5_HAVE_FILTER_SHUFFLE puts("Testing shuffle filter"); if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error; @@ -2246,17 +2229,12 @@ UNUSED /* Clean up objects used for this test */ if(H5Pclose (dc) < 0) goto error; -#else /* H5_HAVE_FILTER_SHUFFLE */ - TESTING("shuffle filter"); - SKIPPED(); - puts(" Shuffle filter not enabled"); -#endif /* H5_HAVE_FILTER_SHUFFLE */ /*---------------------------------------------------------- * STEP 5: Test shuffle + deflate + checksum in any order. *---------------------------------------------------------- */ -#if defined H5_HAVE_FILTER_DEFLATE && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_DEFLATE puts("Testing shuffle+deflate+checksum filters(checksum first)"); if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error; @@ -2280,17 +2258,17 @@ UNUSED /* Clean up objects used for this test */ if(H5Pclose (dc) < 0) goto error; -#else /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#else /* H5_HAVE_FILTER_DEFLATE */ TESTING("shuffle+deflate+fletcher32 filters"); SKIPPED(); - puts(" Deflate, shuffle, or fletcher32 checksum filter not enabled"); -#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ + puts(" Deflate filter not enabled"); +#endif /* H5_HAVE_FILTER_DEFLATE */ /*---------------------------------------------------------- * STEP 6: Test shuffle + szip + checksum in any order. *---------------------------------------------------------- */ -#if defined H5_HAVE_FILTER_SZIP && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_SZIP TESTING("shuffle+szip+checksum filters(checksum first, with encoder)"); if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; @@ -2339,11 +2317,11 @@ UNUSED SKIPPED(); } -#else /* H5_HAVE_FILTER_SZIP && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#else /* H5_HAVE_FILTER_SZIP */ TESTING("shuffle+szip+fletcher32 filters"); SKIPPED(); - puts(" Szip, shuffle, or fletcher32 checksum filter not enabled"); -#endif /* H5_HAVE_FILTER_SZIP && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ + puts(" szip filter not enabled"); +#endif /* H5_HAVE_FILTER_SZIP */ return 0; error: @@ -2610,20 +2588,15 @@ error: static herr_t test_onebyte_shuffle(hid_t file) { -#ifdef H5_HAVE_FILTER_SHUFFLE hid_t dataset, space,dc; const hsize_t size[2] = {10, 20}; const hsize_t chunk_size[2] = {10, 20}; unsigned char orig_data[10][20]; unsigned char new_data[10][20]; size_t i, j; -#else /* H5_HAVE_FILTER_SHUFFLE */ - const char *not_supported= " Data shuffling is not enabled."; -#endif /* H5_HAVE_FILTER_SHUFFLE */ TESTING("8-bit shuffling (setup)"); -#ifdef H5_HAVE_FILTER_SHUFFLE /* Create the data space */ if((space = H5Screate_simple(2, size, NULL)) < 0) goto error; @@ -2641,10 +2614,6 @@ test_onebyte_shuffle(hid_t file) orig_data[i][j] = (unsigned char)HDrandom(); PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test shuffling by setting up a chunked dataset and writing @@ -2653,16 +2622,11 @@ test_onebyte_shuffle(hid_t file) */ TESTING("8-bit shuffling (write)"); -#ifdef H5_HAVE_FILTER_SHUFFLE if(H5Dwrite(dataset, H5T_NATIVE_UCHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -2670,7 +2634,6 @@ test_onebyte_shuffle(hid_t file) */ TESTING("8-bit shuffling (read)"); -#ifdef H5_HAVE_FILTER_SHUFFLE /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_UCHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -2697,10 +2660,6 @@ test_onebyte_shuffle(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif return 0; @@ -2726,7 +2685,6 @@ error: static herr_t test_nbit_int(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataset, datatype, mem_datatype, space, dc; hsize_t size[2] = {2, 5}; hsize_t chunk_size[2] = {2,5}; @@ -2735,13 +2693,10 @@ test_nbit_int(hid_t file) unsigned int mask; size_t precision, offset; size_t i, j; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ puts("Testing nbit filter"); TESTING(" nbit int (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define dataset datatype (integer), and set precision, offset */ datatype = H5Tcopy(H5T_NATIVE_INT); precision = 17; /* precision includes sign bit */ @@ -2779,10 +2734,6 @@ test_nbit_int(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -2791,15 +2742,10 @@ test_nbit_int(hid_t file) */ TESTING(" nbit int (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, mem_datatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -2807,7 +2753,6 @@ test_nbit_int(hid_t file) */ TESTING(" nbit int (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, mem_datatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -2839,10 +2784,7 @@ test_nbit_int(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -2866,24 +2808,20 @@ error: static herr_t test_nbit_float(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataset, datatype, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2, 5}; /* orig_data[] are initialized to be within the range that can be represented by * dataset datatype (no precision loss during datatype conversion) */ - float orig_data[2][5] = {{(float)188384.00f, (float)19.103516f, (float)-1.0831790e9f, (float)-84.242188f, - (float)5.2045898f}, {(float)-49140.000f, (float)2350.2500f, (float)-3.2110596e-1f, (float)6.4998865e-5f, (float)-0.0000000f}}; + float orig_data[2][5] = {{188384.0f, 19.103516f, -1.0831790e9f, -84.242188f, 5.2045898f}, + {-49140.0f, 2350.25f, -3.2110596e-1f, 6.4998865e-5f, -0.0f}}; float new_data[2][5]; size_t precision, offset; size_t i, j; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit float (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define user-defined single-precision floating-point type for dataset */ datatype = H5Tcopy(H5T_IEEE_F32BE); if(H5Tset_fields(datatype, (size_t)26, (size_t)20, (size_t)6, (size_t)7, (size_t)13) < 0) goto error; @@ -2906,10 +2844,6 @@ test_nbit_float(hid_t file) if((dataset = H5Dcreate2(file, DSET_NBIT_FLOAT_NAME, datatype, space, H5P_DEFAULT, dc, H5P_DEFAULT)) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -2918,16 +2852,11 @@ test_nbit_float(hid_t file) */ TESTING(" nbit float (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -2935,7 +2864,6 @@ test_nbit_float(hid_t file) */ TESTING(" nbit float (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -2966,10 +2894,6 @@ test_nbit_float(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif return 0; @@ -2996,25 +2920,33 @@ static herr_t test_nbit_double(hid_t file) { /* assume unsigned int and float has the same number of bytes */ -#ifdef H5_HAVE_FILTER_NBIT hid_t dataset, datatype, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2, 5}; /* orig_data[] are initialized to be within the range that can be represented by * dataset datatype (no precision loss during datatype conversion) */ - double orig_data[2][5] = {{1.6081706885101836e+60, -255.32099170994480, - 1.2677579992621376e-61, 64568.289448797700, -1.0619721778839084e-75}, {2.1499497833454840e+56, - 6.6562295504670740e-3, -1.5747263393432150, 1.0711093225222612, -9.8971679387636870e-1}}; + double orig_data[2][5] = { + { + H5_DOUBLE(1.6081706885101836e+60), + H5_DOUBLE(-255.32099170994480), + H5_DOUBLE(1.2677579992621376e-61), + H5_DOUBLE(64568.289448797700), + H5_DOUBLE(-1.0619721778839084e-75) + }, + { + H5_DOUBLE(2.1499497833454840e+56), + H5_DOUBLE(6.6562295504670740e-3), + H5_DOUBLE(-1.5747263393432150), + H5_DOUBLE(1.0711093225222612), + H5_DOUBLE(-9.8971679387636870e-1) + }}; double new_data[2][5]; size_t precision, offset; size_t i, j; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit double (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define user-defined doule-precision floating-point type for dataset */ datatype = H5Tcopy(H5T_IEEE_F64BE); if(H5Tset_fields(datatype, (size_t)55, (size_t)46, (size_t)9, (size_t)5, (size_t)41) < 0) goto error; @@ -3038,10 +2970,6 @@ test_nbit_double(hid_t file) space, H5P_DEFAULT, dc, H5P_DEFAULT)) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -3050,15 +2978,10 @@ test_nbit_double(hid_t file) */ TESTING(" nbit double (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -3066,7 +2989,6 @@ test_nbit_double(hid_t file) */ TESTING(" nbit double (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -3097,10 +3019,6 @@ test_nbit_double(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif return 0; @@ -3126,7 +3044,6 @@ error: static herr_t test_nbit_array(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataset, base_datatype, array_datatype, space, dc; hid_t mem_base_datatype, mem_array_datatype; const hsize_t size[2] = {2, 5}; @@ -3136,12 +3053,9 @@ test_nbit_array(hid_t file) unsigned int new_data[2][5][3][2]; size_t precision, offset; size_t i, j, m, n; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit array (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define dataset array datatype's base datatype and set precision, offset */ base_datatype = H5Tcopy(H5T_NATIVE_UINT); precision = 22; @@ -3179,12 +3093,8 @@ test_nbit_array(hid_t file) for(m = 0; m < (size_t)adims[0]; m++) for(n = 0; n < (size_t)adims[1]; n++) orig_data[i][j][m][n] = (unsigned int)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)precision)) << offset); + (long long)HDpow(2.0F, (double)precision)) << offset); PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -3193,16 +3103,11 @@ test_nbit_array(hid_t file) */ TESTING(" nbit array (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, mem_array_datatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -3210,7 +3115,6 @@ test_nbit_array(hid_t file) */ TESTING(" nbit array (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, mem_array_datatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -3244,10 +3148,7 @@ test_nbit_array(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: @@ -3272,7 +3173,6 @@ error: static herr_t test_nbit_compound(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT typedef struct { /* Struct with atomic fields */ int i; char c; @@ -3287,19 +3187,16 @@ test_nbit_compound(hid_t file) hid_t dataset, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2, 5}; - const float float_val[2][5] = {{(float)188384.00, (float)19.103516, (float)-1.0831790e9, (float)-84.242188, - (float)5.2045898}, {(float)-49140.000, (float)2350.2500, (float)-3.2110596e-1, (float)6.4998865e-5, (float)-0.0000000}}; + const float float_val[2][5] = {{188384.0F, 19.103516F, -1.0831790e9F, -84.242188F, 5.2045898F}, + {-49140.0F, 2350.25F, -3.2110596e-1F, 6.4998865e-5F, -0.0F}}; atomic orig_data[2][5]; atomic new_data[2][5]; unsigned int i_mask, s_mask, c_mask; size_t i, j; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit compound (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define datatypes of members of compound datatype */ i_tid=H5Tcopy(H5T_NATIVE_INT); c_tid=H5Tcopy(H5T_NATIVE_CHAR); @@ -3355,11 +3252,11 @@ test_nbit_compound(hid_t file) for(i= 0;i< (size_t)size[0]; i++) for(j = 0; j < (size_t)size[1]; j++) { orig_data[i][j].i = (int)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[0]-1))) << offset[0]); + (long long)HDpow(2.0F, (double)(precision[0]-1))) << offset[0]); orig_data[i][j].c = (char)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[1]-1))) << offset[1]); + (long long)HDpow(2.0F, (double)(precision[1]-1))) << offset[1]); orig_data[i][j].s = (short)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[2]-1))) << offset[2]); + (long long)HDpow(2.0F, (double)(precision[2]-1))) << offset[2]); orig_data[i][j].f = float_val[i][j]; /* some even-numbered integer values are negtive */ @@ -3370,10 +3267,6 @@ test_nbit_compound(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -3382,15 +3275,10 @@ test_nbit_compound(hid_t file) */ TESTING(" nbit compound (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, mem_cmpd_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -3398,7 +3286,6 @@ test_nbit_compound(hid_t file) */ TESTING(" nbit compound (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, mem_cmpd_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -3440,10 +3327,7 @@ test_nbit_compound(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: @@ -3468,7 +3352,6 @@ error: static herr_t test_nbit_compound_2(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT typedef struct { /* Struct with atomic fields */ int i; char c; @@ -3498,19 +3381,16 @@ test_nbit_compound_2(hid_t file) hid_t dataset, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2, 5}; - const float float_val[2][5] = {{(float)188384.00, (float)19.103516, (float)-1.0831790e9, (float)-84.242188, - (float)5.2045898}, {(float)-49140.000, (float)2350.2500, (float)-3.2110596e-1, (float)6.4998865e-5, (float)-0.0000000}}; + const float float_val[2][5] = {{188384.0F, 19.103516F, -1.0831790e9F, -84.242188F, 5.2045898F}, + {-49140.0F, 2350.25F, -3.2110596e-1F, 6.4998865e-5F, -0.0F}}; complex orig_data[2][5]; complex new_data[2][5]; unsigned int i_mask, s_mask, c_mask, b_mask; size_t i, j, m, n, b_failed, d_failed; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit compound complex (setup)"); -#ifdef H5_HAVE_FILTER_NBIT + /* Define datatypes of members of compound datatype */ i_tid=H5Tcopy(H5T_NATIVE_INT); c_tid=H5Tcopy(H5T_NATIVE_CHAR); @@ -3598,38 +3478,34 @@ test_nbit_compound_2(hid_t file) for(i= 0;i< (size_t)size[0]; i++) for(j = 0; j < (size_t)size[1]; j++) { orig_data[i][j].a.i = (int)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[0]-1))) << offset[0]); + (long long)HDpow(2.0F, (double)(precision[0]-1))) << offset[0]); orig_data[i][j].a.c = (char)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[1]-1))) << offset[1]); + (long long)HDpow(2.0F, (double)(precision[1]-1))) << offset[1]); orig_data[i][j].a.s = (short)(-((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[2]-1))) << offset[2]); + (long long)HDpow(2.0F, (double)(precision[2]-1))) << offset[2]); orig_data[i][j].a.f = float_val[i][j]; orig_data[i][j].v = (unsigned int)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)precision[3])) << offset[3]); + (long long)HDpow(2.0F, (double)precision[3])) << offset[3]); for(m = 0; m < (size_t)array_dims[0]; m++) for(n = 0; n < (size_t)array_dims[1]; n++) orig_data[i][j].b[m][n] = (char)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[4]-1))) << offset[4]); + (long long)HDpow(2.0F, (double)(precision[4]-1))) << offset[4]); for(m = 0; m < (size_t)array_dims[0]; m++) for(n = 0; n < (size_t)array_dims[1]; n++) { orig_data[i][j].d[m][n].i = (int)(-((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[0]-1))) << offset[0]); + (long long)HDpow(2.0F, (double)(precision[0]-1))) << offset[0]); orig_data[i][j].d[m][n].c = (char)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[1]-1))) << offset[1]); + (long long)HDpow(2.0F, (double)(precision[1]-1))) << offset[1]); orig_data[i][j].d[m][n].s = (short)(((long long)HDrandom() % - (long long)HDpow(2.0, (double)(precision[2]-1))) << offset[2]); + (long long)HDpow(2.0F, (double)(precision[2]-1))) << offset[2]); orig_data[i][j].d[m][n].f = float_val[i][j]; } } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -3638,15 +3514,10 @@ test_nbit_compound_2(hid_t file) */ TESTING(" nbit compound complex (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, mem_cmpd_tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -3654,7 +3525,6 @@ test_nbit_compound_2(hid_t file) */ TESTING(" nbit compound complex (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, mem_cmpd_tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -3738,10 +3608,7 @@ test_nbit_compound_2(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: @@ -3766,7 +3633,6 @@ error: static herr_t test_nbit_compound_3(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT typedef struct { /* Struct with some no-op type fields */ int i; /* integer field, NOT a no-op type */ char str[30]; /* fixed-length string, no-op type */ @@ -3784,12 +3650,8 @@ test_nbit_compound_3(hid_t file) atomic new_data[5]; size_t i, k, j; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit compound with no-op type (setup)"); -#ifdef H5_HAVE_FILTER_NBIT /* Define datatypes of members of compound datatype */ i_tid=H5Tcopy(H5T_NATIVE_INT); @@ -3834,7 +3696,7 @@ test_nbit_compound_3(hid_t file) /* Initialize data */ for(i = 0; i < (size_t)size[0]; i++) { HDmemset(&orig_data[i], 0, sizeof(orig_data[i])); - orig_data[i].i = HDrandom() % (long)HDpow(2.0, 17.0 - 1.0); + orig_data[i].i = HDrandom() % (long)HDpow(2.0F, 17.0F - 1.0F); HDstrcpy(orig_data[i].str, "fixed-length C string"); orig_data[i].vl_str = HDstrdup("variable-length C string"); @@ -3849,10 +3711,6 @@ test_nbit_compound_3(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test nbit by setting up a chunked dataset and writing @@ -3861,15 +3719,10 @@ test_nbit_compound_3(hid_t file) */ TESTING(" nbit compound with no-op type (write)"); -#ifdef H5_HAVE_FILTER_NBIT if(H5Dwrite(dataset, cmpd_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -3877,7 +3730,6 @@ test_nbit_compound_3(hid_t file) */ TESTING(" nbit compound with no-op type (read)"); -#ifdef H5_HAVE_FILTER_NBIT /* Read the dataset back */ if(H5Dread(dataset, cmpd_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) @@ -3934,10 +3786,7 @@ test_nbit_compound_3(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: @@ -3962,19 +3811,14 @@ error: static herr_t test_nbit_int_size(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataspace, dataset, datatype, mem_datatype, dset_create_props; hsize_t dims[2], chunk_size[2]; hsize_t dset_size = 0; int orig_data[DSET_DIM1][DSET_DIM2]; int i, j; size_t precision, offset; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit integer dataset size"); -#ifdef H5_HAVE_FILTER_NBIT /* Define dataset datatype (integer), and set precision, offset */ if((datatype = H5Tcopy(H5T_NATIVE_INT)) < 0) { @@ -4107,10 +3951,6 @@ test_nbit_int_size(hid_t file) H5Pclose (dset_create_props); PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif return 0; error: @@ -4136,7 +3976,6 @@ error: static herr_t test_nbit_flt_size(hid_t file) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataspace, dataset, datatype, dset_create_props; hsize_t dims[2], chunk_size[2]; hsize_t dset_size = 0; @@ -4144,12 +3983,8 @@ test_nbit_flt_size(hid_t file) int i, j; size_t precision, offset; size_t spos, epos, esize, mpos, msize; -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= " Nbit is not enabled."; -#endif /* H5_HAVE_FILTER_NBIT */ TESTING(" nbit floating-number dataset size"); -#ifdef H5_HAVE_FILTER_NBIT /* Define floating-point type for dataset *------------------------------------------------------------------- @@ -4313,10 +4148,6 @@ test_nbit_flt_size(hid_t file) H5Pclose (dset_create_props); PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif return 0; error: @@ -4341,20 +4172,16 @@ error: static herr_t test_scaleoffset_int(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; int orig_data[2][5]; int new_data[2][5]; size_t i, j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ puts("Testing scaleoffset filter"); TESTING(" scaleoffset int without fill value (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_INT); /* Set order of dataset datatype */ @@ -4388,10 +4215,6 @@ test_scaleoffset_int(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -4400,14 +4223,9 @@ test_scaleoffset_int(hid_t file) */ TESTING(" scaleoffset int without fill value (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if(H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -4415,7 +4233,6 @@ test_scaleoffset_int(hid_t file) */ TESTING(" scaleoffset int without fill value (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) goto error; @@ -4442,10 +4259,7 @@ test_scaleoffset_int(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -4470,7 +4284,6 @@ error: static herr_t test_scaleoffset_int_2(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, mspace, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; @@ -4482,12 +4295,9 @@ test_scaleoffset_int_2(hid_t file) hsize_t block[2]; /* Block sizes */ int fillval; size_t j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ TESTING(" scaleoffset int with fill value (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_INT); /* Set order of dataset datatype */ @@ -4534,10 +4344,6 @@ test_scaleoffset_int_2(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -4546,15 +4352,10 @@ test_scaleoffset_int_2(hid_t file) */ TESTING(" scaleoffset int with fill value (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* only data in the hyperslab will be written, other value should be fill value */ if(H5Dwrite(dataset, H5T_NATIVE_INT, mspace, mspace, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -4562,7 +4363,6 @@ test_scaleoffset_int_2(hid_t file) */ TESTING(" scaleoffset int with fill value (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_INT, mspace, mspace, H5P_DEFAULT, new_data) < 0) goto error; @@ -4587,10 +4387,7 @@ test_scaleoffset_int_2(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -4615,19 +4412,15 @@ error: static herr_t test_scaleoffset_float(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; float orig_data[2][5]; float new_data[2][5]; size_t i, j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ TESTING(" scaleoffset float without fill value, D-scaling (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_FLOAT); /* Set order of dataset datatype */ @@ -4655,7 +4448,7 @@ test_scaleoffset_float(hid_t file) /* Initialize data */ for(i= 0;i< (size_t)size[0]; i++) for(j = 0; j < (size_t)size[1]; j++) { - orig_data[i][j] = (float)((HDrandom() % 100000) / (float)1000.0); + orig_data[i][j] = (float)((HDrandom() % 100000) / 1000.0F); /* even-numbered values are negtive */ if((i*size[1]+j+1)%2 == 0) @@ -4663,10 +4456,6 @@ test_scaleoffset_float(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -4675,14 +4464,9 @@ test_scaleoffset_float(hid_t file) */ TESTING(" scaleoffset float without fill value, D-scaling (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if(H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -4690,7 +4474,6 @@ test_scaleoffset_float(hid_t file) */ TESTING(" scaleoffset float without fill value, D-scaling (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) goto error; @@ -4698,7 +4481,7 @@ test_scaleoffset_float(hid_t file) /* Check that the values read are the same as the values written */ for(i=0; i<(size_t)size[0]; i++) { for(j=0; j<(size_t)size[1]; j++) { - if(HDfabs(new_data[i][j]-orig_data[i][j]) > HDpow(10.0, -3.0)) { + if(HDfabs(new_data[i][j]-orig_data[i][j]) > HDpow(10.0F, -3.0F)) { H5_FAILED(); printf(" Read different values than written.\n"); printf(" At index %lu,%lu\n", (unsigned long)i, (unsigned long)j); @@ -4717,10 +4500,7 @@ test_scaleoffset_float(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -4745,7 +4525,6 @@ error: static herr_t test_scaleoffset_float_2(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, mspace, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; @@ -4757,12 +4536,9 @@ test_scaleoffset_float_2(hid_t file) hsize_t count[2]; /* Block count */ hsize_t block[2]; /* Block sizes */ size_t j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ TESTING(" scaleoffset float with fill value, D-scaling (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_FLOAT); /* Set order of dataset datatype */ @@ -4775,7 +4551,7 @@ test_scaleoffset_float_2(hid_t file) if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* Set fill value */ - fillval = 10000.0; + fillval = 10000.0F; if(H5Pset_fill_value(dc, H5T_NATIVE_FLOAT, &fillval) < 0) goto error; /* Set up to use scaleoffset filter, decimal scale factor is 3, @@ -4803,7 +4579,7 @@ test_scaleoffset_float_2(hid_t file) /* Initialize data of hyperslab */ for(j = 0; j < (size_t)size[1]; j++) { - orig_data[0][j] = (float)((HDrandom() % 100000) / (float)1000.0); + orig_data[0][j] = (float)((HDrandom() % 100000) / 1000.0F); /* even-numbered values are negtive */ if((j+1)%2 == 0) @@ -4811,10 +4587,6 @@ test_scaleoffset_float_2(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -4823,15 +4595,10 @@ test_scaleoffset_float_2(hid_t file) */ TESTING(" scaleoffset float with fill value, D-scaling (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* only data in the hyperslab will be written, other value should be fill value */ if(H5Dwrite(dataset, H5T_NATIVE_FLOAT, mspace, mspace, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -4839,14 +4606,13 @@ test_scaleoffset_float_2(hid_t file) */ TESTING(" scaleoffset float with fill value, D-scaling (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_FLOAT, mspace, mspace, H5P_DEFAULT, new_data) < 0) goto error; /* Check that the values read are the same as the values written */ for(j=0; j<(size_t)size[1]; j++) { - if(HDfabs(new_data[0][j]-orig_data[0][j]) > HDpow(10.0, -3.0)) { + if(HDfabs(new_data[0][j]-orig_data[0][j]) > HDpow(10.0F, -3.0F)) { H5_FAILED(); printf(" Read different values than written.\n"); printf(" At index %lu,%lu\n", (unsigned long)0, (unsigned long)j); @@ -4863,10 +4629,7 @@ test_scaleoffset_float_2(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -4891,19 +4654,15 @@ error: static herr_t test_scaleoffset_double(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; double orig_data[2][5]; double new_data[2][5]; size_t i, j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ TESTING(" scaleoffset double without fill value, D-scaling (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_DOUBLE); /* Set order of dataset datatype */ @@ -4931,7 +4690,7 @@ test_scaleoffset_double(hid_t file) /* Initialize data */ for(i= 0;i< (size_t)size[0]; i++) for(j = 0; j < (size_t)size[1]; j++) { - orig_data[i][j] = (HDrandom() % 10000000) / 10000000.0; + orig_data[i][j] = (HDrandom() % 10000000) / 10000000.0F; /* even-numbered values are negtive */ if((i*size[1]+j+1)%2 == 0) @@ -4939,10 +4698,6 @@ test_scaleoffset_double(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -4951,14 +4706,9 @@ test_scaleoffset_double(hid_t file) */ TESTING(" scaleoffset double without fill value, D-scaling (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if(H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -4966,7 +4716,6 @@ test_scaleoffset_double(hid_t file) */ TESTING(" scaleoffset double without fill value, D-scaling (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, new_data) < 0) goto error; @@ -4974,7 +4723,7 @@ test_scaleoffset_double(hid_t file) /* Check that the values read are the same as the values written */ for(i=0; i<(size_t)size[0]; i++) { for(j=0; j<(size_t)size[1]; j++) { - if(HDfabs(new_data[i][j]-orig_data[i][j]) > HDpow(10.0, -7.0)) { + if(HDfabs(new_data[i][j]-orig_data[i][j]) > HDpow(10.0F, -7.0F)) { H5_FAILED(); printf(" Read different values than written.\n"); printf(" At index %lu,%lu\n", (unsigned long)i, (unsigned long)j); @@ -4993,10 +4742,7 @@ test_scaleoffset_double(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -5021,7 +4767,6 @@ error: static herr_t test_scaleoffset_double_2(hid_t file) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset, datatype, space, mspace, dc; const hsize_t size[2] = {2, 5}; const hsize_t chunk_size[2] = {2,5}; @@ -5033,12 +4778,9 @@ test_scaleoffset_double_2(hid_t file) hsize_t count[2]; /* Block count */ hsize_t block[2]; /* Block sizes */ size_t j; -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= " Scaleoffset is not enabled."; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ TESTING(" scaleoffset double with fill value, D-scaling (setup)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET + datatype = H5Tcopy(H5T_NATIVE_DOUBLE); /* Set order of dataset datatype */ @@ -5051,7 +4793,7 @@ test_scaleoffset_double_2(hid_t file) if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* Set fill value */ - fillval = 10000.0; + fillval = 10000.0F; if(H5Pset_fill_value(dc, H5T_NATIVE_DOUBLE, &fillval) < 0) goto error; /* Set up to use scaleoffset filter, decimal scale factor is 7, @@ -5079,7 +4821,7 @@ test_scaleoffset_double_2(hid_t file) /* Initialize data of hyperslab */ for(j = 0; j < (size_t)size[1]; j++) { - orig_data[0][j] = (HDrandom() % 10000000) / 10000000.0; + orig_data[0][j] = (HDrandom() % 10000000) / 10000000.0F; /* even-numbered values are negtive */ if((j+1)%2 == 0) @@ -5087,10 +4829,6 @@ test_scaleoffset_double_2(hid_t file) } PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 1: Test scaleoffset by setting up a chunked dataset and writing @@ -5099,15 +4837,10 @@ test_scaleoffset_double_2(hid_t file) */ TESTING(" scaleoffset double with fill value, D-scaling (write)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* only data in the hyperslab will be written, other value should be fill value */ if(H5Dwrite(dataset, H5T_NATIVE_DOUBLE, mspace, mspace, H5P_DEFAULT, orig_data) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif /*---------------------------------------------------------------------- * STEP 2: Try to read the data we just wrote. @@ -5115,14 +4848,13 @@ test_scaleoffset_double_2(hid_t file) */ TESTING(" scaleoffset double with fill value, D-scaling (read)"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET /* Read the dataset back */ if(H5Dread(dataset, H5T_NATIVE_DOUBLE, mspace, mspace, H5P_DEFAULT, new_data) < 0) goto error; /* Check that the values read are the same as the values written */ for(j=0; j<(size_t)size[1]; j++) { - if(HDfabs(new_data[0][j]-orig_data[0][j]) > HDpow(10.0, -7.0)) { + if(HDfabs(new_data[0][j]-orig_data[0][j]) > HDpow(10.0F, -7.0F)) { H5_FAILED(); printf(" Read different values than written.\n"); printf(" At index %lu,%lu\n", (unsigned long)0, (unsigned long)j); @@ -5140,10 +4872,7 @@ test_scaleoffset_double_2(hid_t file) if(H5Dclose(dataset) < 0) goto error; PASSED(); -#else - SKIPPED(); - puts(not_supported); -#endif + return 0; error: return -1; @@ -5892,11 +5621,11 @@ test_set_local(hid_t fapl) h5_fixname(FILENAME[5], fapl, filename, sizeof filename); /* Initialize the integer & floating-point dataset */ - n=1.0; + n=1.0F; for(i = 0; i < DSET_DIM1; i++) for(j = 0; j < DSET_DIM2; j++) { points[i][j] = (int)n++; - points_dbl[i][j] = (double)1.5*n++; + points_dbl[i][j] = (double)1.5F*n++; } /* Open file */ @@ -6090,7 +5819,7 @@ test_set_local(hid_t fapl) for(j=0; j<dims[1]; j++) { /* If the difference between two values is greater than 0.001%, they're * considered not equal. */ - if(!DBL_REL_EQUAL(points_dbl[i][j],check_dbl[i][j],0.00001)) { + if(!DBL_REL_EQUAL(points_dbl[i][j],check_dbl[i][j],0.00001F)) { H5_FAILED(); printf(" Line %d: Read different values than written.\n",__LINE__); printf(" At index %lu,%lu\n", (unsigned long)(i), (unsigned long)(j)); @@ -6371,7 +6100,7 @@ test_filter_delete(hid_t file) TESTING("filter deletion"); -#if defined H5_HAVE_FILTER_DEFLATE && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_DEFLATE /* create the data space */ if((sid = H5Screate_simple(2, dims, NULL)) < 0) goto error; @@ -6576,7 +6305,6 @@ test_filters_endianess(void) TESTING("filters with big-endian/little-endian data"); -#if defined H5_HAVE_FILTER_FLETCHER32 /*------------------------------------------------------------------------- * step 1: open a file written on a little-endian machine *------------------------------------------------------------------------- @@ -6609,9 +6337,7 @@ test_filters_endianess(void) if(H5Fclose(fid) < 0) FAIL_STACK_ERROR PASSED(); -#else - SKIPPED(); -#endif + return 0; error: @@ -7416,7 +7142,7 @@ test_chunk_cache(hid_t fapl) /* Set new rdcc settings on fapl */ nslots_2 = nslots_1 * 2; nbytes_2 = nbytes_1 * 2; - w0_2 = w0_1 / 2.; + w0_2 = w0_1 / 2.0F; if (H5Pset_cache(fapl_local, 0, nslots_2, nbytes_2, w0_2) < 0) FAIL_STACK_ERROR h5_fixname(FILENAME[8], fapl, filename, sizeof filename); @@ -7611,7 +7337,7 @@ test_big_chunks_bypass_cache(hid_t fapl) /* Define cache size to be smaller than chunk size */ rdcc_nelmts = BYPASS_CHUNK_DIM/5; rdcc_nbytes = sizeof(int)*BYPASS_CHUNK_DIM/5; - if(H5Pset_cache(fapl_local, 0, rdcc_nelmts, rdcc_nbytes, (double)0.0) < 0) FAIL_STACK_ERROR + if(H5Pset_cache(fapl_local, 0, rdcc_nelmts, rdcc_nbytes, 0.0F) < 0) FAIL_STACK_ERROR /* Create file */ if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_local)) < 0) FAIL_STACK_ERROR diff --git a/test/dt_arith.c b/test/dt_arith.c index a93d1b8..c5b72d4 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -28,7 +28,7 @@ #define NTESTELEM 10000 /* Epsilon for floating-point comparisons */ -#define FP_EPSILON 0.000001 +#define FP_EPSILON 0.000001F /* * Offset from alinged memory returned by malloc(). This can be used to test @@ -538,7 +538,7 @@ some_dummy_func(float x) { char s[128]; - HDsnprintf(s, sizeof(s), "%g", x); + HDsnprintf(s, sizeof(s), "%g", (double)x); } @@ -832,7 +832,7 @@ static int test_particular_fp_integer(void) printf(" %02x", saved_buf2[ENDIAN(src_size2, j, endian)]); HDmemcpy(&x, saved_buf2, src_size2); - printf(" %29.20e\n", x); + printf(" %29.20e\n", (double)x); printf(" dst = "); for (j=0; j<dst_size2; j++) @@ -2720,7 +2720,7 @@ my_isnan(dtype_t type, void *val) float x; HDmemcpy(&x, val, sizeof(float)); - HDsnprintf(s, sizeof(s), "%g", x); + HDsnprintf(s, sizeof(s), "%g", (double)x); } else if (FLT_DOUBLE==type) { double x; @@ -3294,12 +3294,11 @@ 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]; int valid_bits=(int)((dst_ebias+dst_msize)+MIN(check_expo[0],check_expo[1]))-1; - double epsilon=1.0; + double epsilon=1.0F; /* Re-scale the mantissas based on any exponent difference */ if(expo_diff!=0) @@ -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++) { @@ -3387,7 +3334,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst) if (FLT_FLOAT==src_type) { float x; HDmemcpy(&x, &saved[j*src_size], sizeof(float)); - printf(" %29.20e\n", x); + printf(" %29.20e\n", (double)x); } else if (FLT_DOUBLE==src_type) { double x; HDmemcpy(&x, &saved[j*src_size], sizeof(double)); @@ -3407,7 +3354,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst) if (FLT_FLOAT==dst_type) { float x; HDmemcpy(&x, &buf[j*dst_size], sizeof(float)); - printf(" %29.20e\n", x); + printf(" %29.20e\n", (double)x); } else if (FLT_DOUBLE==dst_type) { double x; HDmemcpy(&x, &buf[j*dst_size], sizeof(double)); @@ -3425,7 +3372,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst) printf(" %02x", hw[ENDIAN(dst_size,k,dendian)]); printf("%*s", (int)(3*MAX(0, (ssize_t)src_size-(ssize_t)dst_size)), ""); if (FLT_FLOAT==dst_type) - printf(" %29.20e\n", hw_f); + printf(" %29.20e\n", (double)hw_f); else if (FLT_DOUBLE==dst_type) printf(" %29.20e\n", hw_d); #if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE @@ -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++) { @@ -4570,7 +4450,7 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) break; case FLT_FLOAT: HDmemcpy(aligned, saved+j*sizeof(float), sizeof(float)); - printf(" %29f\n", *((float*)aligned)); + printf(" %29f\n", (double)*((float*)aligned)); break; case FLT_DOUBLE: HDmemcpy(aligned, saved+j*sizeof(double), sizeof(double)); @@ -4635,7 +4515,7 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) break; case FLT_FLOAT: HDmemcpy(aligned, buf+j*sizeof(float), sizeof(float)); - printf(" %29f\n", *((float*)aligned)); + printf(" %29f\n", (double)*((float*)aligned)); break; case FLT_DOUBLE: HDmemcpy(aligned, buf+j*sizeof(double), sizeof(double)); @@ -4689,7 +4569,7 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) printf(" %29"H5_PRINTF_LL_WIDTH"u\n", *((unsigned long long*)hw)); break; case FLT_FLOAT: - printf(" %29f\n", *((float*)hw)); + printf(" %29f\n", (double)*((float*)hw)); break; case FLT_DOUBLE: printf(" %29f\n", *((double*)hw)); @@ -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,51 +5032,11 @@ 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 9c78043..4adbaf5 100644 --- a/test/dtransform.c +++ b/test/dtransform.c @@ -17,7 +17,7 @@ #define ROWS 12 #define COLS 18 -#define FLOAT_TOL 0.0001 +#define FLOAT_TOL 0.0001F static int init_test(hid_t file_id); static int test_copy(const hid_t dxpl_id_c_to_f_copy, const hid_t dxpl_id_polynomial_copy); @@ -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/fheap.c b/test/fheap.c index 96b0673..6bcd8bf 100644 --- a/test/fheap.c +++ b/test/fheap.c @@ -16061,9 +16061,9 @@ test_write(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tparam) /* Change size of data to write */ if(u < 20) - obj_size = (size_t)(obj_size * 1.3); + obj_size = (size_t)(obj_size * 1.3F); else - obj_size = (size_t)(obj_size / 1.3); + obj_size = (size_t)(obj_size / 1.3F); } /* end for */ /* Close the fractal heap */ @@ -16110,9 +16110,9 @@ test_write(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tparam) /* Change size of data to write */ if(u < 20) - obj_size = (size_t)(obj_size * 1.3); + obj_size = (size_t)(obj_size * 1.3F); else - obj_size = (size_t)(obj_size / 1.3); + obj_size = (size_t)(obj_size / 1.3F); } /* end for */ /* Close the fractal heap */ diff --git a/test/fillval.c b/test/fillval.c index 459620d..e7ad521 100644 --- a/test/fillval.c +++ b/test/fillval.c @@ -627,7 +627,7 @@ test_create(hid_t fapl, const char *base_name, H5D_layout_t layout) H5_FAILED(); puts(" Got wrong fill value"); printf(" Got rd_c.a=%f, rd_c.y=%f and rd_c.x=%d, rd_c.z=%c\n", - rd_c.a, rd_c.y, rd_c.x, rd_c.z); + (double)rd_c.a, rd_c.y, rd_c.x, rd_c.z); } if(H5Dclose(dset9) < 0) goto error; if(H5Pclose(dcpl) < 0) goto error; @@ -700,7 +700,7 @@ test_create(hid_t fapl, const char *base_name, H5D_layout_t layout) H5_FAILED(); puts(" Got wrong fill value"); printf(" Got rd_c.a=%f, rd_c.y=%f and rd_c.x=%d, rd_c.z=%c\n", - rd_c.a, rd_c.y, rd_c.x, rd_c.z); + (double)rd_c.a, rd_c.y, rd_c.x, rd_c.z); } if(H5Dclose(dset8) < 0) goto error; if(H5Pclose(dcpl) < 0) goto error; @@ -820,8 +820,8 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, "Fill value: %f, %d, %f, %c\n", hs_offset[0], hs_offset[1], hs_offset[2], hs_offset[3], - hs_offset[4], rd_c.a, rd_c.x, rd_c.y, rd_c.z, - fill_c.a, fill_c.x, fill_c.y, fill_c.z); + hs_offset[4], (double)rd_c.a, rd_c.x, rd_c.y, rd_c.z, + (double)fill_c.a, fill_c.x, fill_c.y, fill_c.z); goto error; } } @@ -888,8 +888,8 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, hs_offset[0], hs_offset[1], hs_offset[2], hs_offset[3], hs_offset[4], - buf_c[u].a, buf_c[u].x, buf_c[u].y, buf_c[u].z, - fill_c.a, fill_c.x, fill_c.y, fill_c.z); + (double)buf_c[u].a, buf_c[u].x, buf_c[u].y, buf_c[u].z, + (double)fill_c.a, fill_c.x, fill_c.y, fill_c.z); goto error; } /* end if */ } /* end for */ @@ -909,9 +909,9 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, else if(datatype == H5T_COMPOUND) { HDmemset(buf_c, 0, ((size_t)nelmts * sizeof(comp_datatype))); for(u = 0; u < nelmts; u++) { - buf_c[u].a = (float)1111.11; + buf_c[u].a = 1111.11F; buf_c[u].x = 2222; - buf_c[u].y = 3333.3333; + buf_c[u].y = 3333.3333F; buf_c[u].z = 'd'; } if(H5Dwrite(dset2, ctype_id, mspace, fspace, H5P_DEFAULT, buf_c) < 0) @@ -1002,7 +1002,7 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, (long)hs_offset[0], (long)hs_offset[1], (long)hs_offset[2], (long)hs_offset[3], (long)hs_offset[4], - rd_c.a, rd_c.x, rd_c.y, rd_c.z, should_be_c.a, + (double)rd_c.a, rd_c.x, rd_c.y, rd_c.z, (double)should_be_c.a, should_be_c.x,should_be_c.y,should_be_c.z); goto error; } @@ -1021,7 +1021,7 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, (long)hs_offset[0], (long)hs_offset[1], (long)hs_offset[2], (long)hs_offset[3], (long)hs_offset[4], - rd_c.a, rd_c.x, rd_c.y, rd_c.z, should_be_c.a, + (double)rd_c.a, rd_c.x, rd_c.y, rd_c.z, (double)should_be_c.a, should_be_c.x,should_be_c.y,should_be_c.z); goto error; } @@ -1144,7 +1144,7 @@ test_rdwr(hid_t fapl, const char *base_name, H5D_layout_t layout) * as compound type */ if(H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC) < 0) goto error; HDmemset(&fill_ctype, 0, sizeof(fill_ctype)); - fill_ctype.y = 4444.4444; + fill_ctype.y = 4444.4444F; if(H5Pset_fill_value(dcpl, ctype_id, &fill_ctype) < 0) goto error; nerrors += test_rdwr_cases(file, dcpl, "dset11", &fill_ctype, H5D_FILL_TIME_ALLOC, layout, H5T_COMPOUND, ctype_id); @@ -1197,7 +1197,7 @@ test_rdwr(hid_t fapl, const char *base_name, H5D_layout_t layout) * as compound type */ if(H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC) < 0) goto error; HDmemset(&fill_ctype, 0, sizeof(fill_ctype)); - fill_ctype.y = 4444.4444; + fill_ctype.y = 4444.4444F; if(H5Pset_fill_value(dcpl, ctype_id, &fill_ctype) < 0) goto error; nerrors += test_rdwr_cases(file, dcpl, "dset12", &fill_ctype, H5D_FILL_TIME_ALLOC, layout, H5T_COMPOUND, ctype_id); diff --git a/test/flush2.c b/test/flush2.c index 06dd086..28ce41e 100644 --- a/test/flush2.c +++ b/test/flush2.c @@ -73,13 +73,13 @@ check_dset(hid_t file, const char* name) * 1998-11-06 ptl */ error = fabs(the_data[i][j] - (double)(hssize_t)i / ((hssize_t)j + 1)); - if(error > 0.0001) { - H5_FAILED(); - printf(" dset[%lu][%lu] = %g\n", - (unsigned long)i, (unsigned long)j, the_data[i][j]); - printf(" should be %g\n", - (double)(hssize_t)i/(hssize_t)(j+1)); - goto error; + if(error > 0.0001F) { + H5_FAILED(); + printf(" dset[%lu][%lu] = %g\n", + (unsigned long)i, (unsigned long)j, the_data[i][j]); + printf(" should be %g\n", + (double)(hssize_t)i/(hssize_t)(j+1)); + goto error; } } if(H5Dclose(dset) < 0) goto error; @@ -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_cross.c b/test/gen_cross.c index 3b0a56f..1c73016 100644 --- a/test/gen_cross.c +++ b/test/gen_cross.c @@ -175,7 +175,6 @@ create_normal_dset(hid_t fid, hid_t fsid, hid_t msid) return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -183,7 +182,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -205,7 +203,6 @@ error: int create_scale_offset_dsets_float(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; float data[NX][NY]; /* data to write */ @@ -267,15 +264,8 @@ create_scale_offset_dsets_float(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -283,7 +273,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -305,7 +294,6 @@ error: int create_scale_offset_dsets_double(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; double data[NX][NY]; /* data to write */ @@ -367,15 +355,8 @@ create_scale_offset_dsets_double(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -383,7 +364,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -405,7 +385,6 @@ error: int create_scale_offset_dsets_char(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; char data[NX][NY]; /* data to write */ @@ -475,15 +454,8 @@ create_scale_offset_dsets_char(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -491,7 +463,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -513,7 +484,6 @@ error: int create_scale_offset_dsets_short(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; short data[NX][NY]; /* data to write */ @@ -583,15 +553,8 @@ create_scale_offset_dsets_short(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -599,7 +562,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -621,7 +583,6 @@ error: int create_scale_offset_dsets_int(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; int data[NX][NY]; /* data to write */ @@ -691,15 +652,8 @@ create_scale_offset_dsets_int(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -707,7 +661,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -730,7 +683,6 @@ error: int create_scale_offset_dsets_long_long(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SCALEOFFSET hid_t dataset; /* dataset handles */ hid_t dcpl; long long data[NX][NY]; /* data to write */ @@ -800,15 +752,8 @@ create_scale_offset_dsets_long_long(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SCALEOFFSET */ - const char *not_supported= "Scaleoffset filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ - return 0; -#ifdef H5_HAVE_FILTER_SCALEOFFSET error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -816,7 +761,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SCALEOFFSET */ } @@ -838,7 +782,6 @@ error: int create_fletcher_dsets_float(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_FLETCHER32 hid_t dataset; /* dataset handles */ hid_t dcpl; float data[NX][NY]; /* data to write */ @@ -900,15 +843,8 @@ create_fletcher_dsets_float(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_FLETCHER32 */ - const char *not_supported= "Fletcher filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_FLETCHER32 */ - return 0; -#ifdef H5_HAVE_FILTER_FLETCHER32 error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -916,7 +852,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_FLETCHER32 */ } @@ -1131,7 +1066,6 @@ error: int create_shuffle_dsets_float(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_SHUFFLE hid_t dataset; /* dataset handles */ hid_t dcpl; float data[NX][NY]; /* data to write */ @@ -1193,15 +1127,8 @@ create_shuffle_dsets_float(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_SHUFFLE */ - const char *not_supported= "Shuffle filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_SHUFFLE */ - return 0; -#ifdef H5_HAVE_FILTER_SHUFFLE error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -1209,7 +1136,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_SHUFFLE */ } @@ -1231,7 +1157,6 @@ error: int create_nbit_dsets_float(hid_t fid, hid_t fsid, hid_t msid) { -#ifdef H5_HAVE_FILTER_NBIT hid_t dataset; /* dataset handles */ hid_t datatype; hid_t dcpl; @@ -1314,15 +1239,8 @@ create_nbit_dsets_float(hid_t fid, hid_t fsid, hid_t msid) if(H5Pclose(dcpl) < 0) TEST_ERROR -#else /* H5_HAVE_FILTER_NBIT */ - const char *not_supported= "Nbit filter is not enabled. Can't create the dataset."; - - puts(not_supported); -#endif /* H5_HAVE_FILTER_NBIT */ - return 0; -#ifdef H5_HAVE_FILTER_NBIT error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -1330,7 +1248,6 @@ error: } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_NBIT */ } @@ -1451,3 +1368,4 @@ main (void) return 0; } + 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_filters.c b/test/gen_filters.c index 58400d5..b44339d 100644 --- a/test/gen_filters.c +++ b/test/gen_filters.c @@ -48,7 +48,6 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts, static herr_t test_filters_endianess(void) { -#if defined H5_HAVE_FILTER_FLETCHER32 hid_t fid = -1; /* file ID */ hid_t dsid = -1; /* dataset ID */ hid_t sid = -1; /* dataspace ID */ @@ -85,10 +84,8 @@ test_filters_endianess(void) if(H5Sclose(sid) < 0) goto error; if(H5Fclose(fid) < 0) goto error; -#endif /* H5_HAVE_FILTER_FLETCHER32 */ return 0; -#if defined H5_HAVE_FILTER_FLETCHER32 error: H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -97,7 +94,6 @@ error: H5Fclose(fid); } H5E_END_TRY; return -1; -#endif /* H5_HAVE_FILTER_FLETCHER32 */ } /* end test_filters_endianess() */ /* This message derives from H5Z */ 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/hyperslab.c b/test/hyperslab.c index 5e2c109..9bc085c 100644 --- a/test/hyperslab.c +++ b/test/hyperslab.c @@ -609,10 +609,10 @@ test_multifill(size_t nx) for(i = 0; i < nx; i++) { src[i].left = 1111111; - src[i].mid = 12345.6789; + src[i].mid = 12345.6789F; src[i].right = 2222222; dst[i].left = 3333333; - dst[i].mid = 98765.4321; + dst[i].mid = 98765.4321F; dst[i].right = 4444444; } /* end for */ @@ -621,7 +621,7 @@ test_multifill(size_t nx) * over and over again. */ fill.left = 55555555; - fill.mid = 3.1415927; + fill.mid = 3.1415927F; fill.right = 66666666; src_stride = 0; diff --git a/test/links.c b/test/links.c index 6119bb3..891b5e4 100644 --- a/test/links.c +++ b/test/links.c @@ -141,7 +141,7 @@ const char *FILENAME[] = { #define H5L_DIM1 100 #define H5L_DIM2 100 -#define FILTER_FILESIZE_MAX_FRACTION .9 +#define FILTER_FILESIZE_MAX_FRACTION 0.9F /* Creation order macros */ #define CORDER_GROUP_NAME "corder_group" diff --git a/test/mtime.c b/test/mtime.c index 6e00fe0..0c0c923 100644 --- a/test/mtime.c +++ b/test/mtime.c @@ -114,7 +114,7 @@ main(void) puts(" Modification times will be mantained in the file but"); puts(" cannot be queried on this system. See H5O_mtime_decode()."); return 0; - } else if(HDfabs(HDdifftime(now, oi1.ctime)) > 60.0) { + } else if(HDfabs(HDdifftime(now, oi1.ctime)) > 60.0F) { H5_FAILED(); tm = HDlocaltime(&(oi1.ctime)); HDstrftime((char*)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); diff --git a/test/objcopy.c b/test/objcopy.c index 0a1d7a0..71a7236 100644 --- a/test/objcopy.c +++ b/test/objcopy.c @@ -2315,7 +2315,7 @@ test_copy_dataset_compound(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, hid_t #endif /* H5_CLEAR_MEMORY */ for(i = 0; i < DIM_SIZE_1; i++) { buf[i].a = i; - buf[i].d = 1. / (i + 1); + buf[i].d = 1.0F / (i + 1); } /* end for */ /* Initialize the filenames */ @@ -2447,9 +2447,9 @@ test_copy_dataset_chunked(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, hid_t /* set initial data values */ for(i = 0; i < DIM_SIZE_1; i++) { - buf1d[i] = (float)(i / 2.0); + buf1d[i] = (float)(i / 2.0F); for(j = 0; j < DIM_SIZE_2; j++) - buf2d[i][j] = (float)(i + (j / 100.0)); + buf2d[i][j] = (float)(i + (j / 100.0F)); } /* end for */ /* Initialize the filenames */ @@ -2790,9 +2790,9 @@ test_copy_dataset_chunked_sparse(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, /* set initial data values */ for(i = 0; i < DIM_SIZE_1; i++) { - buf1d[i] = (float)(i / 10.0); + buf1d[i] = (float)(i / 10.0F); for(j = 0; j < DIM_SIZE_2; j++) - buf2d[i][j] = (float)(i + (j / 100.0)); + buf2d[i][j] = (float)(i + (j / 100.0F)); } /* end for */ /* Initialize the filenames */ @@ -2985,7 +2985,7 @@ test_copy_dataset_compressed(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, hid /* set initial data values */ for (i=0; i<DIM_SIZE_1; i++) for (j=0; j<DIM_SIZE_2; j++) - buf[i][j] = (float)(100.0); /* Something easy to compress */ + buf[i][j] = 100.0F; /* Something easy to compress */ /* Initialize the filenames */ h5_fixname(FILENAME[0], src_fapl, src_filename, sizeof src_filename); @@ -3114,7 +3114,7 @@ test_copy_dataset_compact(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, hid_t /* set initial data values */ for (i=0; i<DIM_SIZE_1; i++) for (j=0; j<DIM_SIZE_2; j++) - buf[i][j] = (float)(i+j/100.0); + buf[i][j] = (float)(i+j/100.0F); /* Initialize the filenames */ h5_fixname(FILENAME[0], src_fapl, src_filename, sizeof src_filename); @@ -7591,7 +7591,7 @@ test_copy_dataset_contig_cmpd_vl(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl, buf[i].b.p = (int *)HDmalloc(buf[i].b.len * sizeof(int)); for(j = 0; j < buf[i].b.len; j++) ((int *)buf[i].b.p)[j] = (int)(i * 10 + j); - buf[i].c = 1. / (i + 1.); + buf[i].c = 1.0F / (i + 1.0F); } /* end for */ /* Initialize the filenames */ @@ -7730,7 +7730,7 @@ test_copy_dataset_chunked_cmpd_vl(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl buf[i].b.p = (int *)HDmalloc(buf[i].b.len * sizeof(int)); for(j = 0; j < buf[i].b.len; j++) ((int *)buf[i].b.p)[j] = (int)(i * 10 + j); - buf[i].c = 1. / (i + 1.); + buf[i].c = 1.0F / (i + 1.0F); } /* end for */ /* Initialize the filenames */ @@ -7875,7 +7875,7 @@ test_copy_dataset_compact_cmpd_vl(hid_t fcpl_src, hid_t fcpl_dst, hid_t src_fapl buf[i].b.p = (int *)HDmalloc(buf[i].b.len * sizeof(int)); for(j = 0; j < buf[i].b.len; j++) ((int *)buf[i].b.p)[j] = (int)(i * 10 + j); - buf[i].c = 1. / (i + 1.); + buf[i].c = 1.0F / (i + 1.0F); } /* end for */ /* Initialize the filenames */ diff --git a/test/plugin.c b/test/plugin.c index 86bc952..74a8f4b 100644 --- a/test/plugin.c +++ b/test/plugin.c @@ -456,14 +456,14 @@ error: } /*------------------------------------------------------------------------- - * Function: test_read_with_filters + * Function: test_read_with_filters * - * Purpose: Tests reading dataset created with dynamically loaded filters + * Purpose: Tests reading dataset created with dynamically loaded filters * - * Return: Success: 0 - * Failure: -1 + * Return: Success: 0 + * Failure: -1 * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 14 March 2013 * *------------------------------------------------------------------------- @@ -471,7 +471,7 @@ error: static herr_t test_read_with_filters(hid_t file) { - hid_t dset; /* Dataset ID */ + hid_t dset; /* Dataset ID */ /*---------------------------------------------------------- * STEP 1: Test deflation by itself. @@ -526,6 +526,77 @@ error: } /*------------------------------------------------------------------------- + * Function: test_noread_data + * + * Purpose: Tests not reading data + * + * Return: Success: 0 + * Failure: -1 + * + *------------------------------------------------------------------------- + */ +static herr_t +test_noread_data(hid_t dataset) +{ + int check[DSET_DIM1][DSET_DIM2]; + herr_t ret; + + /* Read the dataset back */ + 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; + +error: + return -1; +} + +/*------------------------------------------------------------------------- + * Function: test_noread_with_filters + * + * Purpose: Tests reading dataset created with dynamically loaded filters disabled + * + * Return: Success: 0 + * Failure: -1 + * + *------------------------------------------------------------------------- + */ +static herr_t +test_noread_with_filters(hid_t file) +{ + hid_t dset; /* Dataset ID */ + unsigned plugin_state; /* status of plugins */ + TESTING("Testing DYNLIB1 filter with plugins disabled"); + + /* disable filter plugin */ + if(H5PLget_loading_state(&plugin_state) < 0) TEST_ERROR + plugin_state = plugin_state & ~H5PL_FILTER_PLUGIN; + if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR + + if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR + + if(test_noread_data(dset) < 0) TEST_ERROR + + if(H5Dclose(dset) < 0) TEST_ERROR + + /* re-enable filter plugin */ + plugin_state = plugin_state | H5PL_FILTER_PLUGIN; + if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR + + return 0; + +error: + /* re-enable filter plugin */ + plugin_state = plugin_state | H5PL_FILTER_PLUGIN; + if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR + return -1; +} + +/*------------------------------------------------------------------------- * Function: test_filters_for_groups * * Purpose: Tests creating group with dynamically loaded filters @@ -713,6 +784,17 @@ main(void) /* Open the groups with filters */ nerrors += (test_groups_with_filters(file) < 0 ? 1 : 0); + /* Close the library so that all loaded plugin libraries are unloaded */ + h5_reset(); + fapl = h5_fileaccess(); + + /* Reopen the file for testing data reading */ + if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) + TEST_ERROR + + /* Read the data with disabled filters */ + nerrors += (test_noread_with_filters(file) < 0 ? 1 : 0); + if(H5Fclose(file) < 0) TEST_ERROR diff --git a/test/set_extent.c b/test/set_extent.c index aaa6516..f6c3766 100644 --- a/test/set_extent.c +++ b/test/set_extent.c @@ -130,10 +130,10 @@ int main( void ) if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR /* Set chunk cache so only part of the chunks can be cached on fapl */ - if(H5Pset_cache(fapl, 0, (size_t)8, 256 * sizeof(int), 0.75) < 0) TEST_ERROR + if(H5Pset_cache(fapl, 0, (size_t)8, 256 * sizeof(int), 0.75F) < 0) TEST_ERROR /* Disable chunk caching on fapl2 */ - if(H5Pset_cache(fapl2, 0, (size_t)0, (size_t)0, 0.) < 0) TEST_ERROR + if(H5Pset_cache(fapl2, 0, (size_t)0, (size_t)0, 0.0F) < 0) TEST_ERROR /* Set the "use the latest version of the format" bounds for creating objects in the file */ if(H5Pset_libver_bounds(fapl2, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) TEST_ERROR diff --git a/test/tarray.c b/test/tarray.c index 1a53336..0923625 100644 --- a/test/tarray.c +++ b/test/tarray.c @@ -541,7 +541,7 @@ test_array_compound_atomic(void) for(i = 0; i < SPACE1_DIM1; i++) for(j = 0; j < ARRAY1_DIM1; j++) { wdata[i][j].i = i * 10 + j; - wdata[i][j].f = (float)(i * 2.5 + j); + wdata[i][j].f = (float)(i * 2.5F + j); } /* end for */ /* Create file */ @@ -686,7 +686,7 @@ test_array_compound_atomic(void) continue; } /* end if */ if(!FLT_ABS_EQUAL(wdata[i][j].f, rdata[i][j].f)) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f=%f, rdata[%d][%d].f=%f\n", (int)i, (int)j, wdata[i][j].f, (int)i, (int)j, rdata[i][j].f); + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f=%f, rdata[%d][%d].f=%f\n", (int)i, (int)j, (double)wdata[i][j].f, (int)i, (int)j, (double)rdata[i][j].f); continue; } /* end if */ } /* end for */ @@ -745,7 +745,7 @@ test_array_compound_array(void) for(j=0; j<ARRAY1_DIM1; j++) { wdata[i][j].i=i*10+j; for(k=0; k<ARRAY1_DIM1; k++) - wdata[i][j].f[k]=(float)(i*10+j*2.5+k); + wdata[i][j].f[k]=(float)(i * 10.0F + j * 2.5F + k); } /* end for */ /* Create file */ @@ -929,7 +929,7 @@ test_array_compound_array(void) } /* end if */ for(k=0; k<ARRAY1_DIM1; k++) if(!FLT_ABS_EQUAL(wdata[i][j].f[k],rdata[i][j].f[k])) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f[%d]=%f, rdata[%d][%d].f[%d]=%f\n",(int)i,(int)j,(int)k,wdata[i][j].f[k],(int)i,(int)j,(int)k,rdata[i][j].f[k]); + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f[%d]=%f, rdata[%d][%d].f[%d]=%f\n",(int)i,(int)j,(int)k,(double)wdata[i][j].f[k],(int)i,(int)j,(int)k,(double)rdata[i][j].f[k]); continue; } /* end if */ } /* end for */ @@ -1534,8 +1534,8 @@ test_array_bkg(void) for (j = 0; j < ALEN; j++) { cf[i].a[j] = 100*(i+1) + j; - cf[i].b[j] = (float)(100.*(i+1) + 0.01*j); - cf[i].c[j] = 100.*(i+1) + 0.02*j; + cf[i].b[j] = (float)(100.0F*(i+1) + 0.01F*j); + cf[i].c[j] = (double)(100.0F*(i+1) + 0.02F*j); } } @@ -1619,11 +1619,11 @@ test_array_bkg(void) continue; } if(!FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].b[j],(int)i,(int)j,(float)cfr[i].b[j]); + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); continue; } if(!DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].c[j],(int)i,(int)j,(float)cfr[i].c[j]); + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); continue; } } @@ -1674,7 +1674,7 @@ test_array_bkg(void) /* -------------------------------- */ for (i=0; i< LENGTH; i++) for (j = 0; j < ALEN; j++) - cf[i].b[j]=fld[i].b[j] = (float)1.313; + cf[i].b[j]=fld[i].b[j] = 1.313F; status = H5Dwrite (dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, fld); CHECK(status, FAIL, "H5Dwrite"); @@ -1686,7 +1686,7 @@ test_array_bkg(void) for (i=0; i< LENGTH; i++) for (j = 0; j < ALEN; j++) if(!FLT_ABS_EQUAL(fld[i].b[j],fldr[i].b[j])) { - TestErrPrintf("Field data doesn't match, fld[%d].b[%d]=%f, fldr[%d].b[%d]=%f\n",(int)i,(int)j,(float)fld[i].b[j],(int)i,(int)j,(float)fldr[i].b[j]); + TestErrPrintf("Field data doesn't match, fld[%d].b[%d]=%f, fldr[%d].b[%d]=%f\n",(int)i,(int)j,(double)fld[i].b[j],(int)i,(int)j,(double)fldr[i].b[j]); continue; } @@ -1712,11 +1712,11 @@ test_array_bkg(void) continue; } if(!FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].b[j],(int)i,(int)j,(float)cfr[i].b[j]); + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); continue; } if(!DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].c[j],(int)i,(int)j,(float)cfr[i].c[j]); + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); continue; } } @@ -1761,11 +1761,11 @@ test_array_bkg(void) continue; } if(!FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].b[j],(int)i,(int)j,(float)cfr[i].b[j]); + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); continue; } if(!DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(float)cf[i].c[j],(int)i,(int)j,(float)cfr[i].c[j]); + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); continue; } } diff --git a/test/tattr.c b/test/tattr.c index 2885124..31a3844 100644 --- a/test/tattr.c +++ b/test/tattr.c @@ -97,7 +97,7 @@ int attr_data2[ATTR2_DIM1][ATTR2_DIM2]={{7614,-416},{197814,-3}}; /* Test data f #define ATTR3_DIM1 2 #define ATTR3_DIM2 2 #define ATTR3_DIM3 2 -double attr_data3[ATTR3_DIM1][ATTR3_DIM2][ATTR3_DIM3]={{{2.3,-26.1},{0.123,-10.0}},{{973.23,-0.91827},{2.0,23.0}}}; /* Test data for 3rd attribute */ +double attr_data3[ATTR3_DIM1][ATTR3_DIM2][ATTR3_DIM3]={{{2.3F,-26.1F}, {0.123F,-10.0F}},{{973.23F,-0.91827F},{2.0F,23.0F}}}; /* Test data for 3rd attribute */ #define ATTR4_NAME "Attr4" #define ATTR4_RANK 2 @@ -113,12 +113,12 @@ struct attr4_struct { int i; double d; char c; - } attr_data4[ATTR4_DIM1][ATTR4_DIM2]={{{3,-26.1,'d'},{-100000, 0.123,'3'}}, - {{-23,981724.2,'Q'},{0,2.0,'\n'}}}; /* Test data for 4th attribute */ + } attr_data4[ATTR4_DIM1][ATTR4_DIM2]={{{3,-26.1F,'d'},{-100000, 0.123F,'3'}}, + {{-23,981724.2F,'Q'},{0,2.0F,'\n'}}}; /* Test data for 4th attribute */ #define ATTR5_NAME "Attr5" #define ATTR5_RANK 0 -float attr_data5=(float)-5.123; /* Test data for 5th attribute */ +float attr_data5=-5.123F; /* Test data for 5th attribute */ #define ATTR6_RANK 3 #define ATTR6_DIM1 100 @@ -500,7 +500,7 @@ test_attr_flush(hid_t fapl) att, /* Attribute ID */ spc, /* Dataspace ID */ set; /* Dataset ID */ - double wdata=3.14159; /* Data to write */ + double wdata=3.14159F; /* Data to write */ double rdata; /* Data read in */ herr_t ret; /* Generic return value */ @@ -522,8 +522,8 @@ test_attr_flush(hid_t fapl) ret=H5Aread(att, H5T_NATIVE_DOUBLE, &rdata); CHECK(ret, FAIL, "H5Awrite"); - if(!DBL_ABS_EQUAL(rdata,0.0)) - TestErrPrintf("attribute value wrong: rdata=%f, should be %f\n",rdata,0.0); + if(!DBL_ABS_EQUAL(rdata,0.0F)) + TestErrPrintf("attribute value wrong: rdata=%f, should be %f\n",rdata,(double)0.0F); ret=H5Fflush(fil, H5F_SCOPE_GLOBAL); CHECK(ret, FAIL, "H5Fflush"); @@ -531,8 +531,8 @@ test_attr_flush(hid_t fapl) ret=H5Aread(att, H5T_NATIVE_DOUBLE, &rdata); CHECK(ret, FAIL, "H5Awrite"); - if(!DBL_ABS_EQUAL(rdata,0.0)) - TestErrPrintf("attribute value wrong: rdata=%f, should be %f\n",rdata,0.0); + if(!DBL_ABS_EQUAL(rdata,0.0F)) + TestErrPrintf("attribute value wrong: rdata=%f, should be %f\n",rdata,(double)0.0F); ret=H5Awrite(att, H5T_NATIVE_DOUBLE, &wdata); CHECK(ret, FAIL, "H5Awrite"); @@ -985,7 +985,7 @@ test_attr_scalar_read(hid_t fapl) hid_t sid; /* Dataspace ID */ hid_t attr; /* Attribute ID */ H5S_class_t stype; /* Dataspace class */ - float rdata = 0.0; /* Buffer for reading 1st attribute */ + float rdata = 0.0F; /* Buffer for reading 1st attribute */ H5O_info_t oinfo; /* Object info */ herr_t ret; /* Generic return value */ @@ -1016,7 +1016,7 @@ test_attr_scalar_read(hid_t fapl) /* Verify the floating-poing value in this way to avoid compiler warning. */ if(!FLT_ABS_EQUAL(rdata, attr_data5)) printf("*** UNEXPECTED VALUE from %s should be %f, but is %f at line %4d in %s\n", - "H5Aread", attr_data5, rdata, (int)__LINE__, __FILE__); + "H5Aread", (double)attr_data5, (double)rdata, (int)__LINE__, __FILE__); /* Get the attribute's dataspace */ sid = H5Aget_space(attr); diff --git a/test/testhdf5.h b/test/testhdf5.h index 907fce9..62dadde 100644 --- a/test/testhdf5.h +++ b/test/testhdf5.h @@ -68,6 +68,18 @@ } \ } +#define CHECK_PTR_NULL(ret,where) { \ + if (VERBOSE_HI) { \ + print_func(" Call to routine: %15s at line %4d in %s returned %p\n", \ + (where), (int)__LINE__, __FILE__, (ret)); \ + } \ + if (ret) { \ + TestErrPrintf ("*** UNEXPECTED RETURN from %s is not NULL line %4d in %s\n", \ + (where), (int)__LINE__, __FILE__); \ + H5Eprint2(H5E_DEFAULT, stdout); \ + } \ +} + /* Used to make certain a return value _is_ a value */ #define VERIFY(_x, _val, where) do { \ long __x = (long)_x, __val = (long)_val; \ diff --git a/test/tfile.c b/test/tfile.c index 5de035a..52c8fd9 100644 --- a/test/tfile.c +++ b/test/tfile.c @@ -2362,7 +2362,7 @@ test_rw_noupdate(void) diff = HDdifftime(sb2.st_mtime, sb1.st_mtime); /* Check That Timestamps Are Equal */ - if(diff > 0.0) { + if(diff > 0.0F) { /* Output message about test being performed */ MESSAGE(1, ("Testing to verify that nothing is written if nothing is changed: This test is skipped on this system because the modification time from stat is the same as the last access time (We know OpenVMS behaves in this way).\n")); } /* end if */ @@ -2395,7 +2395,7 @@ test_rw_noupdate(void) /* Ensure That Timestamps Are Equal */ diff = HDdifftime(sb2.st_mtime, sb1.st_mtime); - ret = (diff > 0.0); + ret = (diff > 0.0F); VERIFY(ret, 0, "Timestamp"); } /* end else */ } /* end test_rw_noupdate() */ diff --git a/test/tgenprop.c b/test/tgenprop.c index 004e346..a3f1752 100644 --- a/test/tgenprop.c +++ b/test/tgenprop.c @@ -47,7 +47,7 @@ int prop1_def=10; /* Property 1 default value */ #define PROP1_DEF_VALUE (&prop1_def) #define PROP2_NAME "Property 2" -float prop2_def=(float)3.14; /* Property 2 default value */ +float prop2_def=3.14F; /* Property 2 default value */ #define PROP2_SIZE sizeof(prop2_def) #define PROP2_DEF_VALUE (&prop2_def) @@ -57,7 +57,7 @@ char prop3_def[10]="Ten chars"; /* Property 3 default value */ #define PROP3_DEF_VALUE (&prop3_def) #define PROP4_NAME "Property 4" -double prop4_def=1.41; /* Property 4 default value */ +double prop4_def=1.41F; /* Property 4 default value */ #define PROP4_SIZE sizeof(prop4_def) #define PROP4_DEF_VALUE (&prop4_def) @@ -683,7 +683,7 @@ test_genprop_basic_list(void) /* Verify the floating-poing value in this way to avoid compiler warning. */ if(!FLT_ABS_EQUAL(prop2_value,*PROP2_DEF_VALUE)) printf("*** UNEXPECTED VALUE from %s should be %f, but is %f at line %4d in %s\n", - "H5Pget", *PROP2_DEF_VALUE, prop2_value, (int)__LINE__, __FILE__); + "H5Pget", (double)*PROP2_DEF_VALUE, (double)prop2_value, (int)__LINE__, __FILE__); /* Close list */ @@ -775,7 +775,7 @@ test_genprop_basic_list_prop(void) /* Verify the floating-poing value in this way to avoid compiler warning. */ if(!FLT_ABS_EQUAL(prop2_value,*PROP2_DEF_VALUE)) printf("*** UNEXPECTED VALUE from %s should be %f, but is %f at line %4d in %s\n", - "H5Pget", *PROP2_DEF_VALUE, prop2_value, (int)__LINE__, __FILE__); + "H5Pget", (double)*PROP2_DEF_VALUE, (double)prop2_value, (int)__LINE__, __FILE__); /* Check values of temporary properties (set with regular values) */ @@ -1239,7 +1239,7 @@ test_genprop_list_callback(void) /* Verify the floating-poing value in this way to avoid compiler warning. */ if(!FLT_ABS_EQUAL(prop2_value,*PROP2_DEF_VALUE)) printf("*** UNEXPECTED VALUE from %s should be %f, but is %f at line %4d in %s\n", - "H5Pget", *PROP2_DEF_VALUE, prop2_value, (int)__LINE__, __FILE__); + "H5Pget", (double)*PROP2_DEF_VALUE, (double)prop2_value, (int)__LINE__, __FILE__); /* Check values of temporary properties (set with regular values) */ ret = H5Pget(lid1, PROP3_NAME,&prop3_value); diff --git a/test/th5s.c b/test/th5s.c index d3a651c..7c1c46e 100644 --- a/test/th5s.c +++ b/test/th5s.c @@ -79,7 +79,7 @@ struct space4_struct { unsigned u; float f; char c2; - } space4_data={'v',987123,(float)-3.14,'g'}; /* Test data for 4th dataspace */ + } space4_data={'v',987123,-3.14F,'g'}; /* Test data for 4th dataspace */ /**************************************************************** ** @@ -1581,7 +1581,7 @@ test_h5s_compound_scalar_read(void) if(HDmemcmp(&space4_data,&rdata,sizeof(struct space4_struct))) { printf("scalar data different: space4_data.c1=%c, read_data4.c1=%c\n",space4_data.c1,rdata.c1); printf("scalar data different: space4_data.u=%u, read_data4.u=%u\n",space4_data.u,rdata.u); - printf("scalar data different: space4_data.f=%f, read_data4.f=%f\n",space4_data.f,rdata.f); + printf("scalar data different: space4_data.f=%f, read_data4.f=%f\n",(double)space4_data.f,(double)rdata.f); TestErrPrintf("scalar data different: space4_data.c1=%c, read_data4.c1=%c\n",space4_data.c1,rdata.c2); } /* end if */ @@ -1647,7 +1647,7 @@ test_h5s_chunk(void) /* Initialize float array */ for(i = 0; i < 50000; i++) for(j = 0; j < 3; j++) - chunk_data_flt[i][j] = (float)((i + 1) * 2.5 - j * 100.3); + chunk_data_flt[i][j] = (float)((i + 1) * 2.5F - j * 100.3F); status = H5Dwrite(dsetID, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, chunk_data_flt); CHECK(status, FAIL, "H5Dwrite"); @@ -1683,8 +1683,8 @@ test_h5s_chunk(void) for(i=0; i<50000; i++) { for(j=0; j<3; j++) { /* Check if the two values are within 0.001% range. */ - if(!DBL_REL_EQUAL(chunk_data_dbl[i][j], chunk_data_flt[i][j], 0.00001)) - TestErrPrintf("%u: chunk_data_dbl[%d][%d]=%e, chunk_data_flt[%d][%d]=%e\n", (unsigned)__LINE__, i, j, chunk_data_dbl[i][j], i, j, chunk_data_flt[i][j]); + if(!DBL_REL_EQUAL(chunk_data_dbl[i][j], chunk_data_flt[i][j], 0.00001F)) + TestErrPrintf("%u: chunk_data_dbl[%d][%d]=%e, chunk_data_flt[%d][%d]=%e\n", (unsigned)__LINE__, i, j, chunk_data_dbl[i][j], i, j, (double)chunk_data_flt[i][j]); } /* end for */ } /* end for */ } /* test_h5s_chunk() */ @@ -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 cac6b04..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"); @@ -2427,17 +2439,17 @@ test_misc13(void) static void test_misc14(void) { - hid_t file_id; /* File ID */ - hid_t fapl; /* File access property list ID */ - hid_t DataSpace; /* Dataspace ID */ - hid_t Dataset1; /* Dataset ID #1 */ - hid_t Dataset2; /* Dataset ID #2 */ - hid_t Dataset3; /* Dataset ID #3 */ - double data1 = 5.0; /* Data to write for dataset #1 */ - double data2 = 10.0; /* Data to write for dataset #2 */ - double data3 = 15.0; /* Data to write for dataset #3 */ - double rdata; /* Data read in */ - herr_t ret; /* Generic return value */ + hid_t file_id; /* File ID */ + hid_t fapl; /* File access property list ID */ + hid_t DataSpace; /* Dataspace ID */ + hid_t Dataset1; /* Dataset ID #1 */ + hid_t Dataset2; /* Dataset ID #2 */ + hid_t Dataset3; /* Dataset ID #3 */ + double data1 = 5.0F; /* Data to write for dataset #1 */ + double data2 = 10.0F; /* Data to write for dataset #2 */ + double data3 = 15.0F; /* Data to write for dataset #3 */ + double rdata; /* Data read in */ + herr_t ret; /* Generic return value */ /* Test creating two datasets and deleting the second */ @@ -4949,7 +4961,7 @@ test_misc28(void) * bytes). */ fapl = H5Pcreate(H5P_FILE_ACCESS); CHECK(fapl, FAIL, "H5Pcreate"); - ret = H5Pset_cache(fapl, MISC28_NSLOTS, MISC28_NSLOTS, MISC28_SIZE, 0.75); + ret = H5Pset_cache(fapl, MISC28_NSLOTS, MISC28_NSLOTS, MISC28_SIZE, 0.75F); CHECK(ret, FAIL, "H5Pset_cache"); /* Create the dcpl and set the chunk size */ @@ -5304,6 +5316,73 @@ test_misc31(void) /**************************************************************** + * + * test_misc32(): Simple test of filter memory allocation + * functions. + * + ***************************************************************/ +static void +test_misc32(void) +{ + void *buffer; + void *resized; + size_t size; + + /* Output message about test being performed */ + MESSAGE(5, ("Edge case test of filter memory allocation functions\n")); + + /* Test that the filter memory allocation functions behave correctly + * at edge cases. + */ + + /* FREE */ + + /* Test freeing a NULL pointer. + * No real confirmation check here, but Valgrind will confirm no + * shenanigans. + */ + buffer = NULL; + H5free_memory(buffer); + + /* ALLOCATE */ + + /* Size zero returns NULL. + * Also checks that a size of zero and setting the buffer clear flag + * to TRUE can be used together. + * + * Note that we have asserts in the code, so only check when NDEBUG + * is defined. + */ +#ifdef NDEBUG + buffer = H5allocate_memory(0, FALSE); + CHECK_PTR_NULL(buffer, "H5allocate_memory"); /*BAD*/ + buffer = H5allocate_memory(0, TRUE); + CHECK_PTR_NULL(buffer, "H5allocate_memory"); /*BAD*/ +#endif /* NDEBUG */ + + /* RESIZE */ + + /* Size zero returns NULL. Valgrind will confirm buffer is freed. */ + size = 1024; + buffer = H5allocate_memory(size, TRUE); + resized = H5resize_memory(buffer, 0); + CHECK_PTR_NULL(resized, "H5resize_memory"); + + /* NULL input pointer returns new buffer */ + resized = H5resize_memory(NULL, 1024); + CHECK_PTR(resized, "H5resize_memory"); + H5free_memory(resized); + + /* NULL input pointer and size zero returns NULL */ +#ifdef NDEBUG + resized = H5resize_memory(NULL, 0); + CHECK_PTR_NULL(resized, "H5resize_memory"); /*BAD*/ +#endif /* NDEBUG */ + +} /* end test_misc32() */ + + +/**************************************************************** ** ** test_misc(): Main misc. test routine. ** @@ -5349,6 +5428,7 @@ test_misc(void) test_misc29(); /* Test that speculative metadata reads are handled correctly */ test_misc30(); /* Exercise local heap loading bug where free lists were getting dropped */ test_misc31(); /* Test Reentering library through deprecated routines after H5close() */ + test_misc32(); /* Test filter memory allocation functions */ } /* test_misc() */ diff --git a/test/trefer.c b/test/trefer.c index 9cb7f26..6d72aee 100644 --- a/test/trefer.c +++ b/test/trefer.c @@ -522,6 +522,12 @@ test_reference_region(void) H5O_type_t obj_type; /* Type of object */ int i, j; /* counting variables */ herr_t ret; /* Generic return value */ + haddr_t addr = HADDR_UNDEF; /* test for undefined reference */ + hid_t dset_NA; /* Dataset id for undefined reference */ + hid_t space_NA; /* Dataspace id for undefined reference */ + hsize_t dims_NA[1] = {1}; /* Dims array for undefined reference */ + hdset_reg_ref_t wdata_NA[1], /* Write buffer */ + rdata_NA[1]; /* Read buffer */ /* Output message about test being performed */ MESSAGE(5, ("Testing Dataset Region Reference Functions\n")); @@ -612,6 +618,31 @@ test_reference_region(void) ret = H5Dwrite(dset1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf); CHECK(ret, FAIL, "H5Dwrite"); + /* + * Store a dataset region reference which will not get written to disk + */ + + /* Create reference to an element in dset1 */ + ret = H5Sselect_elements(sid2, H5S_SELECT_SET, (size_t)1, (const hsize_t *)coord1); + CHECK(ret, FAIL, "H5Sselect_elements"); + ret = H5Rcreate(&wdata_NA[0], fid1, "/Dataset1", H5R_DATASET_REGION, sid2); + CHECK(ret, FAIL, "H5Rcreate"); + + /* Create the dataspace of the region references */ + space_NA = H5Screate_simple(1, dims_NA, NULL); + CHECK(space_NA, FAIL, "H5Screate_simple"); + + /* Create the dataset and write the region references to it */ + dset_NA = H5Dcreate2(fid1, "DS_NA", H5T_STD_REF_DSETREG, space_NA, H5P_DEFAULT, + H5P_DEFAULT, H5P_DEFAULT); + CHECK(dset_NA, FAIL, "H5Dcreate"); + + /* Close and release resources for undefined region reference tests */ + ret = H5Dclose(dset_NA); + CHECK(ret, FAIL, "H5Dclose"); + ret = H5Sclose(space_NA); + CHECK(ret, FAIL, "H5Sclose"); + /* Close disk dataspace */ ret = H5Sclose(sid1); CHECK(ret, FAIL, "H5Sclose"); @@ -632,6 +663,41 @@ test_reference_region(void) fid1 = H5Fopen(FILE2, H5F_ACC_RDWR, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); + /* + * Start the test of an undefined reference + */ + + /* Open the dataset of the undefined references */ + dset_NA = H5Dopen2(fid1, "DS_NA", H5P_DEFAULT); + CHECK(dset_NA, FAIL, "H5Dopen2"); + + /* Read the data */ + ret = H5Dread(dset_NA, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata_NA); + CHECK(ret, FAIL, "H5Dread"); + + /* + * Dereference an undefined reference (should fail) + */ + H5E_BEGIN_TRY { + dset2 = H5Rdereference2(dset_NA, H5P_DEFAULT, H5R_DATASET_REGION, &rdata_NA[0]); + } H5E_END_TRY; + VERIFY(dset2, FAIL, "H5Rdereference2"); + + /* Close and release resources. */ + ret = H5Dclose(dset_NA); + CHECK(ret, FAIL, "H5Dclose"); + + /* This close should fail since H5Rdereference2 never created + * the id of the referenced object. */ + H5E_BEGIN_TRY { + ret = H5Dclose(dset2); + } H5E_END_TRY; + VERIFY(ret, FAIL, "H5Dclose"); + + /* + * End the test of an undefined reference + */ + /* Open the dataset */ dset1 = H5Dopen2(fid1, "/Dataset1", H5P_DEFAULT); CHECK(dset1, FAIL, "H5Dopen2"); @@ -640,6 +706,10 @@ test_reference_region(void) ret = H5Dread(dset1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rbuf); CHECK(ret, FAIL, "H5Dread"); + /* Try to read an unaddressed dataset */ + dset2 = H5Rdereference2(dset1, dapl_id, H5R_DATASET_REGION, &addr); + VERIFY(dset2, FAIL, "H5Rdereference2 haddr_undef"); + /* Try to open objects */ dset2 = H5Rdereference2(dset1, dapl_id, H5R_DATASET_REGION, &rbuf[0]); CHECK(dset2, FAIL, "H5Rdereference2"); @@ -1070,6 +1140,7 @@ test_reference_obj_deleted(void) hid_t sid1; /* Dataspace ID */ hobj_ref_t oref; /* Object Reference to test */ H5O_type_t obj_type; /* Object type */ + haddr_t addr = HADDR_UNDEF; /* test for undefined reference */ herr_t ret; /* Generic return value */ /* Create file */ @@ -1127,6 +1198,10 @@ test_reference_obj_deleted(void) dataset = H5Dopen2(fid1, "/Dataset2", H5P_DEFAULT); CHECK(ret, FAIL, "H5Dopen2"); + /* Open undefined reference */ + dset2 = H5Rdereference2(dataset, H5P_DEFAULT, H5R_OBJECT, &addr); + VERIFY(dset2, FAIL, "H5Rdereference2"); + /* Read selection from disk */ HDmemset(&oref, 0, sizeof(hobj_ref_t)); ret = H5Dread(dataset, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, &oref); diff --git a/test/tsohm.c b/test/tsohm.c index 8ebfd52..9da655e 100644 --- a/test/tsohm.c +++ b/test/tsohm.c @@ -57,7 +57,7 @@ const unsigned test_minsizes[H5O_SHMESG_MAX_NINDEXES] = {0, 2, 40, 100, 3, 1000} #define NAME_BUF_SIZE 512 /* How much overhead counts as "not much" when converting B-trees, etc. */ -#define OVERHEAD_ALLOWED 1.15 +#define OVERHEAD_ALLOWED 1.15F #define NUM_DATASETS 10 #define NUM_ATTRIBUTES 100 @@ -600,7 +600,7 @@ size1_helper(hid_t file, const char* filename, hid_t fapl_id, int test_file_clos wdata.i6 = 66; wdata.i7 = 77; wdata.i8 = 88; - wdata.f1 = 0.0; + wdata.f1 = 0.0F; /* Intialize rdata */ HDmemset(&rdata, 0, sizeof(rdata)); 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/test/tunicode.c b/test/tunicode.c index 7dc3391..82dc429 100644 --- a/test/tunicode.c +++ b/test/tunicode.c @@ -39,8 +39,8 @@ #define RANK 1 #define COMP_INT_VAL 7 -#define COMP_FLOAT_VAL -42.0 -#define COMP_DOUBLE_VAL 42.0 +#define COMP_FLOAT_VAL -42.0F +#define COMP_DOUBLE_VAL 42.0F /* Test function prototypes */ void test_fl_string(hid_t fid, const char *string); diff --git a/test/tvltypes.c b/test/tvltypes.c index 516974e..19e8252 100644 --- a/test/tvltypes.c +++ b/test/tvltypes.c @@ -731,7 +731,7 @@ test_vltypes_vlen_compound(void) wdata[i].len=i+1; for(j=0; j<(i+1); j++) { ((s1 *)wdata[i].p)[j].i=i*10+j; - ((s1 *)wdata[i].p)[j].f=(float)((i*20+j)/3.0); + ((s1 *)wdata[i].p)[j].f=(float)((i*20+j)/3.0F); } /* end for */ } /* end for */ @@ -877,7 +877,7 @@ rewrite_vltypes_vlen_compound(void) wdata[i].len = i + increment; for(j = 0; j < (i + increment); j++) { ((s1 *)wdata[i].p)[j].i = i * 40 + j; - ((s1 *)wdata[i].p)[j].f = (float)((i * 60 + j) / 3.0); + ((s1 *)wdata[i].p)[j].f = (float)((i * 60 + j) / 3.0F); } /* end for */ } /* end for */ @@ -1018,7 +1018,7 @@ test_vltypes_compound_vlen_vlen(void) /* Allocate and initialize VL data to write */ for(i=0; i<SPACE3_DIM1; i++) { wdata[i].i=i*10; - wdata[i].f=(float)((i*20)/3.0); + wdata[i].f=(float)((i*20)/3.0F); wdata[i].v.p=HDmalloc((i+L1_INCM)*sizeof(hvl_t)); wdata[i].v.len=i+L1_INCM; for(t1=(wdata[i].v).p,j=0; j<(i+L1_INCM); j++, t1++) { @@ -1479,7 +1479,7 @@ test_vltypes_compound_vlen_atomic(void) /* Allocate and initialize VL data to write */ for(i=0; i<SPACE1_DIM1; i++) { wdata[i].i=i*10; - wdata[i].f=(float)((i*20)/3.0); + wdata[i].f=(float)((i*20)/3.0F); wdata[i].v.p=HDmalloc((i+1)*sizeof(unsigned int)); wdata[i].v.len=i+1; for(j=0; j<(i+1); j++) @@ -1595,8 +1595,8 @@ test_vltypes_compound_vlen_atomic(void) /* Check data read in */ for(i = 0; i < SPACE1_DIM1; i++) - if(rdata[i].i != 0 || !FLT_ABS_EQUAL(rdata[i].f, 0.0) || rdata[i].v.len != 0 || rdata[i].v.p != NULL) - TestErrPrintf("VL doesn't match!, rdata[%d].i=%d, rdata[%d].f=%f, rdata[%d].v.len=%u, rdata[%d].v.p=%p\n",(int)i,rdata[i].i,(int)i,rdata[i].f,(int)i,(unsigned)rdata[i].v.len,(int)i,rdata[i].v.p); + if(rdata[i].i != 0 || !FLT_ABS_EQUAL(rdata[i].f, 0.0F) || rdata[i].v.len != 0 || rdata[i].v.p != NULL) + TestErrPrintf("VL doesn't match!, rdata[%d].i=%d, rdata[%d].f=%f, rdata[%d].v.len=%u, rdata[%d].v.p=%p\n",(int)i,rdata[i].i,(int)i,(double)rdata[i].f,(int)i,(unsigned)rdata[i].v.len,(int)i,rdata[i].v.p); /* Write dataset to disk */ ret = H5Dwrite(dataset, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); @@ -1697,7 +1697,7 @@ rewrite_vltypes_compound_vlen_atomic(void) /* Allocate and initialize VL data to write */ for(i = 0; i < SPACE1_DIM1; i++) { wdata[i].i = i * 40; - wdata[i].f = (float)((i * 50) / 3.0); + wdata[i].f = (float)((i * 50) / 3.0F); wdata[i].v.p = HDmalloc((i + increment) * sizeof(unsigned int)); wdata[i].v.len = i + increment; for(j = 0; j < (i + increment); j++) @@ -2430,8 +2430,8 @@ test_vltypes_fill_value(void) hsize_t small_dims[] = {SPACE4_DIM_SMALL}; hsize_t large_dims[] = {SPACE4_DIM_LARGE}; size_t dset_elmts; /* Number of elements in a particular dataset */ - const dtype1_struct fill1 = {1, 2, "foobar", "", NULL, "\0", "dead", 3, 4.0, 100.0, 1.0, "liquid", "meter"}; - const dtype1_struct wdata = {3, 4, "", NULL, "\0", "foo", "two", 6, 8.0, 200.0, 2.0, "solid", "yard"}; + const dtype1_struct fill1 = {1, 2, "foobar", "", NULL, "\0", "dead", 3, 4.0F, 100.0F, 1.0F, "liquid", "meter"}; + const dtype1_struct wdata = {3, 4, "", NULL, "\0", "foo", "two", 6, 8.0F, 200.0F, 2.0F, "solid", "yard"}; dtype1_struct *rbuf = NULL; /* Buffer for reading data */ size_t mem_used = 0; /* Memory used during allocation */ H5D_layout_t layout; /* Dataset storage layout */ 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 23ae44a..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@ @@ -486,17 +484,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -559,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@ @@ -574,10 +568,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/testpar/t_dset.c b/testpar/t_dset.c index e27cddc..ae022fb 100644 --- a/testpar/t_dset.c +++ b/testpar/t_dset.c @@ -2502,7 +2502,6 @@ extend_readAll(void) * Example of using the parallel HDF5 library to read a compressed * dataset in an HDF5 file with collective parallel access support. */ - #ifdef H5_HAVE_FILTER_DEFLATE void compress_readAll(void) @@ -3451,7 +3450,6 @@ actual_io_mode_tests(void) { #define DSET_NOCOLCAUSE "nocolcause" #define NELM 2 #define FILE_EXTERNAL "nocolcause_extern.data" -#undef H5_HAVE_FILTER_FLETCHER32 static void test_no_collective_cause_mode(int selection_mode) { @@ -3487,9 +3485,9 @@ test_no_collective_cause_mode(int selection_mode) hid_t file_space = -1; hsize_t chunk_dims[RANK]; herr_t ret; -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ H5Z_filter_t filter_info; -#endif +#endif /* LATER */ /* set to global value as default */ int l_facc_type = facc_type; char message[256]; @@ -3521,7 +3519,7 @@ test_no_collective_cause_mode(int selection_mode) is_chunked = 0; } -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ if (selection_mode & TEST_FILTERS) { ret = H5Zfilter_avail(H5Z_FILTER_FLETCHER32); VRFY ((ret >=0 ), "Fletcher32 filter is available.\n"); @@ -3532,7 +3530,7 @@ test_no_collective_cause_mode(int selection_mode) ret = H5Pset_fletcher32(dcpl); VRFY((ret >= 0),"set filter (flecher32) succeeded"); } -#endif /* H5_HAVE_FILTER_FLETCHER32 */ +#endif /* LATER */ if (selection_mode & TEST_NOT_SIMPLE_OR_SCALAR_DATASPACES) { sid = H5Screate(H5S_NULL); @@ -3613,13 +3611,13 @@ test_no_collective_cause_mode(int selection_mode) no_collective_cause_global_expected |= H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET; } -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ if (selection_mode & TEST_FILTERS) { test_name = "Broken Collective I/O - Filter is required"; no_collective_cause_local_expected |= H5D_MPIO_FILTERS; no_collective_cause_global_expected |= H5D_MPIO_FILTERS; } -#endif /* H5_HAVE_FILTER_FLETCHER32 */ +#endif /* LATER */ if (selection_mode & TEST_COLLECTIVE) { test_name = "Broken Collective I/O - Not Broken"; @@ -3808,9 +3806,9 @@ test_no_collective_cause_mode_filter(int selection_mode) hid_t file_space = -1; hsize_t chunk_dims[RANK]; herr_t ret; -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ H5Z_filter_t filter_info; -#endif +#endif /* LATER */ char message[256]; /* Set up MPI parameters */ @@ -3829,7 +3827,7 @@ test_no_collective_cause_mode_filter(int selection_mode) VRFY((dcpl >= 0), "dataset creation plist created successfully"); if (selection_mode == TEST_FILTERS_READ ) { -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ ret = H5Zfilter_avail(H5Z_FILTER_FLETCHER32); VRFY ((ret >=0 ), "Fletcher32 filter is available.\n"); @@ -3838,7 +3836,7 @@ test_no_collective_cause_mode_filter(int selection_mode) ret = H5Pset_fletcher32(dcpl); VRFY((ret >= 0),"set filter (flecher32) succeeded"); -#endif /* H5_HAVE_FILTER_FLETCHER32 */ +#endif /* LATER */ } else { VRFY(0, "Unexpected mode, only test for TEST_FILTERS_READ."); @@ -3876,12 +3874,12 @@ test_no_collective_cause_mode_filter(int selection_mode) dcpl, H5P_DEFAULT); VRFY((dataset >= 0), "H5Dcreate2() dataset succeeded"); -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ /* Set expected cause */ test_name = "Broken Collective I/O - Filter is required"; no_collective_cause_local_expected = H5D_MPIO_FILTERS; no_collective_cause_global_expected = H5D_MPIO_FILTERS; -#endif +#endif /* LATER */ /* Get the file dataspace */ file_space = H5Dget_space(dataset); @@ -4010,13 +4008,13 @@ no_collective_cause_tests(void) test_no_collective_cause_mode (TEST_NOT_SIMPLE_OR_SCALAR_DATASPACES); test_no_collective_cause_mode (TEST_NOT_CONTIGUOUS_OR_CHUNKED_DATASET_COMPACT); test_no_collective_cause_mode (TEST_NOT_CONTIGUOUS_OR_CHUNKED_DATASET_EXTERNAL); -#ifdef H5_HAVE_FILTER_FLETCHER32 +#ifdef LATER /* fletcher32 */ /* TODO: use this instead of below TEST_FILTERS_READ when H5Dcreate and * H5Dwrite is ready for mpio + filter feature. */ /* test_no_collective_cause_mode (TEST_FILTERS); */ test_no_collective_cause_mode_filter (TEST_FILTERS_READ); -#endif +#endif /* LATER */ /* * Test combined causes diff --git a/testpar/t_filter_read.c b/testpar/t_filter_read.c index 7e782ce..5e1cd04 100644 --- a/testpar/t_filter_read.c +++ b/testpar/t_filter_read.c @@ -215,9 +215,7 @@ test_filter_read(void) hsize_t null_size; /* Size of dataset without filters */ herr_t hrc; const char *filename; -#ifdef H5_HAVE_FILTER_FLETCHER32 hsize_t fletcher32_size; /* Size of dataset with Fletcher32 checksum */ -#endif /* H5_HAVE_FILTER_FLETCHER32 */ #ifdef H5_HAVE_FILTER_DEFLATE hsize_t deflate_size; /* Size of dataset with deflate filter */ @@ -229,13 +227,11 @@ test_filter_read(void) unsigned szip_pixels_per_block=4; #endif /* H5_HAVE_FILTER_SZIP */ -#ifdef H5_HAVE_FILTER_SHUFFLE hsize_t shuffle_size; /* Size of dataset with shuffle filter */ -#endif /* H5_HAVE_FILTER_SHUFFLE */ -#if(defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_SZIP) && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 - hsize_t combo_size; /* Size of dataset with shuffle+deflate filter */ -#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#if(defined H5_HAVE_FILTER_DEFLATE || defined H5_HAVE_FILTER_SZIP) + hsize_t combo_size; /* Size of dataset with multiple filters */ +#endif /* H5_HAVE_FILTER_DEFLATE || H5_HAVE_FILTER_SZIP */ filename = GetTestParameters(); @@ -262,7 +258,6 @@ test_filter_read(void) * STEP 1: Test Fletcher32 Checksum by itself. *---------------------------------------------------------- */ -#ifdef H5_HAVE_FILTER_FLETCHER32 dc = H5Pcreate(H5P_DATASET_CREATE); VRFY(dc>=0,"H5Pset_filter"); @@ -280,7 +275,6 @@ test_filter_read(void) hrc = H5Pclose (dc); VRFY(hrc>=0, "H5Pclose"); -#endif /* H5_HAVE_FILTER_FLETCHER32 */ /*---------------------------------------------------------- * STEP 2: Test deflation by itself. @@ -305,6 +299,7 @@ test_filter_read(void) #endif /* H5_HAVE_FILTER_DEFLATE */ + /*---------------------------------------------------------- * STEP 3: Test szip compression by itself. *---------------------------------------------------------- @@ -328,11 +323,12 @@ test_filter_read(void) } #endif /* H5_HAVE_FILTER_SZIP */ + /*---------------------------------------------------------- * STEP 4: Test shuffling by itself. *---------------------------------------------------------- */ -#ifdef H5_HAVE_FILTER_SHUFFLE + dc = H5Pcreate(H5P_DATASET_CREATE); VRFY(dc>=0, "H5Pcreate"); @@ -349,13 +345,12 @@ test_filter_read(void) hrc = H5Pclose (dc); VRFY(hrc>=0, "H5Pclose"); -#endif /* H5_HAVE_FILTER_SHUFFLE */ /*---------------------------------------------------------- * STEP 5: Test shuffle + deflate + checksum in any order. *---------------------------------------------------------- */ -#if defined H5_HAVE_FILTER_DEFLATE && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_DEFLATE /* Testing shuffle+deflate+checksum filters (checksum first) */ dc = H5Pcreate(H5P_DATASET_CREATE); VRFY(dc>=0, "H5Pcreate"); @@ -400,13 +395,13 @@ test_filter_read(void) hrc = H5Pclose (dc); VRFY(hrc>=0, "H5Pclose"); -#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#endif /* H5_HAVE_FILTER_DEFLATE */ /*---------------------------------------------------------- * STEP 6: Test shuffle + szip + checksum in any order. *---------------------------------------------------------- */ -#if defined H5_HAVE_FILTER_SZIP && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32 +#ifdef H5_HAVE_FILTER_SZIP /* Testing shuffle+szip(with encoder)+checksum filters(checksum first) */ dc = H5Pcreate(H5P_DATASET_CREATE); @@ -458,6 +453,6 @@ test_filter_read(void) VRFY(hrc>=0, "H5Pclose"); } -#endif /* H5_HAVE_FILTER_SZIP && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */ +#endif /* H5_HAVE_FILTER_SZIP */ } diff --git a/tools/Makefile.in b/tools/Makefile.in index 4bd80af..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@ @@ -457,17 +455,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -545,10 +539,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 e9a5e62..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@ @@ -465,17 +463,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -538,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@ @@ -553,10 +547,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 29543a4..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@ @@ -472,17 +470,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -545,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@ @@ -560,10 +554,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c index 80405e9..1b80317 100644 --- a/tools/h5diff/h5diffgentest.c +++ b/tools/h5diff/h5diffgentest.c @@ -317,10 +317,10 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) */ { - double data1[3][2] = {{1,1}, {1,1}, {0,0}}; - double data2[3][2] = {{0,1.1},{1.01,1.001},{0,1}}; - double data3[3][2] = {{100,100},{100,100},{100,100}}; - double data4[3][2] = {{105,120},{160,95},{80,40}}; + double data1[3][2] = {{ 1.0F, 1.0F}, { 1.00F, 1.000F}, { 0.0F, 0.0F}}; + double data2[3][2] = {{ 0.0F, 1.1F}, { 1.01F, 1.001F}, { 0.0F, 1.0F}}; + double data3[3][2] = {{100.0F, 100.0F}, {100.00F, 100.000F}, {100.0F, 100.0F}}; + double data4[3][2] = {{105.0F, 120.0F}, {160.00F, 95.000F}, { 80.0F, 40.0F}}; write_dset(gid1,2,dims2,"dset1",H5T_NATIVE_DOUBLE,data1); write_dset(gid2,2,dims2,"dset2",H5T_NATIVE_DOUBLE,data2); @@ -371,8 +371,8 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) *------------------------------------------------------------------------- */ { - double data9[3][2] = {{100,100},{100,0},{0,100}}; - double data10[3][2] ={{120,80}, {0,100},{0,50}}; + double data9[3][2] = {{100.0F, 100.0F}, {100.0F, 0.0F}, {0.0F, 100.0F}}; + double data10[3][2] ={{120.0F, 80.0F}, { 0.0F, 100.0F}, {0.0F, 50.0F}}; write_dset(gid1,2,dims2,"dset9",H5T_NATIVE_DOUBLE,data9); write_dset(gid1,2,dims2,"dset10",H5T_NATIVE_DOUBLE,data10); @@ -393,8 +393,14 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) /* epsilon = 0.0000000000000001 = 1e-16 * system epsilon for double : DBL_EPSILON = 2.22045E-16 */ - double data13[3][2] ={{0.0000000000000000, 0.0000000000000001},{0.0000000000000001, 0.0000000000000000},{0.00000000000000033, 0.0000000000000001}}; - double data14[3][2] ={{0.0000000000000000, 0.0000000000000004},{0.0000000000000002, 0.0000000000000001},{0.0000000000000001, 0.00000000000000000}}; + double data13[3][2] ={ + {H5_DOUBLE(0.0000000000000000), H5_DOUBLE(0.0000000000000001)}, + {H5_DOUBLE(0.0000000000000001), H5_DOUBLE(0.0000000000000000)}, + {H5_DOUBLE(0.00000000000000033), H5_DOUBLE(0.0000000000000001)}}; + double data14[3][2] ={ + {H5_DOUBLE(0.0000000000000000), H5_DOUBLE(0.0000000000000004)}, + {H5_DOUBLE(0.0000000000000002), H5_DOUBLE(0.0000000000000001)}, + {H5_DOUBLE(0.0000000000000001), H5_DOUBLE(0.00000000000000000)}}; write_dset(gid1,2,dims2,"fp1",H5T_NATIVE_FLOAT,data11); write_dset(gid1,2,dims2,"fp2",H5T_NATIVE_FLOAT,data12); @@ -412,7 +418,7 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) *------------------------------------------------------------------------- */ - long double data15[3][2] ={{1,1},{1,1},{1,1}}; + long double data15[3][2] ={{1.0L,1.0L},{1.0L,1.0L},{1.0L,1.0L}}; write_dset(gid1,2,dims2,"ld",H5T_NATIVE_LDOUBLE,data15); @@ -430,19 +436,19 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) float data15[6]; float data16[6]; - data15[0] = (float) sqrt( (double)-1 ); - data15[1] = 1; - data15[2] = (float) sqrt( (double)-1 ); - data15[3] = 1; - data15[4] = 1; - data15[5] = 1; + data15[0] = (float)HDsqrt(-1.0F); + data15[1] = 1.0F; + data15[2] = (float)HDsqrt(-1.0F); + data15[3] = 1.0F; + data15[4] = 1.0F; + data15[5] = 1.0F; - data16[0] = (float) sqrt( (double)-1 ); - data16[1] = (float) sqrt( (double)-1 ); - data16[2] = 1; - data16[3] = 1; - data16[4] = 1; - data16[5] = 1; + data16[0] = (float)HDsqrt(-1.0F); + data16[1] = (float)HDsqrt(-1.0F); + data16[2] = 1.0F; + data16[3] = 1.0F; + data16[4] = 1.0F; + data16[5] = 1.0F; write_dset(gid1,1,dims1,"fp15",H5T_NATIVE_FLOAT,data15); write_dset(gid1,1,dims1,"fp16",H5T_NATIVE_FLOAT,data16); @@ -458,19 +464,19 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) double data17[6]; double data18[6]; - data17[0] = sqrt( (double)-1 ); - data17[1] = 1; - data17[2] = sqrt( (double)-1 ); - data17[3] = 1; - data17[4] = 1; - data17[5] = 1; + data17[0] = HDsqrt(-1.0F); + data17[1] = 1.0F; + data17[2] = HDsqrt(-1.0F); + data17[3] = 1.0F; + data17[4] = 1.0F; + data17[5] = 1.0F; - data18[0] = (float) sqrt( (double)-1 ); - data18[1] = (float) sqrt( (double)-10000 ); - data18[2] = 1; - data18[3] = 1; - data18[4] = 1; - data18[5] = 1; + data18[0] = HDsqrt(-1.0F); + data18[1] = HDsqrt(-10000.0F); + data18[2] = 1.0F; + data18[3] = 1.0F; + data18[4] = 1.0F; + data18[5] = 1.0F; write_dset(gid1,1,dims1,"fp17",H5T_NATIVE_DOUBLE,data17); write_dset(gid1,1,dims1,"fp18",H5T_NATIVE_DOUBLE,data18); @@ -485,11 +491,11 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) float data19[6]; double data20[6]; - data19[0] = data19[1] = data19[2] = log(0); - data19[3] = data19[4] = data19[5] = -log(0); + data19[0] = data19[1] = data19[2] = (float)HDlog(0.0F); + data19[3] = data19[4] = data19[5] = (float)-HDlog(0.0F); - data20[0] = data20[1] = data20[2] = log(0); - data20[3] = data20[4] = data20[5] = -log(0); + data20[0] = data20[1] = data20[2] = HDlog(0.0F); + data20[3] = data20[4] = data20[5] = -HDlog(0.0F); write_dset(gid1,1,dims1,"fp19",H5T_NATIVE_FLOAT,data19); write_dset(gid1,1,dims1,"fp19_COPY",H5T_NATIVE_FLOAT,data19); @@ -514,15 +520,15 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) size_t type_size; hid_t tid; - buf1[0].d = sqrt( (double)-1 ); - buf1[0].f = (float) sqrt( (double)-1 ); - buf2[0].d = sqrt( (double)-1 ); - buf2[0].f = (float) sqrt( (double)-1 ); + buf1[0].d = HDsqrt(-1.0F); + buf1[0].f = (float)HDsqrt(-1.0F); + buf2[0].d = HDsqrt(-1.0F); + buf2[0].f = (float)HDsqrt(-1.0F); - buf1[1].d = sqrt( (double)-1 ); - buf1[1].f = (float) sqrt( (double)-1 ); - buf2[1].d = 0; - buf2[1].f = 0; + buf1[1].d = HDsqrt(-1.0F); + buf1[1].f = (float)HDsqrt(-1.0F); + buf2[1].d = 0.0F; + buf2[1].f = 0.0F; type_size = sizeof( cmp1_t ); tid = H5Tcreate (H5T_COMPOUND, type_size ); @@ -555,7 +561,7 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) int i; } cmp3_t; - double data2[6] = {0,0,0,0,0,0}; + double data2[6] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; int data3[6] = {0,0,0,0,0,0}; int data4[3][2] = {{0,0},{0,0},{0,0}}; int data5[2][2] = {{0,0},{0,0}}; @@ -770,10 +776,10 @@ int test_datatypes(const char *fname) int buf3b[3][2] = {{1,1},{3,4},{5,6}}; long buf4a[3][2] = {{1,1},{1,1},{1,1}}; long buf4b[3][2] = {{1,1},{3,4},{5,6}}; - float buf5a[3][2] = {{1,1},{1,1},{1,1}}; - float buf5b[3][2] = {{1,1},{3,4},{5,6}}; - double buf6a[3][2] = {{1,1},{1,1},{1,1}}; - double buf6b[3][2] = {{1,1},{3,4},{5,6}}; + float buf5a[3][2] = {{1.0F, 1.0F}, {1.0F, 1.0F}, {1.0F, 1.0F}}; + float buf5b[3][2] = {{1.0F, 1.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; + double buf6a[3][2] = {{1.0F, 1.0F}, {1.0F, 1.0F}, {1.0F, 1.0F}}; + double buf6b[3][2] = {{1.0F, 1.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; /*unsigned/signed test signed char -128 to 127 @@ -1025,10 +1031,10 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) /* file1 attr */ int f1_attr_idata[2]= {1,2}; /* integer */ - float f1_attr_fdata[2]= {1.1,2.2}; /* float */ + float f1_attr_fdata[2]= {1.1F,2.2F}; /* float */ /* file2 attr */ int f2_attr_idata[2]= {2,3}; /* integer */ - float f2_attr_fdata[2]= {2.1,3.2}; /* float */ + float f2_attr_fdata[2]= {2.1F,3.2F}; /* float */ /*---------------------------------------------------------------------- @@ -4363,7 +4369,7 @@ static void test_comps_array (const char *fname, const char *dset, const char *a for(j=0; j < SDIM_CMPD_ARRAY; j++) { wdata[i].cmpd2[j].i2 = i*10 + diff; - wdata[i].cmpd2[j].f2 = (float)(i*10.5) + diff; + wdata[i].cmpd2[j].f2 = (float)(i*10.5F) + diff; } /* end for */ } @@ -4480,7 +4486,7 @@ static void test_comps_vlen (const char * fname, const char *dset, const char *a for(j=0; j<(i+1); j++) { ((cmpd2_t *)wdata[i].vl.p)[j].i2 = i*10 + diff; - ((cmpd2_t *)wdata[i].vl.p)[j].f2 = (float)(i*10.5) + diff; + ((cmpd2_t *)wdata[i].vl.p)[j].f2 = (float)(i*10.5F) + diff; } /* end for */ } /* end for */ @@ -4606,7 +4612,7 @@ static void test_comps_array_vlen (const char * fname, const char *dset,const ch { /* Initialize data of compound3 */ ((cmpd3_t *)wdata[i].cmpd2[j].vl.p)[k].i3 = j*10 + diff; - ((cmpd3_t *)wdata[i].cmpd2[j].vl.p)[k].f3 = (float)(j*10.5) + diff; + ((cmpd3_t *)wdata[i].cmpd2[j].vl.p)[k].f3 = (float)(j*10.5F) + diff; } /* end for */ } /* end for */ } @@ -4753,8 +4759,8 @@ static void test_comps_vlen_arry (const char * fname, const char *dset, const ch for (k=0; k < SDIM_CMPD_ARRAY; k++) { /* compound 3 data */ - ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].i3 = k*10.5 + diff; - ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].f3 = (float)(k*10.5) + diff; + ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].i3 = k*10.5F + diff; + ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].f3 = (float)(k*10.5F) + diff; } } /* end for */ } /* end for */ @@ -5246,27 +5252,27 @@ void write_attr_in(hid_t loc_id, char buf1[2][STR_SIZE]= {"ab","de"}; /* string */ char *buf1a[2]; /* VL string */ char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ + s_t buf3[2]= {{1,2.0F},{3,4.0F}}; /* compound */ hobj_ref_t buf4[2]; /* reference */ e_t buf45[2]= {RED,RED}; /* enum */ hvl_t buf5[2]; /* vlen */ hsize_t dimarray[1]={3}; /* array dimension */ int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + float buf8[2]= {1.0F, 2.0F}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ hsize_t dims2[2]={3,2}; - char buf12[3][2][STR_SIZE]= {{"ab","cd"},{"ef","gh"},{"ij","kl"}}; /* string */ - char *buf12a[3][2]; /* VL string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - e_t buf452[3][2]; /* enum */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + char buf12[3][2][STR_SIZE]= {{"ab","cd"},{"ef","gh"},{"ij","kl"}}; /* string */ + char *buf12a[3][2]; /* VL string */ + char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ + s_t buf32[6]= {{1,2.0F},{3,4.0F},{5,6.0F},{7,8.0F},{9,10.0F},{11,12.0F}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + e_t buf452[3][2]; /* enum */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ + int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ + float buf82[3][2]= {{1.0F,2.0F},{3.0F,4.0F},{5.0F,6.0F}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ hsize_t dims3[3]={4,3,2}; @@ -6017,7 +6023,7 @@ void write_attr_in(hid_t loc_id, for (k = 0; k < 2; k++) { if (make_diffs) { buf33[i][j][k].a=0; - buf33[i][j][k].b=0; + buf33[i][j][k].b=0.0F; } else { buf33[i][j][k].a=n++; @@ -6231,7 +6237,7 @@ void write_attr_in(hid_t loc_id, for (k = 0; k < 2; k++) { if (make_diffs) { buf73[i][j][k]=0; - buf83[i][j][k]=0; + buf83[i][j][k]=0.0F; } else { buf73[i][j][k]=n++; @@ -6303,26 +6309,26 @@ void write_dset_in(hid_t loc_id, char buf1[2][STR_SIZE]= {"ab","de"}; /* string */ char *buf1a[2]; /* VL string */ char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ + s_t buf3[2]= {{1,2.0F},{3,4.0F}}; /* compound */ hobj_ref_t buf4[2]; /* reference */ e_t buf45[2]= {RED,GREEN}; /* enum */ hvl_t buf5[2]; /* vlen */ hsize_t dimarray[1]={3}; /* array dimension */ int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + float buf8[2]= {1.0F,2.0F}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ hsize_t dims2[2]={3,2}; char buf12[3][2][STR_SIZE]= {{"ab","cd"},{"ef","gh"},{"ij","kl"}}; /* string */ char *buf12a[3][2]; /* VL string */ char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ + s_t buf32[6]= {{1,2.0F},{3,4.0F},{5,6.0F},{7,8.0F},{9,10.0F},{11,12.0F}}; /* compound */ hobj_ref_t buf42[3][2]; /* reference */ hvl_t buf52[3][2]; /* vlen */ int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + float buf82[3][2]= {{1.0F,2.0F},{3.0F,4.0F},{5.0F,6.0F}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ hsize_t dims3[3]={4,3,2}; @@ -6859,7 +6865,7 @@ void write_dset_in(hid_t loc_id, if (make_diffs) { buf33[i][j][k].a=0; - buf33[i][j][k].b=0; + buf33[i][j][k].b=0.0F; } else { buf33[i][j][k].a=n++; @@ -6968,7 +6974,7 @@ void write_dset_in(hid_t loc_id, for (k = 0; k < 2; k++) { if (make_diffs) { buf73[i][j][k]=0; - buf83[i][j][k]=0; + buf83[i][j][k]=0.0F; } else { buf73[i][j][k]=n++; 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 fb8cc9b..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@ @@ -471,17 +469,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -559,10 +553,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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/errfiles/tarray1_big.err b/tools/h5dump/errfiles/tarray1_big.err index 457afdd..7a0fd7b 100644 --- a/tools/h5dump/errfiles/tarray1_big.err +++ b/tools/h5dump/errfiles/tarray1_big.err @@ -2,59 +2,23 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed major: Failure in tools library diff --git a/tools/h5dump/errfiles/tattrregR.err b/tools/h5dump/errfiles/tattrregR.err index 7ab9afd..9449a6d 100644 --- a/tools/h5dump/errfiles/tattrregR.err +++ b/tools/h5dump/errfiles/tattrregR.err @@ -2,40 +2,16 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed major: Failure in tools library diff --git a/tools/h5dump/errfiles/tdataregR.err b/tools/h5dump/errfiles/tdataregR.err index 7ab9afd..9449a6d 100644 --- a/tools/h5dump/errfiles/tdataregR.err +++ b/tools/h5dump/errfiles/tdataregR.err @@ -2,40 +2,16 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Rdereference2(): unable to dereference object major: References minor: Unable to initialize object - #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information - major: References - minor: Read failed - #002: (file name) line (number) in H5HG_read(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #003: (file name) line (number) in H5HG_protect(): unable to protect global heap - major: Heap - minor: Unable to protect metadata - #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. - major: Object cache - minor: Unable to protect metadata - #005: (file name) line (number) in H5C_protect(): incorrect cache entry type - major: Object cache - minor: Inappropriate type + #001: (file name) line (number) in H5R_dereference(): Undefined reference pointer + major: Invalid arguments to routine + minor: Bad value H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed major: Failure in tools library diff --git a/tools/h5dump/h5dump_xml.c b/tools/h5dump/h5dump_xml.c index 64667cb..6ccbc8c 100644 --- a/tools/h5dump/h5dump_xml.c +++ b/tools/h5dump/h5dump_xml.c @@ -3563,7 +3563,7 @@ xml_dump_fill_value(hid_t dcpl, hid_t type) /* Render the element */ h5tools_str_reset(&buffer); - h5tools_str_append(&buffer, "\"%f\"", *(float *) buf); + h5tools_str_append(&buffer, "\"%f\"", (double)*(float *)buf); h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0); ctx.need_prefix = TRUE; diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c index 82273a3..c04afe9 100644 --- a/tools/h5dump/h5dumpgentest.c +++ b/tools/h5dump/h5dumpgentest.c @@ -429,7 +429,7 @@ gent_dataset(void) for(i = 0; i < 30; i++) for(j = 0; j < 20; j++) - dset2[i][j] = 0.0001 * j + i; + dset2[i][j] = 0.0001F * j + i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -524,7 +524,7 @@ gent_attribute(void) space = H5Screate_simple(1, dims, NULL); attr = H5Acreate2(root, "attr3", H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) d[i] = 0.1 * i; + for(i = 0; i < 10; i++) d[i] = 0.1F * i; H5Awrite(attr, H5T_NATIVE_DOUBLE, d); H5Sclose(space); @@ -952,16 +952,16 @@ static void gent_compound_dt(void) { /* test compound data type */ for(i = 0; i < (int)sdim; i++) { dset1[i].a = i; dset1[i].b = (float)(i*i); - dset1[i].c = (float)(1./(i+1)); + dset1[i].c = (float)(1.0F/(i+1)); dset2[i].a = i; - dset2[i].b = (float)(i+ i*0.1); + dset2[i].b = (float)(i+ i*0.1F); dset4[i].a = i; dset4[i].b = (float)(i+3); dset5[i].a = i; - dset5[i].b = (float)(i*0.1); + dset5[i].b = (float)(i*0.1F); } @@ -1137,16 +1137,16 @@ static void gent_compound_dt2(void) { /* test compound data type */ for(i = 0; i < (int)sdim; i++) { dset1[i].a = i; dset1[i].b = (float)(i*i); - dset1[i].c = (float)(1./(i+1)); + dset1[i].c = (float)(1.0F/(i+1)); dset2[i].a = i; - dset2[i].b = (float)(i+ i*0.1); + dset2[i].b = (float)(i+ i*0.1F); dset4[i].a = i; - dset4[i].b = (float)(i*1.0); + dset4[i].b = (float)(i*1.0F); dset5[i].a = i; - dset5[i].b = (float)(i*1.0); + dset5[i].b = (float)(i*1.0F); } fid = H5Fcreate(FILE9, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1386,7 +1386,7 @@ static void gent_all(void) space = H5Screate_simple(1, dims, NULL); dataset = H5Dcreate2(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < 10; i++) - dset2_1[i] = (float)(i * 0.1 + 1); + dset2_1[i] = (float)(i * 0.1F + 1); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1); H5Sclose(space); H5Dclose(dataset); @@ -1397,7 +1397,7 @@ static void gent_all(void) dataset = H5Dcreate2(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < 3; i++) for(j = 0; j < 5; j++) - dset2_2[i][j] = (float)((i + 1) * j * 0.1); + dset2_2[i][j] = (float)((i + 1) * j * 0.1F); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2); H5Sclose(space); H5Dclose(dataset); @@ -1565,7 +1565,7 @@ gent_many(void) space2 = H5Screate_simple(1, dims, NULL); attr = H5Acreate2(dataset, "attr3", H5T_IEEE_F64BE, space2, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < 10; i++) - d[i] = 0.1 * i; + d[i] = 0.1F * i; H5Awrite(attr, H5T_NATIVE_DOUBLE, d); H5Sclose(space2); H5Aclose(attr); @@ -2378,10 +2378,10 @@ static void gent_nestcomp(void) for(i = 0; i< 10; i++) { s1[i].a = i; s1[i].b = (float)(i*i); - s1[i].c = 1./(i+1); + s1[i].c = 1.0F/(i+1); s1[i].d.a = 65 + i; - s1[i].d.b[0] = -100.; - s1[i].d.b[1] = 100.; + s1[i].d.b[0] = -100.0F; + s1[i].d.b[1] = 100.0F; } /* @@ -2582,7 +2582,7 @@ static void gent_vldatatypes(void) wdata[i].len = i + 1; for(j = 0; j < i + 1; j++) - ((float *)wdata[i].p)[j] = (float)(i * 10 + ((float)j) / 10.0); + ((float *)wdata[i].p)[j] = (float)(i * 10 + ((float)j) / 10.0F); } /* write out the floats in little-endian format */ @@ -2716,7 +2716,7 @@ static void gent_vldatatypes3(void) /* Allocate and initialize VL data to write */ for(i=0; i<SPACE1_DIM1; i++) { wdata[i].i=i*10; - wdata[i].f=(float)((i*20)/3.0); + wdata[i].f=(float)((i*20)/3.0F); wdata[i].v.p=HDmalloc((i+1)*sizeof(unsigned int)); wdata[i].v.len=i+1; for(j=0; j<(i+1); j++) @@ -2788,7 +2788,7 @@ static void gent_vldatatypes4(void) wdata[i].len=i+1; for(j=0; j<(i+1); j++) { ((s1 *)wdata[i].p)[j].i=i*10+j; - ((s1 *)wdata[i].p)[j].f=(float)((i*20+j)/3.0); + ((s1 *)wdata[i].p)[j].f=(float)((i*20+j)/3.0F); } /* end for */ } /* end for */ @@ -3159,7 +3159,7 @@ static void gent_array4(void) for(i=0; i<SPACE1_DIM1; i++) for(j=0; j<ARRAY1_DIM1; j++) { wdata[i][j].i=i*10+j; - wdata[i][j].f=(float)(i*2.5+j); + wdata[i][j].f=(float)(i*2.5F+j); } /* end for */ /* Create file */ @@ -3227,7 +3227,7 @@ static void gent_array5(void) for(j=0; j<ARRAY1_DIM1; j++) { wdata[i][j].i=i*10+j; for(k=0; k<ARRAY1_DIM1; k++) - wdata[i][j].f[k]=(float)(i*10+j*2.5+k); + wdata[i][j].f[k]=(float)(i*10+j*2.5F+k); } /* end for */ /* Create file */ @@ -4933,10 +4933,10 @@ static void gent_compound_complex(void) } } - Array1[m].e = (float)( m * .96 ); + Array1[m].e = (float)( m * 0.96F ); for(n = 0; n < F41_ARRAY_DIMf; n++) { - Array1[m].f[n] = ( m * 1024.9637 ); + Array1[m].f[n] = ( m * 1024.9637F ); } Array1[m].g = 'm'; @@ -5433,7 +5433,7 @@ static void gent_filters(void) * shuffle *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_SHUFFLE) + /* remove the filters from the dcpl */ ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); HDassert(ret >= 0); @@ -5444,14 +5444,13 @@ static void gent_filters(void) ret=make_dset(fid,"shuffle",sid,H5T_NATIVE_INT,dcpl,buf1); HDassert(ret >= 0); -#endif /*------------------------------------------------------------------------- * checksum *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_FLETCHER32) + /* remove the filters from the dcpl */ ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); HDassert(ret >= 0); @@ -5462,13 +5461,12 @@ static void gent_filters(void) ret=make_dset(fid,"fletcher32",sid,H5T_NATIVE_INT,dcpl,buf1); HDassert(ret >= 0); -#endif /*------------------------------------------------------------------------- * nbit *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_NBIT) + /* remove the filters from the dcpl */ ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); HDassert(ret >= 0); @@ -5481,13 +5479,12 @@ static void gent_filters(void) H5Tset_precision(tid,H5Tget_size(tid)-1); ret=make_dset(fid,"nbit",sid,tid,dcpl,buf1); HDassert(ret >= 0); -#endif /*------------------------------------------------------------------------- * scaleoffset *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_SCALEOFFSET) + /* remove the filters from the dcpl */ ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); HDassert(ret >= 0); @@ -5498,7 +5495,6 @@ static void gent_filters(void) ret=make_dset(fid,"scaleoffset",sid,H5T_NATIVE_INT,dcpl,buf1); HDassert(ret >= 0); -#endif /*------------------------------------------------------------------------- * all filters @@ -5508,11 +5504,9 @@ static void gent_filters(void) ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); HDassert(ret >= 0); -#if defined (H5_HAVE_FILTER_SHUFFLE) /* set the shuffle filter */ ret = H5Pset_shuffle(dcpl); HDassert(ret >= 0); -#endif #ifdef H5_HAVE_FILTER_SZIP if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { @@ -5529,17 +5523,13 @@ static void gent_filters(void) HDassert(ret >= 0); #endif -#if defined (H5_HAVE_FILTER_FLETCHER32) /* set the checksum filter */ ret = H5Pset_fletcher32(dcpl); HDassert(ret >= 0); -#endif -#if defined (H5_HAVE_FILTER_NBIT) /* set the nbit filter */ ret = H5Pset_nbit(dcpl); HDassert(ret >= 0); -#endif ret=make_dset(fid,"all",sid,H5T_NATIVE_INT,dcpl,buf1); HDassert(ret >= 0); @@ -6883,7 +6873,7 @@ gent_fpformat(void) { hid_t fid, sid, did; hsize_t dims[1] = {6}; - double dbuf[6] = {-0.1234567, 0.1234567, 0, 0, 0, 0}; + double dbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; float fbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; fid = H5Fcreate(FILE60, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -7203,7 +7193,7 @@ gent_packedbits(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl); @@ -7393,7 +7383,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; H5Awrite(attr, H5T_NATIVE_DOUBLE, dsetdbl); @@ -7601,7 +7591,7 @@ static void gent_compound_intsizes(void) { for(n = 0; n < dims[0]; n++) for(o = 0; o < dims[1]; o++) - Array1[m].dsetdbl[n][o] = 0.0001 * o + n; + Array1[m].dsetdbl[n][o] = 0.0001F * o + n; } /* Create the array data type for the 8 bits signed int array */ @@ -7876,7 +7866,7 @@ static void gent_compound_attr_intsizes(void) { for(n = 0; n < dims[0]; n++) for(o = 0; o < dims[1]; o++) - Array1[m].dsetdbl[n][o] = 0.0001 * o + n; + Array1[m].dsetdbl[n][o] = 0.0001F * o + n; } /* Create the array data type for the 8 bits signed int array */ @@ -8044,17 +8034,17 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ dset1[i].b = (float)(i*i); dset2[i].a = i; - dset2[i].b = (float)(i+i*0.1); + dset2[i].b = (float)(i+i*0.1F); dset2[i].c = GREEN; for(j = 0; j < 5; j++) { dset3[i].a[j] = i*j; for(k = 0; k < 6; k++) { - dset3[i].b[j][k] = (float)(i*j*k*1.0); + dset3[i].b[j][k] = (float)(i*j*k*1.0F); } } dset3[i].c.a = i; - dset3[i].c.b = (float)(i*1.0); + dset3[i].c.b = (float)(i*1.0F); } fid = H5Fcreate(FILE72, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -8342,7 +8332,7 @@ gent_intscalars(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl); @@ -8541,7 +8531,7 @@ gent_attr_intscalars(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; H5Awrite(attr, tid, dsetdbl); @@ -8727,7 +8717,7 @@ static void gent_compound_int_array(void) { dims[0] = F76_DIM8; for(n = 0; n < dims[0]; n++) - Cmpd1[m].dsetdbl[n] = 0.0001 + n; + Cmpd1[m].dsetdbl[n] = 0.0001F + n; } /* Create the array data type for the 8 bits signed int array */ @@ -8958,8 +8948,8 @@ static void gent_compound_ints(void) { val64bits <<= 1; /* Double Dummy set for failure tests */ - Cmpd1[m].dsetdbl = 0.0001 + m; - Cmpd2[m].dsetdbl = 0.0001 + m; + Cmpd1[m].dsetdbl = 0.0001F + m; + Cmpd2[m].dsetdbl = 0.0001F + m; } /* Create the dataspace */ @@ -9296,7 +9286,7 @@ gent_intattrscalars(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl); /* Attribute of double */ @@ -9561,7 +9551,7 @@ gent_intsattrs(void) for(i = 0; i < dims[0]; i++) for(j = 0; j < dims[1]; j++) { - dsetdbl[i][j] = 0.0001 * j + i; + dsetdbl[i][j] = 0.0001F * j + i; asetdbl[i*dims[1]+j] = dsetdbl[i][j]; } diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 0c72a8d..95f8091 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -19,10 +19,6 @@ srcdir=@srcdir@ USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" -USE_FILTER_NBIT="@USE_FILTER_NBIT@" -USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@" TESTNAME=h5dump EXIT_SUCCESS=0 @@ -440,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" @@ -467,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 @@ -1184,7 +1193,7 @@ TOOLTEST tallfilters.ddl --enable-error-stack -H -p -d all tfilters.h5 # user defined TOOLTEST tuserfilter.ddl --enable-error-stack -H -p -d myfilter tfilters.h5 -if test $USE_FILTER_DEFLATE = "yes" -a $USE_FILTER_SHUFFLE = "yes" -a $USE_FILTER_FLETCHER32 = "yes" -a $USE_FILTER_NBIT = "yes" -a $USE_FILTER_SCALEOFFSET = "yes" ; then +if test $USE_FILTER_DEFLATE = "yes" ; then # data read internal filters TOOLTEST treadintfilter.ddl --enable-error-stack -d deflate -d shuffle -d fletcher32 -d nbit -d scaleoffset tfilters.h5 if test $USE_FILTER_SZIP = "yes"; then diff --git a/tools/h5dump/testh5dumppbits.sh.in b/tools/h5dump/testh5dumppbits.sh.in index 0f6503d..6556ff5 100644 --- a/tools/h5dump/testh5dumppbits.sh.in +++ b/tools/h5dump/testh5dumppbits.sh.in @@ -20,10 +20,6 @@ srcdir=@srcdir@ # Determine which filters are available USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" -USE_FILTER_NBIT="@USE_FILTER_NBIT@" -USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@" TESTNAME=h5dump EXIT_SUCCESS=0 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 ed26aab..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@ @@ -465,17 +463,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -538,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@ @@ -553,10 +547,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5import/h5importtest.c b/tools/h5import/h5importtest.c index 49f977c..ac839fb 100644 --- a/tools/h5import/h5importtest.c +++ b/tools/h5import/h5importtest.c @@ -40,13 +40,13 @@ main(void) FILE *sp; float row4[3], col4[4], pln4[5]; - float rowo4 = (float)11.0e0, colo4 = (float)21.0e0, plno4 = (float)51.0e0; - float rowi4 = (float)1.0e0, coli4 = (float)2.0e0, plni4 = (float)5.0e0; + float rowo4 = 11.0F, colo4 = 21.0F, plno4 = 51.0F; + float rowi4 = 1.0F, coli4 = 2.0F, plni4 = 5.0F; int b32i3[5][3][4]; int row4i[3], col4i[4], pln4i[5]; - int rowo4i = (int)11 , colo4i = (int)21 , plno4i = (int)51 ; - int rowi4i = (int)1 , coli4i = (int)2 , plni4i = (int)5 ; + int rowo4i = 11 , colo4i = 21 , plno4i = 51 ; + int rowi4i = 1 , coli4i = 2 , plni4i = 5 ; #ifdef H5_SIZEOF_LONG_LONG long long row4i64[3], col4i64[4], pln4i64[5]; @@ -66,8 +66,8 @@ main(void) double b64r3[5][3][4]; double row8[3], col8[4], pln8[5]; - double rowo8 = 11.0e0, colo8 = 21.0e0, plno8 = 51.0e0; - double rowi8 = 1.0e0, coli8 = 2.0e0, plni8 = 5.0e0; + double rowo8 = 11.0F, colo8 = 21.0F, plno8 = 51.0F; + double rowi8 = 1.0F, coli8 = 2.0F, plni8 = 5.0F; /* 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 855b708..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@ @@ -477,17 +475,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -550,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@ @@ -565,10 +559,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5jam/h5jamgentest.c b/tools/h5jam/h5jamgentest.c index 9636597..5a93c13 100644 --- a/tools/h5jam/h5jamgentest.c +++ b/tools/h5jam/h5jamgentest.c @@ -254,7 +254,7 @@ gent_ub(const char * filename, size_t ub_size, size_t ub_fill) space = H5Screate_simple(1, dims, NULL); dataset = H5Dcreate2(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for (i = 0; i < 10; i++) - dset2_1[i] = (float)(i*0.1+1); + dset2_1[i] = (float)(i*0.1F+1); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1); H5Sclose(space); H5Dclose(dataset); @@ -265,7 +265,7 @@ gent_ub(const char * filename, size_t ub_size, size_t ub_fill) dataset = H5Dcreate2(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for (i = 0; i < 3; i++) for (j = 0; j < 5; j++) - dset2_2[i][j] = (float)((i+1)*j*0.1); + dset2_2[i][j] = (float)((i+1)*j*0.1F); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2); H5Sclose(space); H5Dclose(dataset); diff --git a/tools/h5jam/testh5jam.sh.in b/tools/h5jam/testh5jam.sh.in index 36f0657..1664d6b 100644 --- a/tools/h5jam/testh5jam.sh.in +++ b/tools/h5jam/testh5jam.sh.in @@ -20,8 +20,6 @@ srcdir=@srcdir@ # Determine which filters are available USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" TESTNAME=h5jam/h5unjam EXIT_SUCCESS=0 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 0a33e29..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@ @@ -457,17 +455,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -545,10 +539,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 698b8a3..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@ @@ -489,17 +487,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -562,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@ @@ -577,10 +571,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in index a4d12bd..4a32491 100644 --- a/tools/h5repack/h5repack.sh.in +++ b/tools/h5repack/h5repack.sh.in @@ -24,10 +24,6 @@ srcdir=@srcdir@ USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" -USE_FILTER_NBIT="@USE_FILTER_NBIT@" -USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@" TESTNAME=h5repack EXIT_SUCCESS=0 @@ -97,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 @@ -705,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) @@ -742,40 +746,24 @@ fi # shuffle with individual object arg="h5repack_layout.h5 -f dset2:SHUF -l dset2:CHUNK=20x10" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_individual $arg -fi +TOOLTEST shuffle_individual $arg # shuffle for all arg="h5repack_layout.h5 -f SHUF" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_all $arg -fi +TOOLTEST shuffle_all $arg # fletcher32 with individual object arg="h5repack_layout.h5 -f dset2:FLET -l dset2:CHUNK=20x10" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_individual $arg -fi +TOOLTEST fletcher_individual $arg # fletcher32 for all arg="h5repack_layout.h5 -f FLET" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_all $arg -fi +TOOLTEST fletcher_all $arg # all filters arg="h5repack_layout.h5 -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10" -if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then +if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else TOOLTEST all_filters $arg @@ -828,87 +816,47 @@ fi # shuffle copy arg="h5repack_shuffle.h5" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_copy $arg -fi +TOOLTEST shuffle_copy $arg # shuffle remove arg="h5repack_shuffle.h5 -f dset_shuffle:NONE" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_remove $arg -fi +TOOLTEST shuffle_remove $arg # fletcher32 copy arg="h5repack_fletcher.h5" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_copy $arg -fi +TOOLTEST fletcher_copy $arg # fletcher32 remove arg="h5repack_fletcher.h5 -f dset_fletcher32:NONE" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_remove $arg -fi +TOOLTEST fletcher_remove $arg # nbit copy arg="h5repack_nbit.h5" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_copy $arg -fi +TOOLTEST nbit_copy $arg # nbit remove arg="h5repack_nbit.h5 -f dset_nbit:NONE" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_remove $arg -fi +TOOLTEST nbit_remove $arg # nbit add arg="h5repack_nbit.h5 -f dset_int31:NBIT" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_add $arg -fi +TOOLTEST nbit_add $arg # scaleoffset copy arg="h5repack_soffset.h5" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_copy $arg -fi +TOOLTEST scale_copy $arg # scaleoffset add arg="h5repack_soffset.h5 -f dset_none:SOFF=31,IN" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_add $arg -fi +TOOLTEST scale_add $arg # scaleoffset remove arg="h5repack_soffset.h5 -f dset_scaleoffset:NONE" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_remove $arg -fi +TOOLTEST scale_remove $arg # remove all filters arg="h5repack_filters.h5 -f NONE" -if test $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_NBIT != "yes" -o $USE_FILTER_SCALEOFFSET != "yes" ; then +if test $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" ; then SKIP $arg else TOOLTEST remove_all $arg @@ -1061,7 +1009,7 @@ fi # several global filters arg="h5repack_layout.h5 --filter GZIP=1 --filter SHUF" -if test $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SHUFFLE != "yes" ; then +if test $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else TOOLTEST global_filters $arg diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c index 5ec9a8d..46d895c 100644 --- a/tools/h5repack/h5repacktst.c +++ b/tools/h5repack/h5repacktst.c @@ -445,8 +445,6 @@ int main (void) TESTING(" addding shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE - /*------------------------------------------------------------------------- * test an individual object option *------------------------------------------------------------------------- @@ -468,9 +466,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif /*------------------------------------------------------------------------- * test all objects option @@ -479,8 +474,6 @@ int main (void) TESTING(" addding shuffle filter to all"); -#ifdef H5_HAVE_FILTER_SHUFFLE - /* fs_type = H5F_FILE_SPACE_ALL_PERSIST; fs_size = 1 */ if (h5repack_init (&pack_options, 0, H5_INC_ENUM(H5F_file_space_type_t, fs_type), ++fs_size) < 0) GOERROR; @@ -498,13 +491,9 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif - TESTING(" adding checksum filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 + TESTING(" adding checksum filter"); /*------------------------------------------------------------------------- * test an individual object option @@ -527,9 +516,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif /*------------------------------------------------------------------------- * test all objects option @@ -539,8 +525,6 @@ int main (void) TESTING(" adding checksum filter to all"); -#ifdef H5_HAVE_FILTER_FLETCHER32 - if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("FLET",&pack_options) < 0) @@ -557,9 +541,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" filter queue fletcher, shuffle, deflate, szip"); @@ -573,16 +554,10 @@ int main (void) GOERROR; if (h5repack_addlayout("dset1:CHUNK 20x10",&pack_options) < 0) GOERROR; - -#if defined (H5_HAVE_FILTER_FLETCHER32) if (h5repack_addfilter("dset1:FLET",&pack_options) < 0) GOERROR; -#endif - -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_addfilter("dset1:SHUF",&pack_options) < 0) GOERROR; -#endif #if defined (H5_HAVE_FILTER_SZIP) if (szip_can_encode) { @@ -1039,7 +1014,6 @@ int main (void) TESTING(" copy of shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME9,FNAME9OUT,&pack_options) < 0) @@ -1052,13 +1026,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_shuffle:NONE",&pack_options) < 0) @@ -1073,13 +1044,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" copy of fletcher filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME10,FNAME10OUT,&pack_options) < 0) @@ -1092,13 +1060,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing fletcher filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_fletcher32:NONE",&pack_options) < 0) @@ -1113,14 +1078,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" copy of nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME12,FNAME12OUT,&pack_options) < 0) @@ -1133,13 +1094,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_nbit:NONE",&pack_options) < 0) @@ -1154,14 +1112,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" adding nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_int31:NBIT",&pack_options) < 0) @@ -1176,14 +1130,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" copy of scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME13,FNAME13OUT,&pack_options) < 0) @@ -1196,13 +1146,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_scaleoffset:NONE",&pack_options) < 0) @@ -1217,14 +1164,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" adding scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_none:SOFF=31,IN",&pack_options) < 0) @@ -1239,10 +1182,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif - /*------------------------------------------------------------------------- @@ -1258,9 +1197,7 @@ int main (void) TESTING(" filter conversion from deflate to szip"); -#if defined (H5_HAVE_FILTER_SZIP) \ - && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { /* fs_type = H5F_FILE_SPACE_VFD; fs_size = 4 */ @@ -1287,9 +1224,7 @@ int main (void) TESTING(" filter conversion from szip to deflate"); -#if defined (H5_HAVE_FILTER_SZIP) \ - && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) @@ -1321,8 +1256,7 @@ int main (void) TESTING(" removing all filters"); -#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; @@ -1429,7 +1363,7 @@ int main (void) TESTING(" several global filters"); -#if defined (H5_HAVE_FILTER_DEFLATE) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_DEFLATE) if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; @@ -2347,13 +2281,12 @@ int make_shuffle(hid_t loc_id) * shuffle *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_SHUFFLE) + /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) goto out; if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf) < 0) goto out; -#endif /*------------------------------------------------------------------------- @@ -2414,7 +2347,7 @@ int make_fletcher32(hid_t loc_id) * fletcher32 *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_FLETCHER32) + /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2423,7 +2356,6 @@ int make_fletcher32(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf) < 0) goto out; -#endif /*------------------------------------------------------------------------- * close space and dcpl @@ -2488,7 +2420,6 @@ int make_nbit(hid_t loc_id) goto out; } -#if defined H5_HAVE_FILTER_NBIT /* remove the filters from the dcpl */ if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) { @@ -2522,7 +2453,6 @@ int make_nbit(hid_t loc_id) goto out; } H5Dclose(dsid); -#endif /*------------------------------------------------------------------------- * close @@ -2584,7 +2514,6 @@ int make_scaleoffset(hid_t loc_id) dtid = H5Tcopy(H5T_NATIVE_INT); -#if defined (H5_HAVE_FILTER_SCALEOFFSET) /* remove the filters from the dcpl */ if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) { H5Tclose(dtid); @@ -2613,7 +2542,6 @@ int make_scaleoffset(hid_t loc_id) } H5Tclose(dtid); H5Dclose(dsid); -#endif /*------------------------------------------------------------------------- * close space and dcpl @@ -2647,10 +2575,8 @@ int make_all_filters(hid_t loc_id) { hid_t dcpl; /* dataset creation property list */ hid_t sid; /* dataspace ID */ -#if defined (H5_HAVE_FILTER_NBIT) hid_t dtid; hid_t dsid; -#endif /* H5_HAVE_FILTER_NBIT */ #if defined (H5_HAVE_FILTER_SZIP) unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK; unsigned szip_pixels_per_block=8; @@ -2680,17 +2606,13 @@ int make_all_filters(hid_t loc_id) if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto out; -#if defined (H5_HAVE_FILTER_SHUFFLE) /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) goto out; -#endif -#if defined (H5_HAVE_FILTER_FLETCHER32) /* set the checksum filter */ if (H5Pset_fletcher32(dcpl) < 0) goto out; -#endif #if defined (H5_HAVE_FILTER_SZIP) if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) @@ -2716,7 +2638,6 @@ int make_all_filters(hid_t loc_id) if (make_dset(loc_id,"dset_all",sid,dcpl,buf) < 0) goto out; -#if defined (H5_HAVE_FILTER_FLETCHER32) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2725,7 +2646,6 @@ int make_all_filters(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf) < 0) goto out; -#endif /* Make sure encoding is enabled */ @@ -2747,7 +2667,6 @@ int make_all_filters(hid_t loc_id) #endif -#if defined (H5_HAVE_FILTER_SHUFFLE) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2756,7 +2675,6 @@ int make_all_filters(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf) < 0) goto out; -#endif #if defined (H5_HAVE_FILTER_DEFLATE) @@ -2772,7 +2690,6 @@ int make_all_filters(hid_t loc_id) -#if defined (H5_HAVE_FILTER_NBIT) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto out; @@ -2793,8 +2710,6 @@ int make_all_filters(hid_t loc_id) return -1; if(H5Dclose(dsid) < 0) return -1; -#endif - if(H5Sclose(sid) < 0) goto out; 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 Binary files differnew file mode 100644 index 0000000..f1bd8e9 --- /dev/null +++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 Binary files differnew file mode 100644 index 0000000..2e66da2 --- /dev/null +++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 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 993a226..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@ @@ -467,17 +465,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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 +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@ @@ -555,10 +549,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5stat/testh5stat.sh.in b/tools/h5stat/testh5stat.sh.in index cb0446b..4d698da 100644 --- a/tools/h5stat/testh5stat.sh.in +++ b/tools/h5stat/testh5stat.sh.in @@ -25,10 +25,6 @@ srcdir=@srcdir@ # Determine which filters are available USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" -USE_FILTER_NBIT="@USE_FILTER_NBIT@" -USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@" TESTNAME=h5stat EXIT_SUCCESS=0 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 607f1ed..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@ @@ -454,17 +452,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -527,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@ @@ -542,10 +536,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c index 7d25c7a..29a6d68 100644 --- a/tools/lib/h5tools_dump.c +++ b/tools/lib/h5tools_dump.c @@ -2914,7 +2914,6 @@ h5tools_print_virtual_selection(hid_t vspace, hid_t dcpl_id, size_t index, h5tools_render_element(stream, info, ctx, buffer, curr_pos, (size_t) ncols, (hsize_t) 0, (hsize_t) 0); } - /*------------------------------------------------------------------------- * Function: dump_fill_value * diff --git a/tools/lib/h5tools_filters.c b/tools/lib/h5tools_filters.c index 79cf253..ccdba26 100644 --- a/tools/lib/h5tools_filters.c +++ b/tools/lib/h5tools_filters.c @@ -107,44 +107,24 @@ int h5tools_canreadf(const char* name, /* object name, serves also as boolean pr *------------------------------------------------------------------------- */ case H5Z_FILTER_SHUFFLE: -#ifndef H5_HAVE_FILTER_SHUFFLE - if (name) - print_warning(name,"shuffle"); - return 0; -#endif break; /*------------------------------------------------------------------------- * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC *------------------------------------------------------------------------- */ case H5Z_FILTER_FLETCHER32: -#ifndef H5_HAVE_FILTER_FLETCHER32 - if (name) - print_warning(name,"fletcher32"); - return 0; -#endif break; /*------------------------------------------------------------------------- * H5Z_FILTER_NBIT *------------------------------------------------------------------------- */ case H5Z_FILTER_NBIT: -#ifndef H5_HAVE_FILTER_NBIT - if (name) - print_warning(name,"nbit"); - return 0; -#endif break; /*------------------------------------------------------------------------- * H5Z_FILTER_SCALEOFFSET *------------------------------------------------------------------------- */ case H5Z_FILTER_SCALEOFFSET: -#ifndef H5_HAVE_FILTER_SCALEOFFSET - if (name) - print_warning(name,"scaleoffset"); - return 0; -#endif break; }/*switch*/ }/*for*/ @@ -211,24 +191,12 @@ int h5tools_can_encode(H5Z_filter_t filtn) { #endif break; case H5Z_FILTER_SHUFFLE: -#ifndef H5_HAVE_FILTER_SHUFFLE - return 0; -#endif break; case H5Z_FILTER_FLETCHER32: -#ifndef H5_HAVE_FILTER_FLETCHER32 - return 0; -#endif break; case H5Z_FILTER_NBIT: -#ifndef H5_HAVE_FILTER_NBIT - return 0; -#endif break; case H5Z_FILTER_SCALEOFFSET: -#ifndef H5_HAVE_FILTER_SCALEOFFSET - return 0; -#endif break; }/*switch*/ diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c index 8302c48..4381df8 100644 --- a/tools/lib/h5tools_str.c +++ b/tools/lib/h5tools_str.c @@ -155,11 +155,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; } @@ -809,7 +805,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai float tempfloat; HDmemcpy(&tempfloat, vp, sizeof(float)); - h5tools_str_append(str, OPT(info->fmt_float, "%g"), tempfloat); + h5tools_str_append(str, OPT(info->fmt_float, "%g"), (double)tempfloat); } else if (sizeof(double) == nsize) { /* if (H5Tequal(type, H5T_NATIVE_DOUBLE)) */ 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/lib/h5trav.c b/tools/lib/h5trav.c index d0a4a76..90e6d3d 100644 --- a/tools/lib/h5trav.c +++ b/tools/lib/h5trav.c @@ -50,6 +50,10 @@ typedef struct { hid_t fid; /* File ID being traversed */ } trav_print_udata_t; +typedef struct trav_path_op_data_t { + const char *path; +} trav_path_op_data_t; + /* format for hsize_t */ #ifdef H5TRAV_PRINT_SPACE #define HSIZE_T_FORMAT "%" H5_PRINTF_LL_WIDTH "u" @@ -899,11 +903,11 @@ trav_attr(hid_t #ifndef H5TRAV_PRINT_SPACE UNUSED #endif /* H5TRAV_PRINT_SPACE */ -obj, const char *attr_name, const H5A_info_t UNUSED *ainfo, void *op_data) +obj, const char *attr_name, const H5A_info_t UNUSED *ainfo, void *_op_data) { - char *buf; + trav_path_op_data_t *op_data = (trav_path_op_data_t *)_op_data; + const char *buf = op_data->path; - buf = (char*)op_data; if((strlen(buf)==1) && (*buf=='/')) printf(" %-10s %s%s", "attribute", buf, attr_name); else @@ -1009,10 +1013,14 @@ trav_print_visit_obj(const char *path, const H5O_info_t *oinfo, /* Check if we've already seen this object */ if(NULL == already_visited) { + trav_path_op_data_t op_data; + + op_data.path = path; /* Finish printing line about object */ printf("\n"); if(trav_verbosity > 0) - H5Aiterate_by_name(print_udata->fid, path, trav_index_by, trav_index_order, NULL, trav_attr, (void *)path, H5P_DEFAULT); + H5Aiterate_by_name(print_udata->fid, path, trav_index_by, trav_index_order, + NULL, trav_attr, &op_data, H5P_DEFAULT); } else /* Print the link's original name */ diff --git a/tools/lib/io_timer.c b/tools/lib/io_timer.c index 78e7fe9..b8d44de 100644 --- a/tools/lib/io_timer.c +++ b/tools/lib/io_timer.c @@ -40,7 +40,7 @@ * The number to divide the tv_usec field with to get a nice decimal to add to * the number of seconds. */ -#define MICROSECOND 1000000.0 +#define MICROSECOND 1000000.0F /* global variables */ io_time_t *timer_g; /* timer: global for stub functions */ 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 e11838f..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@ @@ -492,17 +490,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -565,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@ @@ -580,10 +574,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ 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 1f903c5..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@ @@ -496,17 +494,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ 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@ @@ -569,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@ @@ -584,10 +578,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/perform/chunk.c b/tools/perform/chunk.c index a3c11c1..6825a4c 100644 --- a/tools/perform/chunk.c +++ b/tools/perform/chunk.c @@ -57,20 +57,20 @@ #define RM_CACHE_STRT 25 #define RM_CACHE_END 25 #define RM_CACHE_DELT 5 -#define RM_START 0.50 -#define RM_END 5.00 -#define RM_DELTA 0.50 -#define RM_W0 0.0 +#define RM_START 0.50F +#define RM_END 5.00F +#define RM_DELTA 0.50F +#define RM_W0 0.0F #define RM_NRDCC 521 /* Diagonal test */ #define DIAG_CACHE_STRT 25 #define DIAG_CACHE_END 25 #define DIAG_CACHE_DELT 5 -#define DIAG_START 0.50 -#define DIAG_END 5.00 -#define DIAG_DELTA 0.50 -/* #define DIAG_W0 0.65 */ +#define DIAG_START 0.50F +#define DIAG_END 5.00F +#define DIAG_DELTA 0.50F +/* #define DIAG_W0 0.65F */ /* #define DIAG_NRDCC 521 */ static size_t nio_g; diff --git a/tools/perform/iopipe.c b/tools/perform/iopipe.c index 85063fa..a04ef82 100644 --- a/tools/perform/iopipe.c +++ b/tools/perform/iopipe.c @@ -81,25 +81,25 @@ print_stats (const char *prefix, double u_time, s_time; u_time = ((double)(r_stop->ru_utime.tv_sec)+ - (double)(r_stop->ru_utime.tv_usec)/1000000.0) - + (double)(r_stop->ru_utime.tv_usec)/1000000.0F) - ((double)(r_start->ru_utime.tv_sec)+ - (double)(r_start->ru_utime.tv_usec)/1000000.0); + (double)(r_start->ru_utime.tv_usec)/1000000.0F); s_time = ((double)(r_stop->ru_stime.tv_sec)+ - (double)(r_stop->ru_stime.tv_usec)/1000000.0) - + (double)(r_stop->ru_stime.tv_usec)/1000000.0F) - ((double)(r_start->ru_stime.tv_sec)+ - (double)(r_start->ru_stime.tv_usec)/1000000.0); + (double)(r_start->ru_stime.tv_usec)/1000000.0F); #endif #ifndef H5_HAVE_SYS_TIMEB e_time = ((double)(t_stop->tv_sec)+ - (double)(t_stop->tv_usec)/1000000.0) - + (double)(t_stop->tv_usec)/1000000.0F) - ((double)(t_start->tv_sec)+ - (double)(t_start->tv_usec)/1000000.0); + (double)(t_start->tv_usec)/1000000.0F); #else e_time = ((double)(t_stop->tv_sec)+ - (double)(t_stop->tv_usec)/1000.0) - + (double)(t_stop->tv_usec)/1000.0F) - ((double)(t_start->tv_sec)+ - (double)(t_start->tv_usec)/1000.0); + (double)(t_start->tv_usec)/1000.0F); #endif bw = (double)nbytes / e_time; @@ -191,7 +191,7 @@ main (void) * 1998-11-06 ptl */ printf ("I/O request size is %1.1fMB\n", - (double)(hssize_t)(size[0]*size[1])/1024.0*1024); + (double)(hssize_t)(size[0]*size[1])/1024.0F*1024); /* Open the files */ file = H5Fcreate (HDF5_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); diff --git a/tools/perform/overhead.c b/tools/perform/overhead.c index 9341e64..046668f 100644 --- a/tools/perform/overhead.c +++ b/tools/perform/overhead.c @@ -209,7 +209,7 @@ test(fill_t fill_style, const double splits[], if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; if(!use_rdcc) { if(H5Pget_cache(fapl, &mdc_nelmts, NULL, NULL, NULL) < 0) goto error; - if(H5Pset_cache(fapl, mdc_nelmts, 0, 0, 0.0) < 0) goto error; + if(H5Pset_cache(fapl, mdc_nelmts, 0, 0, 0.0F) < 0) goto error; } if((file = H5Fcreate(FILE_NAME_1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; diff --git a/tools/perform/sio_perf.c b/tools/perform/sio_perf.c index 1828d6f..7d75a2d 100644 --- a/tools/perform/sio_perf.c +++ b/tools/perform/sio_perf.c @@ -68,7 +68,7 @@ #define SIO_HDF5 0x4 /* report 0.0 in case t is zero too */ -#define MB_PER_SEC(bytes,t) (((t)==0.0) ? 0.0 : ((((double)bytes) / ONE_MB) / (t))) +#define MB_PER_SEC(bytes,t) (((t)==0.0F) ? 0.0F : ((((double)bytes) / ONE_MB) / (t))) #ifndef TRUE #define TRUE 1 @@ -451,14 +451,14 @@ run_test(iotype iot, parameters parms, struct options *opts) minmax *read_mm_table=NULL; minmax *read_gross_mm_table=NULL; minmax *read_raw_mm_table=NULL; - minmax write_sys_mm = {0.0, 0.0, 0.0, 0}; - minmax write_mm = {0.0, 0.0, 0.0, 0}; - minmax write_gross_mm = {0.0, 0.0, 0.0, 0}; - minmax write_raw_mm = {0.0, 0.0, 0.0, 0}; - minmax read_sys_mm = {0.0, 0.0, 0.0, 0}; - minmax read_mm = {0.0, 0.0, 0.0, 0}; - minmax read_gross_mm = {0.0, 0.0, 0.0, 0}; - minmax read_raw_mm = {0.0, 0.0, 0.0, 0}; + minmax write_sys_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_gross_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_raw_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_sys_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_gross_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_raw_mm = {0.0F, 0.0F, 0.0F, 0}; raw_size = (off_t)parms.num_bytes; parms.io_type = iot; @@ -717,7 +717,7 @@ accumulate_minmax_stuff(minmax *mm, int count) int i; minmax total_mm; - total_mm.sum = 0.0; + total_mm.sum = 0.0F; total_mm.max = -DBL_MAX; total_mm.min = DBL_MAX; total_mm.num = count; diff --git a/tools/perform/zip_perf.c b/tools/perform/zip_perf.c index edd5b0f..f73ba40 100644 --- a/tools/perform/zip_perf.c +++ b/tools/perform/zip_perf.c @@ -43,10 +43,10 @@ #define ONE_MB (ONE_KB * ONE_KB) #define ONE_GB (ONE_MB * ONE_KB) -#define MICROSECOND 1000000.0 +#define MICROSECOND 1000000.0F /* report 0.0 in case t is zero too */ -#define MB_PER_SEC(bytes,t) ((fabs(t)<0.0000000001) ? 0.0 : ((((double)bytes) / ONE_MB) / (t))) +#define MB_PER_SEC(bytes,t) ((fabs(t)<0.0000000001F) ? 0.0F : ((((double)bytes) / ONE_MB) / (t))) #ifndef TRUE #define TRUE 1 @@ -182,7 +182,7 @@ write_file(Bytef *source, uLongf sourceLen) /* destination buffer needs to be at least 0.1% larger than sourceLen * plus 12 bytes */ - destLen = (uLongf)((double)sourceLen + ((double)sourceLen * 0.1)) + 12; + destLen = (uLongf)((double)sourceLen + ((double)sourceLen * 0.1F)) + 12; dest = (Bytef *)HDmalloc(destLen); if (!dest) @@ -464,7 +464,7 @@ do_write_test(unsigned long file_size, unsigned long min_buf_size, error("out of memory"); } - compression_time = 0.0; + compression_time = 0.0F; if (random_test) fill_with_random_data(src, src_len); |