From f4a60fc34c91fbb866a5be8a3fb864bf9165f30c Mon Sep 17 00:00:00 2001 From: HDF Tester Date: Sun, 8 Feb 2015 06:05:07 -0500 Subject: [svn-r26146] Snapshot version 1.9 release 213 --- README.txt | 2 +- c++/src/Makefile.in | 2 +- config/lt_vers.am | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- fortran/src/Makefile.in | 2 +- hl/c++/src/Makefile.in | 2 +- hl/fortran/src/Makefile.in | 2 +- hl/src/Makefile.in | 2 +- release_docs/RELEASE.txt | 2 +- src/H5public.h | 4 ++-- src/Makefile.in | 2 +- vms/src/h5pubconf.h | 6 +++--- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/README.txt b/README.txt index ce92f19..4d9f7ad 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.213 currently under development +HDF5 version 1.9.214 currently under development Please refer to the release_docs/INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 99f4790..097cba0 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -683,7 +683,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 # This is our main target diff --git a/config/lt_vers.am b/config/lt_vers.am index 8acd54a..c15af62 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 = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/configure b/configure index b10e95a..02682cc 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.9.213. +# Generated by GNU Autoconf 2.69 for HDF5 1.9.214. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.213' -PACKAGE_STRING='HDF5 1.9.213' +PACKAGE_VERSION='1.9.214' +PACKAGE_STRING='HDF5 1.9.214' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1489,7 +1489,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.213 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.214 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1559,7 +1559,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.213:";; + short | recursive ) echo "Configuration of HDF5 1.9.214:";; esac cat <<\_ACEOF @@ -1752,7 +1752,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.213 +HDF5 configure 1.9.214 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2846,7 +2846,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.213, which was +It was created by HDF5 $as_me 1.9.214, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3717,7 +3717,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.213' + VERSION='1.9.214' cat >>confdefs.h <<_ACEOF @@ -31732,7 +31732,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.9.213 +HDF5 config.lt 1.9.214 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -33874,7 +33874,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.213, which was +This file was extended by HDF5 $as_me 1.9.214, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33940,7 +33940,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.213 +HDF5 config.status 1.9.214 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index f8df5ac..ef84667 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.213], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.214], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADER([src/H5config.h]) diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 0b8e6c1..d191614 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -734,7 +734,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 AM_FCLIBS = $(LIBHDF5) diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index c95054e..cc3b725 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -675,7 +675,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 # This is our main target diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 8c5f9e0..4ed030a 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -690,7 +690,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 # Our main target, the high-level fortran library diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 2ecb585..5ad515f 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -671,7 +671,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 # This library is our main target. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index c26950b..430b98b 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.213 currently under development +HDF5 version 1.9.214 currently under development ================================================================================ diff --git a/src/H5public.h b/src/H5public.h index 51fd0ee..2653596 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 213 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 214 /* 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.213" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.214" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/Makefile.in b/src/Makefile.in index 7a1248f..6b21dc3 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -733,7 +733,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 203 +LT_VERS_REVISION = 204 LT_VERS_AGE = 0 # Our main target, the HDF5 library diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index f58f7ca..6c52efa 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -501,7 +501,7 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.213" +#define H5_PACKAGE_STRING "HDF5 1.9.214" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" @@ -510,7 +510,7 @@ #define H5_PACKAGE_URL "" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.213" +#define H5_PACKAGE_VERSION "1.9.214" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "ll" @@ -673,7 +673,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.213" +#define H5_VERSION "1.9.214" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ -- cgit v0.12 From 1b784081847f83b99807021a73673e591f27272f Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Mon, 9 Feb 2015 11:31:28 -0500 Subject: [svn-r26149] Fix potential memory error reported by valgrind in H5D__link_chunk_collective_io. This would occur when performing collective I/O on a dataset with only 1 chunk, and a participating process had nothing to read or write. Tested: jam, koala, ostrich (h5committest) --- src/H5Dmpio.c | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index 58bcc04..01d2288 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -833,39 +833,37 @@ H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *typ * equivalent of compressed contiguous datasets - QAK] */ if(total_chunks == 1) { - H5D_chunk_ud_t udata; /* User data for querying chunk info */ - hsize_t coords[H5O_LAYOUT_NDIMS]; /* Coordinates of chunk in file dataset's dataspace */ H5SL_node_t *chunk_node; /* Pointer to chunk node for selection */ H5S_t *fspace; /* Dataspace describing chunk & selection in it */ H5S_t *mspace; /* Dataspace describing selection in memory corresponding to this chunk */ - /* Initialize the chunk coordinates */ - /* (must be all zero, since there's only one chunk) */ - HDmemset(coords, 0, sizeof(coords)); - - /* Look up address of chunk */ - if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, coords, - io_info->store->chunk.index, &udata) < 0) - HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") - ctg_store.contig.dset_addr = udata.addr; - /* Check for this process having selection in this chunk */ chunk_node = H5SL_first(fm->sel_chunks); if(chunk_node == NULL) { - /* Set the dataspace info for I/O to NULL, this process doesn't have any I/O to perform */ - fspace = mspace = NULL; + /* Set the dataspace info for I/O to NULL, this process doesn't have any I/O to perform */ + fspace = mspace = NULL; + + /* Initialize chunk address */ + ctg_store.contig.dset_addr = 0; } /* end if */ else { - H5D_chunk_info_t *chunk_info; - - /* Get the chunk info, for the selection in the chunk */ - if(NULL == (chunk_info = H5SL_item(chunk_node))) - HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") - - /* Set the dataspace info for I/O */ - fspace = chunk_info->fspace; - mspace = chunk_info->mspace; + H5D_chunk_ud_t udata; /* User data for querying chunk info */ + H5D_chunk_info_t *chunk_info; /* Info for chunk in skiplist */ + + /* Get the chunk info, for the selection in the chunk */ + if(NULL == (chunk_info = (H5D_chunk_info_t *)H5SL_item(chunk_node))) + HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skip list") + + /* Set the dataspace info for I/O */ + fspace = chunk_info->fspace; + mspace = chunk_info->mspace; + + /* Look up address of chunk */ + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, + chunk_info->index, &udata) < 0) + HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk address") + ctg_store.contig.dset_addr = udata.addr; } /* end else */ /* Set up the base storage address for this chunk */ -- cgit v0.12 From ab75986b8c70369cf86efcb42ffaadc5647d51b9 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 12 Feb 2015 16:52:48 -0500 Subject: [svn-r26161] Fix cmake case. Turn on F2003 by default. Set source properties in fortran cmake files. --- CMakeFilters.cmake | 8 ++++---- CMakeInstallation.cmake | 14 +++++++------- CMakeLists.txt | 2 +- config/cmake/HDF5Macros.cmake | 4 ++-- config/cmake/cacheinit.cmake | 2 +- config/cmake/mccacheinit.cmake | 2 +- fortran/src/CMakeLists.txt | 3 ++- fortran/test/CMakeTests.cmake | 2 ++ release_docs/INSTALL_CMake.txt | 8 ++++---- release_docs/INSTALL_Cygwin.txt | 3 +-- src/CMakeLists.txt | 4 ++-- 11 files changed, 27 insertions(+), 25 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index f52b99b..3b9b4f7 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -45,9 +45,9 @@ option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF) if (HDF5_ENABLE_Z_LIB_SUPPORT) if (NOT H5_ZLIB_HEADER) if (NOT ZLIB_USE_EXTERNAL) - FIND_PACKAGE (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}) + find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}) if (NOT ZLIB_FOUND) - FIND_PACKAGE (ZLIB) # Legacy find + find_package (ZLIB) # Legacy find endif (NOT ZLIB_FOUND) endif (NOT ZLIB_USE_EXTERNAL) if (ZLIB_FOUND) @@ -89,9 +89,9 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF) if (HDF5_ENABLE_SZIP_SUPPORT) option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF) if (NOT SZIP_USE_EXTERNAL) - FIND_PACKAGE (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}) + find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}) if (NOT SZIP_FOUND) - FIND_PACKAGE (SZIP) # Legacy find + find_package (SZIP) # Legacy find endif (NOT SZIP_FOUND) endif (NOT SZIP_USE_EXTERNAL) if (SZIP_FOUND) diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake index 095fb4b..04baa2e 100644 --- a/CMakeInstallation.cmake +++ b/CMakeInstallation.cmake @@ -63,9 +63,9 @@ set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR}) #----------------------------------------------------------------------------- # Configure the hdf5-config.cmake file for the build directory #----------------------------------------------------------------------------- -set(INCLUDE_INSTALL_DIR HDF5_INSTALL_INCLUDE_DIR ) -set(SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_INSTALL_CMAKE_DIR}" ) -set(CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) +set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR}) +set (SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_INSTALL_CMAKE_DIR}" ) +set (CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) configure_package_config_file ( ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in "${HDF5_BINARY_DIR}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake" @@ -92,14 +92,14 @@ endif (NOT HDF5_EXTERNALLY_CONFIGURED) #----------------------------------------------------------------------------- # Configure the hdf5-config.cmake file for the install directory #----------------------------------------------------------------------------- -set(INCLUDE_INSTALL_DIR HDF5_INSTALL_INCLUDE_DIR ) -set(SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" ) -set(CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" ) +set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR}) +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" INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}" - PATH_VARS HDF5_INSTALL_INCLUDE_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR + PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR ) if (NOT HDF5_EXTERNALLY_CONFIGURED) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a8b276..2c16d56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -805,7 +805,7 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for if (BUILD_SHARED_LIBS AND APPLE) message (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ") endif (BUILD_SHARED_LIBS AND APPLE) - option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF) + option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON) include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake) if (HDF5_ENABLE_F2003) if (NOT FORTRAN_HAVE_ISO_C_BINDING) diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake index baa18c0..ee9ed84 100644 --- a/config/cmake/HDF5Macros.cmake +++ b/config/cmake/HDF5Macros.cmake @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype) +macro (H5_SET_LIB_OPTIONS libtarget libname libtype) set (LIB_OUT_NAME "${libname}") if (${libtype} MATCHES "SHARED") if (WIN32) @@ -28,4 +28,4 @@ MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype) endif (HDF5_BUILD_WITH_INSTALL_NAME) endif (APPLE) -ENDMACRO (H5_SET_LIB_OPTIONS) +endmacro (H5_SET_LIB_OPTIONS) diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index 2c34e69..e68afe6 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -16,7 +16,7 @@ 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 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" 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) diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index a07e278..af506e6 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -16,7 +16,7 @@ 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 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" 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) diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 5b641d1..06b9bed 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -132,7 +132,6 @@ if (H5_HAVE_PARALLEL) ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpiof.c ) endif (H5_HAVE_PARALLEL) - set_source_files_properties (${f90CStub_C_SRCS} PROPERTIES LANGUAGE C) set (f90CStub_C_HDRS @@ -224,6 +223,7 @@ else (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND) ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.f90 ) endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND) +set_source_files_properties (${f90_F_SRCS} PROPERTIES LANGUAGE Fortran) #----------------------------------------------------------------------------- # Add Main fortran library @@ -255,6 +255,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES FOLDER libraries/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$/include>" ) diff --git a/fortran/test/CMakeTests.cmake b/fortran/test/CMakeTests.cmake index 6a9c535..4df50ad 100644 --- a/fortran/test/CMakeTests.cmake +++ b/fortran/test/CMakeTests.cmake @@ -11,11 +11,13 @@ set_tests_properties (FORTRAN_testhdf5_fortran PROPERTIES PASS_REGULAR_EXPRESSIO #-- Adding test for testhdf5_fortran_1_8 add_test (NAME FORTRAN_testhdf5_fortran_1_8 COMMAND $) set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s") +set_tests_properties (FORTRAN_testhdf5_fortran_1_8 PROPERTIES DEPENDS FORTRAN_testhdf5_fortran) #-- Adding test for fortranlib_test_F03 if (HDF5_ENABLE_F2003) add_test (NAME FORTRAN_fortranlib_test_F03 COMMAND $) set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s") + set_tests_properties (FORTRAN_fortranlib_test_F03 PROPERTIES DEPENDS FORTRAN_testhdf5_fortran_1_8) endif (HDF5_ENABLE_F2003) #-- Adding test for fflush1 diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index b831071..bc11e20 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -379,7 +379,7 @@ These five steps are described in detail below. 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 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" 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) @@ -552,7 +552,7 @@ HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF if (HDF5_BUILD_FORTRAN) - HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF + HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON ---------------- HDF5 Advanced Options --------------------- HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF @@ -714,8 +714,8 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING #set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include") #### fortran #### -### enable Fortran 2003 -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON") +### disable Fortran 2003 +#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF") ### disable Fortran #set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF") diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt index a56895a..2b72cac 100644 --- a/release_docs/INSTALL_Cygwin.txt +++ b/release_docs/INSTALL_Cygwin.txt @@ -71,8 +71,7 @@ Preconditions: http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html. The latest supported public release of SZIP is available from - ftp://ftp.hdfgroup.org/lib-external/szip/2.1. Binary distribution can be - found under ftp://ftp.hdfgroup.org/lib-external/szip/2.1/bin/cygwin + ftp://ftp.hdfgroup.org/lib-external/szip/2.1. 2.3 Additional Utilities diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3ad51b7..51cb84d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -877,8 +877,8 @@ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES option (HDF5_ENABLE_DEBUG_APIS "Turn on debugging in all packages" OFF) if (HDF5_ENABLE_DEBUG_APIS) set_target_properties (${HDF5_LIB_TARGET} PROPERTIES - COMPILE_DEFINITIONS - "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG" + COMPILE_DEFINITIONS + "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG" ) endif (HDF5_ENABLE_DEBUG_APIS) -- cgit v0.12 From d1897cb03820335b1b3be9066fdc848374a09826 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 12 Feb 2015 16:56:21 -0500 Subject: [svn-r26162] Update versions --- release_docs/RELEASE.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 430b98b..4e6c4ce 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1216,23 +1216,23 @@ Supported Platforms (emu) Sun Fortran 95 8.6 SunOS_sparc Sun C++ 5.12 SunOS_sparc - Windows 7 Visual Studio 2008 w/ Intel Fortran 14 (cmake) + Windows 7 Visual Studio 2008 (cmake) Visual Studio 2010 w/ Intel Fortran 14 (cmake) - Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) - Cygwin(CYGWIN_NT-6.1 1.7.32(0.274/5/3) gcc(4.8.3) compiler and gfortran) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran) (cmake and autotools) - Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 14 (cmake) + Windows 7 x64 Visual Studio 2008 (cmake) Visual Studio 2010 w/ Intel Fortran 14 (cmake) - Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake) - Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1 -- cgit v0.12 From 999440cbf807cea1a15bae78b19d1bd660132b64 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 13 Feb 2015 15:57:52 -0500 Subject: [svn-r26170] Fix for HDFFV-8559 Correction of mistyped variable and removed implicit typing for interfaces. --- hl/fortran/src/H5DSff.f90 | 9 +++++ hl/fortran/src/H5IMff.f90 | 12 ++++++ hl/fortran/src/H5LTff.f90 | 100 ++++++++++++++++++++++++++++++++++++++++++++++ hl/fortran/src/H5TBff.f90 | 26 +++++++++++- 4 files changed, 146 insertions(+), 1 deletion(-) diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.f90 index c3ec587..4fbd90a 100644 --- a/hl/fortran/src/H5DSff.f90 +++ b/hl/fortran/src/H5DSff.f90 @@ -63,6 +63,7 @@ CONTAINS INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_SCALE_C'::h5dsset_scale_c !DEC$ENDIF @@ -119,6 +120,7 @@ CONTAINS INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSATTACH_SCALE_C':: h5dsattach_scale_c !DEC$ENDIF @@ -171,6 +173,7 @@ CONTAINS INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSDETACH_SCALE_C':: h5dsdetach_scale_c !DEC$ENDIF @@ -227,6 +230,7 @@ CONTAINS INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached ) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_ATTACHED_C':: h5dsis_attached_c !DEC$ENDIF @@ -291,6 +295,7 @@ CONTAINS INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_SCALE_C':: h5dsis_scale_c !DEC$ENDIF @@ -350,6 +355,7 @@ CONTAINS INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_LABEL_C'::h5dsset_label_c !DEC$ENDIF @@ -407,6 +413,7 @@ CONTAINS INTEGER FUNCTION H5DSget_label_c(did, idx, label, size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_LABEL_C'::h5dsget_label_c !DEC$ENDIF @@ -462,6 +469,7 @@ CONTAINS INTEGER FUNCTION H5DSget_scale_name_c(did, name, size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_SCALE_NAME_C'::h5dsget_scale_name_c !DEC$ENDIF @@ -513,6 +521,7 @@ CONTAINS INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_NUM_SCALES_C':: h5dsget_num_scales_c !DEC$ENDIF diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90 index d78dc06..2a66597 100644 --- a/hl/fortran/src/H5IMff.f90 +++ b/hl/fortran/src/H5IMff.f90 @@ -67,6 +67,7 @@ subroutine h5immake_image_8bit_f(loc_id,& interface integer function h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_8BIT_C'::h5immake_image_8bit_c !DEC$ENDIF @@ -127,6 +128,7 @@ subroutine h5imread_image_f(loc_id,& interface integer function h5imread_image_c(loc_id,namelen,dset_name,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMREAD_IMAGE_C'::h5imread_image_c !DEC$ENDIF @@ -191,6 +193,7 @@ subroutine h5immake_image_24bit_f(loc_id,& interface integer function h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_24BIT_C'::h5immake_image_24bit_c !DEC$ENDIF @@ -265,6 +268,7 @@ subroutine h5imget_image_info_f(loc_id,& interface integer function h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_IMAGE_INFO_C'::h5imget_image_info_c !DEC$ENDIF @@ -326,6 +330,7 @@ integer function h5imis_image_f(loc_id,& interface integer function h5imis_image_c(loc_id,namelen,dset_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_IMAGE_C'::h5imis_image_c !DEC$ENDIF @@ -385,6 +390,7 @@ subroutine h5immake_palette_f(loc_id,& interface integer function h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_PALETTE_C'::h5immake_palette_c !DEC$ENDIF @@ -444,6 +450,7 @@ subroutine h5imlink_palette_f(loc_id,& interface integer function h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMLINK_PALETTE_C'::h5imlink_palette_c !DEC$ENDIF @@ -506,6 +513,7 @@ subroutine h5imunlink_palette_f(loc_id,& interface integer function h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMUNLINK_PALETTE_C'::h5imunlink_palette_c !DEC$ENDIF @@ -567,6 +575,7 @@ subroutine h5imget_npalettes_f(loc_id,& interface integer function h5imget_npalettes_c(loc_id,namelen,dset_name,npals) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_NPALETTES_C'::h5imget_npalettes_c !DEC$ENDIF @@ -627,6 +636,7 @@ subroutine h5imget_palette_info_f(loc_id,& interface integer function h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_INFO_C'::h5imget_palette_info_c !DEC$ENDIF @@ -689,6 +699,7 @@ subroutine h5imget_palette_f(loc_id,& interface integer function h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_C'::h5imget_palette_c !DEC$ENDIF @@ -744,6 +755,7 @@ integer function h5imis_palette_f(loc_id,& interface integer function h5imis_palette_c(loc_id,namelen,dset_name) use h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_PALETTE_C'::h5imis_palette_c !DEC$ENDIF diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 index 0302b61..b06a8fe 100644 --- a/hl/fortran/src/H5LTff.f90 +++ b/hl/fortran/src/H5LTff.f90 @@ -180,6 +180,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT1_C'::h5ltmake_dataset_int1_c !DEC$ENDIF @@ -246,6 +247,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT2_C'::h5ltmake_dataset_int2_c !DEC$ENDIF @@ -313,6 +315,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT3_C'::h5ltmake_dataset_int3_c !DEC$ENDIF @@ -375,6 +378,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT4_C'::h5ltmake_dataset_int4_c !DEC$ENDIF @@ -437,6 +441,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT5_C'::h5ltmake_dataset_int5_c !DEC$ENDIF @@ -499,6 +504,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT6_C'::h5ltmake_dataset_int6_c !DEC$ENDIF @@ -561,6 +567,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT7_C'::h5ltmake_dataset_int7_c !DEC$ENDIF @@ -628,6 +635,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL1_C'::h5ltmake_dataset_fl1_c !DEC$ENDIF @@ -694,6 +702,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL2_C'::h5ltmake_dataset_fl2_c !DEC$ENDIF @@ -761,6 +770,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_c !DEC$ENDIF @@ -823,6 +833,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL4_C'::h5ltmake_dataset_fl4_c !DEC$ENDIF @@ -885,6 +896,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL5_C'::h5ltmake_dataset_fl5_c !DEC$ENDIF @@ -947,6 +959,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL6_C'::h5ltmake_dataset_fl6_c !DEC$ENDIF @@ -1009,6 +1022,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL7_C'::h5ltmake_dataset_fl7_c !DEC$ENDIF @@ -1075,6 +1089,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_c !DEC$ENDIF @@ -1141,6 +1156,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL2_C'::h5ltmake_dataset_dl2_c !DEC$ENDIF @@ -1208,6 +1224,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL3_C'::h5ltmake_dataset_dl3_c !DEC$ENDIF @@ -1270,6 +1287,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL4_C'::h5ltmake_dataset_dl4_c !DEC$ENDIF @@ -1332,6 +1350,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL5_C'::h5ltmake_dataset_dl5_c !DEC$ENDIF @@ -1394,6 +1413,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL6_C'::h5ltmake_dataset_dl6_c !DEC$ENDIF @@ -1456,6 +1476,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL7_C'::h5ltmake_dataset_dl7_c !DEC$ENDIF @@ -1520,6 +1541,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT1_C'::h5ltread_dataset_int1_c !DEC$ENDIF @@ -1583,6 +1605,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT2_C'::h5ltread_dataset_int2_c !DEC$ENDIF @@ -1647,6 +1670,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT3_C'::h5ltread_dataset_int3_c !DEC$ENDIF @@ -1707,6 +1731,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT4_C'::h5ltread_dataset_int4_c !DEC$ENDIF @@ -1767,6 +1792,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT5_C'::h5ltread_dataset_int5_c !DEC$ENDIF @@ -1827,6 +1853,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT6_C'::h5ltread_dataset_int6_c !DEC$ENDIF @@ -1887,6 +1914,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT7_C'::h5ltread_dataset_int7_c !DEC$ENDIF @@ -1951,6 +1979,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL1_C'::h5ltread_dataset_fl1_c !DEC$ENDIF @@ -2015,6 +2044,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL2_C'::h5ltread_dataset_fl2_c !DEC$ENDIF @@ -2079,6 +2109,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL3_C'::h5ltread_dataset_fl3_c !DEC$ENDIF @@ -2139,6 +2170,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL4_C'::h5ltread_dataset_fl4_c !DEC$ENDIF @@ -2199,6 +2231,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL5_C'::h5ltread_dataset_fl5_c !DEC$ENDIF @@ -2259,6 +2292,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL6_C'::h5ltread_dataset_fl6_c !DEC$ENDIF @@ -2319,6 +2353,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL7_C'::h5ltread_dataset_fl7_c !DEC$ENDIF @@ -2383,6 +2418,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL1_C'::h5ltread_dataset_dl1_c !DEC$ENDIF @@ -2446,6 +2482,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL2_C'::h5ltread_dataset_dl2_c !DEC$ENDIF @@ -2510,6 +2547,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL3_C'::h5ltread_dataset_dl3_c !DEC$ENDIF @@ -2570,6 +2608,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL4_C'::h5ltread_dataset_dl4_c !DEC$ENDIF @@ -2630,6 +2669,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL5_C'::h5ltread_dataset_dl5_c !DEC$ENDIF @@ -2690,6 +2730,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL6_C'::h5ltread_dataset_dl6_c !DEC$ENDIF @@ -2750,6 +2791,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL7_C'::h5ltread_dataset_dl7_c !DEC$ENDIF @@ -2813,6 +2855,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT1_C'::h5ltmake_dataset_nint1_c !DEC$ENDIF @@ -2878,6 +2921,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT2_C'::h5ltmake_dataset_nint2_c !DEC$ENDIF @@ -2945,6 +2989,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT3_C'::h5ltmake_dataset_nint3_c !DEC$ENDIF @@ -3007,6 +3052,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT4_C'::h5ltmake_dataset_nint4_c !DEC$ENDIF @@ -3069,6 +3115,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT5_C'::h5ltmake_dataset_nint5_c !DEC$ENDIF @@ -3131,6 +3178,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT6_C'::h5ltmake_dataset_nint6_c !DEC$ENDIF @@ -3193,6 +3241,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT7_C'::h5ltmake_dataset_nint7_c !DEC$ENDIF @@ -3257,6 +3306,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_c !DEC$ENDIF @@ -3321,6 +3371,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL2_C'::h5ltmake_dataset_nfl2_c !DEC$ENDIF @@ -3386,6 +3437,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL3_C'::h5ltmake_dataset_nfl3_c !DEC$ENDIF @@ -3447,6 +3499,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL4_C'::h5ltmake_dataset_nfl4_c !DEC$ENDIF @@ -3508,6 +3561,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL5_C'::h5ltmake_dataset_nfl5_c !DEC$ENDIF @@ -3569,6 +3623,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL6_C'::h5ltmake_dataset_nfl6_c !DEC$ENDIF @@ -3630,6 +3685,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL7_C'::h5ltmake_dataset_nfl7_c !DEC$ENDIF @@ -3696,6 +3752,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL1_C'::h5ltmake_dataset_ndl1_c !DEC$ENDIF @@ -3762,6 +3819,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL2_C'::h5ltmake_dataset_ndl2_c !DEC$ENDIF @@ -3827,6 +3885,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL3_C'::h5ltmake_dataset_ndl3_c !DEC$ENDIF @@ -3888,6 +3947,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL4_C'::h5ltmake_dataset_ndl4_c !DEC$ENDIF @@ -3949,6 +4009,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL5_C'::h5ltmake_dataset_ndl5_c !DEC$ENDIF @@ -4010,6 +4071,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL6_C'::h5ltmake_dataset_ndl6_c !DEC$ENDIF @@ -4071,6 +4133,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL7_C'::h5ltmake_dataset_ndl7_c !DEC$ENDIF @@ -4134,6 +4197,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT1_C'::h5ltread_dataset_nint1_c !DEC$ENDIF @@ -4197,6 +4261,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT2_C'::h5ltread_dataset_nint2_c !DEC$ENDIF @@ -4259,6 +4324,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT3_C'::h5ltread_dataset_nint3_c !DEC$ENDIF @@ -4317,6 +4383,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT4_C'::h5ltread_dataset_nint4_c !DEC$ENDIF @@ -4375,6 +4442,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT5_C'::h5ltread_dataset_nint5_c !DEC$ENDIF @@ -4433,6 +4501,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT6_C'::h5ltread_dataset_nint6_c !DEC$ENDIF @@ -4491,6 +4560,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT7_C'::h5ltread_dataset_nint7_c !DEC$ENDIF @@ -4554,6 +4624,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL1_C'::h5ltread_dataset_nfl1_c !DEC$ENDIF @@ -4617,6 +4688,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL2_C'::h5ltread_dataset_nfl2_c !DEC$ENDIF @@ -4679,6 +4751,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL3_C'::h5ltread_dataset_nfl3_c !DEC$ENDIF @@ -4737,6 +4810,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL4_C'::h5ltread_dataset_nfl4_c !DEC$ENDIF @@ -4795,6 +4869,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL5_C'::h5ltread_dataset_nfl5_c !DEC$ENDIF @@ -4853,6 +4928,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL6_C'::h5ltread_dataset_nfl6_c !DEC$ENDIF @@ -4911,6 +4987,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL7_C'::h5ltread_dataset_nfl7_c !DEC$ENDIF @@ -4973,6 +5050,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL1_C'::h5ltread_dataset_ndl1_c !DEC$ENDIF @@ -5036,6 +5114,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL2_C'::h5ltread_dataset_ndl2_c !DEC$ENDIF @@ -5098,6 +5177,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL3_C'::h5ltread_dataset_ndl3_c !DEC$ENDIF @@ -5156,6 +5236,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL4_C'::h5ltread_dataset_ndl4_c !DEC$ENDIF @@ -5214,6 +5295,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL5_C'::h5ltread_dataset_ndl5_c !DEC$ENDIF @@ -5272,6 +5354,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL6_C'::h5ltread_dataset_ndl6_c !DEC$ENDIF @@ -5330,6 +5413,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL7_C'::h5ltread_dataset_ndl7_c !DEC$ENDIF @@ -5391,6 +5475,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_STRING_C'::h5ltmake_dataset_string_c !DEC$ENDIF @@ -5449,6 +5534,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_STRING_C'::h5ltread_dataset_string_c !DEC$ENDIF @@ -5518,6 +5604,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_INT_C'::h5ltset_attribute_int_c !DEC$ENDIF @@ -5584,6 +5671,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_FLOAT_C'::h5ltset_attribute_float_c !DEC$ENDIF @@ -5650,6 +5738,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_DOUBLE_C'::h5ltset_attribute_double_c !DEC$ENDIF @@ -5716,6 +5805,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_STRING_C'::h5ltset_attribute_string_c !DEC$ENDIF @@ -5783,6 +5873,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INT_C'::h5ltget_attribute_int_c !DEC$ENDIF @@ -5847,6 +5938,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_FLOAT_C'::h5ltget_attribute_float_c !DEC$ENDIF @@ -5910,6 +6002,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_DOUBLE_C'::h5ltget_attribute_double_c !DEC$ENDIF @@ -5974,6 +6067,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_STRING_C'::h5ltget_attribute_string_c !DEC$ENDIF @@ -6041,6 +6135,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_NDIMS_C'::h5ltget_dataset_ndims_c !DEC$ENDIF @@ -6096,6 +6191,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTFIND_DATASET_C'::h5ltfind_dataset_c !DEC$ENDIF @@ -6156,6 +6252,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_INFO_C'::h5ltget_dataset_info_c !DEC$ENDIF @@ -6223,6 +6320,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_NDIMS_C'::h5ltget_attribute_ndims_c !DEC$ENDIF @@ -6291,6 +6389,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INFO_C'::h5ltget_attribute_info_c !DEC$ENDIF @@ -6353,6 +6452,7 @@ CONTAINS INTERFACE INTEGER FUNCTION h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTPATH_VALID_C'::h5ltpath_valid_c !DEC$ENDIF diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.f90 index 36e13f9..76bf77c 100644 --- a/hl/fortran/src/H5TBff.f90 +++ b/hl/fortran/src/H5TBff.f90 @@ -138,6 +138,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& field_names) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBMAKE_TABLE_C'::h5tbmake_table_c !DEC$ENDIF @@ -157,7 +158,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& INTEGER :: namelen ! name length INTEGER :: namelen1 ! name length INTEGER, DIMENSION(nfields) :: char_len_field_names ! field name's lengths - INTEGER :: max_char_size ! character len of field names + INTEGER :: max_char_size_field_names ! character len of field names END FUNCTION h5tbmake_table_c END INTERFACE @@ -239,6 +240,7 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_INT_C'::h5tbwrite_field_name_int_c !DEC$ENDIF @@ -314,6 +316,7 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_FL_C'::h5tbwrite_field_name_fl_c !DEC$ENDIF @@ -391,6 +394,7 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_DL_C'::h5tbwrite_field_name_dl_c !DEC$ENDIF @@ -466,6 +470,7 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_ST_C'::h5tbwrite_field_name_st_c !DEC$ENDIF @@ -542,6 +547,7 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_INT_C'::h5tbread_field_name_int_c !DEC$ENDIF @@ -617,6 +623,7 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_FL_C'::h5tbread_field_name_fl_c !DEC$ENDIF @@ -692,6 +699,7 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_DL_C'::h5tbread_field_name_dl_c !DEC$ENDIF @@ -767,6 +775,7 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_ST_C'::h5tbread_field_name_st_c !DEC$ENDIF @@ -842,6 +851,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_INT_C'::h5tbwrite_field_index_int_c !DEC$ENDIF @@ -913,6 +923,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_FL_C'::h5tbwrite_field_index_fl_c !DEC$ENDIF @@ -986,6 +997,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_DL_C'::h5tbwrite_field_index_dl_c !DEC$ENDIF @@ -1057,6 +1069,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_ST_C'::h5tbwrite_field_index_st_c !DEC$ENDIF @@ -1129,6 +1142,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_INT_C'::h5tbread_field_index_int_c !DEC$ENDIF @@ -1200,6 +1214,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_FL_C'::h5tbread_field_index_fl_c !DEC$ENDIF @@ -1271,6 +1286,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_DL_C'::h5tbread_field_index_dl_c !DEC$ENDIF @@ -1342,6 +1358,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& start,nrecords,type_size,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_ST_C'::h5tbread_field_index_st_c !DEC$ENDIF @@ -1413,6 +1430,7 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_INT_C'::h5tbinsert_field_int_c !DEC$ENDIF @@ -1486,6 +1504,7 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_FL_C'::h5tbinsert_field_fl_c !DEC$ENDIF @@ -1559,6 +1578,7 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_DL_C'::h5tbinsert_field_dl_c !DEC$ENDIF @@ -1633,6 +1653,7 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& field_type,field_index,buf) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_ST_C'::h5tbinsert_field_st_c !DEC$ENDIF @@ -1700,6 +1721,7 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& INTEGER FUNCTION h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBDELETE_FIELD_C'::h5tbdelete_field_c !DEC$ENDIF @@ -1764,6 +1786,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& INTERFACE INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_TABLE_INFO_C'::h5tbget_table_info_c !DEC$ENDIF @@ -1837,6 +1860,7 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& field_sizes,field_offsets,type_size,namelen2, maxlen, field_names, c_maxlen_out) USE h5global + IMPLICIT NONE !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_FIELD_INFO_C'::h5tbget_field_info_c !DEC$ENDIF -- cgit v0.12 From 7fcba33763465fdf956a6dbf2b666cf28d68b08c Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 13 Feb 2015 16:32:44 -0500 Subject: [svn-r26172] Fix for: HDFFV-8685 -- Have one include file to use for HL libraries added hdf5.h to hdf5_hl.h --- hl/examples/ex_table_08.c | 1 - hl/examples/ex_table_09.c | 1 - hl/examples/ex_table_10.c | 1 - hl/examples/ex_table_11.c | 1 - hl/examples/ptExampleFL.c | 1 - hl/src/hdf5_hl.h | 2 +- hl/test/dectris_hl_perf.c | 1 - 7 files changed, 1 insertion(+), 7 deletions(-) diff --git a/hl/examples/ex_table_08.c b/hl/examples/ex_table_08.c index 4078bea..bd3a3e1 100644 --- a/hl/examples/ex_table_08.c +++ b/hl/examples/ex_table_08.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include diff --git a/hl/examples/ex_table_09.c b/hl/examples/ex_table_09.c index 7ba0aa1..c50e20d 100644 --- a/hl/examples/ex_table_09.c +++ b/hl/examples/ex_table_09.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include diff --git a/hl/examples/ex_table_10.c b/hl/examples/ex_table_10.c index 20543c2..73a9431 100644 --- a/hl/examples/ex_table_10.c +++ b/hl/examples/ex_table_10.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include diff --git a/hl/examples/ex_table_11.c b/hl/examples/ex_table_11.c index 872fa4e..6746945 100644 --- a/hl/examples/ex_table_11.c +++ b/hl/examples/ex_table_11.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include diff --git a/hl/examples/ptExampleFL.c b/hl/examples/ptExampleFL.c index bbd0bf6..37b5035 100644 --- a/hl/examples/ptExampleFL.c +++ b/hl/examples/ptExampleFL.c @@ -13,7 +13,6 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#include "hdf5.h" #include "hdf5_hl.h" #include diff --git a/hl/src/hdf5_hl.h b/hl/src/hdf5_hl.h index e9e3bf1..6c363f1 100644 --- a/hl/src/hdf5_hl.h +++ b/hl/src/hdf5_hl.h @@ -21,7 +21,7 @@ #ifndef _HDF5_HL_H #define _HDF5_HL_H - +#include "hdf5.h" /* hdf5 main library */ #include "H5DOpublic.h" /* dataset optimization */ #include "H5DSpublic.h" /* dimension scales */ #include "H5LTpublic.h" /* lite */ diff --git a/hl/test/dectris_hl_perf.c b/hl/test/dectris_hl_perf.c index a3e382a..d62926a 100644 --- a/hl/test/dectris_hl_perf.c +++ b/hl/test/dectris_hl_perf.c @@ -18,7 +18,6 @@ * */ -#include "hdf5.h" #include "hdf5_hl.h" #include #include -- cgit v0.12 From d0c224ae188829b96d6ea08bddcf49bb7d3fbe11 Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Fri, 13 Feb 2015 19:24:50 -0500 Subject: [svn-r26173] HDF5-9117: if testing for proper working 'tr' command is needed. Long time ago, the tr command in some platform does not work properly and this test was added to detect broken tr and abort the configure process. We are not aware of such broken tr command in current systems and decided to retire this test. The setup of ${TR} is still needed as it is used to process DEBUG_PKG. Tested: h5committested plus using "./configure --enable-debug=all" in jam. --- configure | 8 +------- configure.ac | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/configure b/configure index 02682cc..51eb040 100755 --- a/configure +++ b/configure @@ -7864,8 +7864,7 @@ fi ## ---------------------------------------------------------------------- -## Check that the tr utility is working properly. - +## 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 @@ -7907,11 +7906,6 @@ fi -TR_TEST=`echo Test | ${TR} ${as_cr_letters}"," ${as_cr_LETTERS}" "` -if test "X${TR_TEST}" != "XTEST"; then - as_fn_error $? "tr program doesn't work" "$LINENO" 5 -fi - ## ---------------------------------------------------------------------- ## Check that time can be used with srcdir. This is okay on most systems, diff --git a/configure.ac b/configure.ac index ef84667..47d528b 100644 --- a/configure.ac +++ b/configure.ac @@ -749,15 +749,9 @@ AC_PROG_INSTALL ## ---------------------------------------------------------------------- -## Check that the tr utility is working properly. - +## Set up ${TR} which is used to process DEBUG_PKG. AC_PATH_PROG([TR], [tr]) -TR_TEST=`echo Test | ${TR} ${as_cr_letters}"," ${as_cr_LETTERS}" "` -if test "X${TR_TEST}" != "XTEST"; then - AC_MSG_ERROR([tr program doesn't work]) -fi - ## ---------------------------------------------------------------------- ## Check that time can be used with srcdir. This is okay on most systems, -- cgit v0.12 From 9a376e4ee9e4b0d03331fbdcd74ecb0a41a2573a Mon Sep 17 00:00:00 2001 From: HDF Tester Date: Sun, 15 Feb 2015 06:13:34 -0500 Subject: [svn-r26177] Snapshot version 1.9 release 214 --- README.txt | 2 +- c++/src/Makefile.in | 2 +- config/lt_vers.am | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- fortran/src/Makefile.in | 2 +- hl/c++/src/Makefile.in | 2 +- hl/fortran/src/Makefile.in | 2 +- hl/src/Makefile.in | 2 +- release_docs/RELEASE.txt | 2 +- src/H5public.h | 4 ++-- src/Makefile.in | 2 +- vms/src/h5pubconf.h | 6 +++--- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/README.txt b/README.txt index 4d9f7ad..bb9bc71 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.214 currently under development +HDF5 version 1.9.215 currently under development Please refer to the release_docs/INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 097cba0..7cc77b1 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -683,7 +683,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This is our main target diff --git a/config/lt_vers.am b/config/lt_vers.am index c15af62..d442ca9 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 = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/configure b/configure index 51eb040..0bb40ac 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.9.214. +# Generated by GNU Autoconf 2.69 for HDF5 1.9.215. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.214' -PACKAGE_STRING='HDF5 1.9.214' +PACKAGE_VERSION='1.9.215' +PACKAGE_STRING='HDF5 1.9.215' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1489,7 +1489,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.214 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.215 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1559,7 +1559,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.214:";; + short | recursive ) echo "Configuration of HDF5 1.9.215:";; esac cat <<\_ACEOF @@ -1752,7 +1752,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.214 +HDF5 configure 1.9.215 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2846,7 +2846,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.214, which was +It was created by HDF5 $as_me 1.9.215, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3717,7 +3717,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.214' + VERSION='1.9.215' cat >>confdefs.h <<_ACEOF @@ -31726,7 +31726,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.9.214 +HDF5 config.lt 1.9.215 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -33868,7 +33868,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.214, which was +This file was extended by HDF5 $as_me 1.9.215, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33934,7 +33934,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.214 +HDF5 config.status 1.9.215 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 47d528b..fb81e73 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.214], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.215], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADER([src/H5config.h]) diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index d191614..3e034ea 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -734,7 +734,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 AM_FCLIBS = $(LIBHDF5) diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index cc3b725..a93d495 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -675,7 +675,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This is our main target diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 4ed030a..3963a95 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -690,7 +690,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # Our main target, the high-level fortran library diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 5ad515f..aaf90ab 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -671,7 +671,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # This library is our main target. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 4e6c4ce..23b2000 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.214 currently under development +HDF5 version 1.9.215 currently under development ================================================================================ diff --git a/src/H5public.h b/src/H5public.h index 2653596..673aa6f 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 214 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 215 /* 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.214" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.215" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/Makefile.in b/src/Makefile.in index 6b21dc3..46d6625 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -733,7 +733,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 204 +LT_VERS_REVISION = 205 LT_VERS_AGE = 0 # Our main target, the HDF5 library diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index 6c52efa..6cb2612 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -501,7 +501,7 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.214" +#define H5_PACKAGE_STRING "HDF5 1.9.215" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" @@ -510,7 +510,7 @@ #define H5_PACKAGE_URL "" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.214" +#define H5_PACKAGE_VERSION "1.9.215" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "ll" @@ -673,7 +673,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.214" +#define H5_VERSION "1.9.215" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ -- cgit v0.12 From 74fbb9e32794c315bf14a7c29c42c25a6ca2f5f3 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Mon, 16 Feb 2015 11:17:03 -0500 Subject: [svn-r26180] merge configure fixes for HDFFV-9068,9069,9096,9097,9135 from autotools_rework branch: - Remove Infering parallel compilers (C and Fortran) from configure.ac - Remove restriction to build shared with parallel - Cleanup parallel sections in configure.ac - remove large file support checks - MPE fixes. tested with h5committest. --- Makefile.in | 1 - c++/Makefile.in | 1 - c++/examples/Makefile.in | 1 - c++/src/Makefile.in | 1 - c++/test/Makefile.in | 1 - config/cmake/libhdf5.settings.cmake.in | 1 - configure | 920 +++------------------------------ configure.ac | 341 ++---------- examples/Makefile.in | 1 - fortran/Makefile.in | 1 - fortran/examples/Makefile.in | 1 - fortran/src/Makefile.in | 1 - fortran/test/Makefile.in | 1 - fortran/testpar/Makefile.in | 1 - hl/Makefile.in | 1 - hl/c++/Makefile.in | 1 - hl/c++/examples/Makefile.in | 1 - hl/c++/src/Makefile.in | 1 - hl/c++/test/Makefile.in | 1 - hl/examples/Makefile.in | 1 - hl/fortran/Makefile.in | 1 - hl/fortran/examples/Makefile.in | 1 - hl/fortran/src/Makefile.in | 1 - hl/fortran/test/Makefile.in | 1 - hl/src/Makefile.in | 1 - hl/test/Makefile.in | 1 - hl/tools/Makefile.in | 1 - hl/tools/gif2h5/Makefile.in | 1 - src/H5config.h.in | 12 - src/H5private.h | 37 +- src/Makefile.in | 1 - src/libhdf5.settings.in | 1 - test/Makefile.in | 1 - testpar/Makefile.in | 1 - tools/Makefile.in | 1 - tools/h5copy/Makefile.in | 1 - tools/h5diff/Makefile.in | 1 - tools/h5dump/Makefile.in | 1 - tools/h5import/Makefile.in | 1 - tools/h5jam/Makefile.in | 1 - tools/h5ls/Makefile.in | 1 - tools/h5repack/Makefile.in | 1 - tools/h5stat/Makefile.in | 1 - tools/lib/Makefile.in | 1 - tools/misc/Makefile.in | 1 - tools/perform/Makefile.in | 1 - 46 files changed, 128 insertions(+), 1224 deletions(-) diff --git a/Makefile.in b/Makefile.in index 670bbde..37091cd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -328,7 +328,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/Makefile.in b/c++/Makefile.in index de87fa5..e5aa783 100644 --- a/c++/Makefile.in +++ b/c++/Makefile.in @@ -488,7 +488,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index 3403db4..4841f59 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -436,7 +436,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 7cc77b1..282d740 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -502,7 +502,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in index 49c08e4..c8edd4d 100644 --- a/c++/test/Makefile.in +++ b/c++/test/Makefile.in @@ -493,7 +493,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in index 0c0befa..a036ff8 100644 --- a/config/cmake/libhdf5.settings.cmake.in +++ b/config/cmake/libhdf5.settings.cmake.in @@ -65,4 +65,3 @@ Clear file buffers before write: @HDF5_Enable_Clear_File_Buffers@ Function Stack Tracing: @HDF5_ENABLE_CODESTACK@ Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@ Optimization Instrumentation: @HDF5_Enable_Instrument@ - Large File Support (LFS): @HDF5_ENABLE_LARGE_FILE@ diff --git a/configure b/configure index 0bb40ac..aa3f60c 100755 --- a/configure +++ b/configure @@ -787,7 +787,6 @@ DIRECT_VFD HAVE_DMALLOC CODESTACK INSTRUMENT -LARGEFILE HDF5_HL CXX HDF_CXX @@ -905,7 +904,6 @@ enable_libtool_lock enable_static_exec enable_sharedlib_rpath enable_production -enable_largefile with_fnord with_dmalloc with_zlib @@ -1591,7 +1589,6 @@ Optional Features: --disable-sharedlib-rpath Disable use of the '=Wl,-rpath' linker option --enable-production Determines how to run the compiler. - --disable-largefile omit support for large files --enable-threadsafe Enable thread-safe capability --enable-debug=all Turn on debugging in all packages. One may also specify a comma-separated list of package names @@ -4050,7 +4047,6 @@ $as_echo "done" >&6; } ## HDF_CXX: whether C++ is enabled. Default no. ## CXX: C++ compiler. ## HDF5_HL: whether high-level library is enabled. Default is yes. -## LARGEFILE: whether largefile support is enabled. Default yes. ## INSTRUMENT: whether INSTRUMENT is enabled. No default set here. ## CODESTACK: whether CODESTACK is enabled. Default no. ## HAVE_DMALLOC: whether system has dmalloc support. Default no. @@ -4071,7 +4067,6 @@ $as_echo "done" >&6; } HDF_CXX=no HDF_CXX=no HDF5_HL=yes - LARGEFILE=yes CODESTACK=no HAVE_DMALLOC=no @@ -7935,16 +7930,14 @@ fi ## a parallel library even if configure wasn't ## able to find some header file or library that ## might be required. This is defined if the -## compiler looks like a parallel compiler (e.g., -## mpicc or mpcc) or if the user explicitly states +## user explicitly states ## that a parallel library is being built by supplying ## the `--enable-parallel' configure switch. ## ## PARALLEL -- This variable is set to a non-null value if -## configure thinks we're compiling a parallel -## version of the library. +## we're building a parallel version of the library. ## -## RUNSERIAL -- This is a command which will be prepended to +## RUNSERIAL -- This is a command which will be prepended to ## the executable name to run the executable using ## a single process. For serial versions of the ## library this will normally be empty. For parallel @@ -7970,146 +7963,6 @@ fi ## ---------------------------------------------------------------------- -## If the compiler is obviously a parallel compiler then we're building -## a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, -## the name of the compiler might tell us how to run the resulting -## executable. For `mpicc' the executable should be run with `mpiexec' from -## the same directory as mpicc if it exists. -## -case "$CC_BASENAME" in - mpicc) - ## The mpich compiler. Use mpiexec from the same directory if it - ## exists. - PARALLEL=mpicc - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5 -$as_echo_n "checking for mpiexec... " >&6; } - - ## Find the path where mpicc is located. - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5 -$as_echo "$path/mpiexec" >&6; } - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - fi - ;; - - mpcc|mpcc_r) - ## The IBM compiler - PARALLEL="$CC_BASENAME" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; -esac - -## ---------------------------------------------------------------------- -## If the Fortran compiler is obviously a parallel compiler then we're -## building a parallel version of hdf5 and should define HAVE_PARALLEL. -## Furthermore, the name of the compiler might tell us how to run the -## resulting executable. For `mpif90' the executable should be run with -## `mpiexec' from the same directory as mpif90 if it exists. -## - -if test "X$HDF_FORTRAN" = "Xyes" ; then - ## Change to the Fortran 90 language - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - case "$FC" in - *mpif90*) - ## The Fortran mpich compiler. Use mpiexec from the same directory - ## if it exists. - PARALLEL=mpif90 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpiexec" >&5 -$as_echo_n "checking for mpiexec... " >&6; } - - ## Find the path where mpif90 is located. - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $path/mpiexec" >&5 -$as_echo "$path/mpiexec" >&6; } - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - ## The IBM compiler - PARALLEL="$FC" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; - esac - - ## Change to the C language - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi - -## ----------------------------------------------------------------------------- -## If shared libraries are being used with parallel, disable them, unless the -## user explicity enables them via the '--enable-shared' option. - -if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries disabled in parallel' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries explicitly enabled by user' -elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries disabled when a parallel compiler is being used' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries explicitly enabled by user' -fi - -## ---------------------------------------------------------------------- ## Fortran libraries are not currently supported on Mac. Disable them. ## (this is overridable with --enable-unsupported). ## @@ -23226,92 +23079,15 @@ $as_echo "no" >&6; } fi ## ---------------------------------------------------------------------- -## Test for Largefile support. -## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if configure should try to set up large file support" >&5 -$as_echo_n "checking if configure should try to set up large file support... " >&6; } - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : - enableval=$enable_largefile; -fi - - -## If largefile support is enabled, then set up appropriate compiler options. -if test "$enable_largefile" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - ## Check for needed compiler options. This check is pulled drectly - ## from autoconf's AC_SYS_LARGEFILE macro, as of Autoconf v2.65. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if ${ac_cv_sys_largefile_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - ## IRIX 6.2 and later do not support large files by default, - ## so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -#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 () -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO"; then : - break -fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - ## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines - ## that might need to be set for largefile support to behave - ## correctly. This macro is defined in acsite.m4 and overrides - ## the version provided by Autoconf (as of v2.65). The custom - ## macro additionally adds the appropriate defines to AM_CPPFLAGS - ## so that later configure checks have them visible. - - ## Check for _FILE_OFFSET_BITS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines +## that might need to be set for largefile support to behave +## correctly. This macro is defined in acsite.m4 and overrides +## the version provided by Autoconf (as of v2.65). The custom +## macro additionally adds the appropriate defines to AM_CPPFLAGS +## so that later configure checks have them visible. + +## Check for _FILE_OFFSET_BITS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 @@ -23397,9 +23173,9 @@ _ACEOF esac rm -rf conftest* - ## Check for _LARGE_FILES - if test "$ac_cv_sys_file_offset_bits" = unknown; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +## Check for _LARGE_FILES +if test "$ac_cv_sys_file_offset_bits" = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 @@ -23484,68 +23260,6 @@ _ACEOF AM_CPPFLAGS="-D_LARGE_FILES=$ac_cv_sys_large_files $AM_CPPFLAGS";; esac rm -rf conftest* - fi - - ## Now actually test to see if we can create large files after we've - ## checked for any needed defines. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if large (64-bit) files are supported on this system." >&5 -$as_echo_n "checking if large (64-bit) files are supported on this system.... " >&6; } - if ${hdf5_cv_have_lfs+:} 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 - #include - #include - #include - #define BIG_FILE (off_t)0x80000000UL - int main(void) { - int fd; - if ((fd=open("test.conf", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0) exit(1); - if (lseek(fd, BIG_FILE, SEEK_SET)!=BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (lseek(fd, 2*BIG_FILE, SEEK_SET) != 2*BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (unlink("test.conf") < 0) exit(1); - exit(0); - } - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - hdf5_cv_have_lfs=yes -else - hdf5_cv_have_lfs=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 "X${hdf5_cv_have_lfs}" = "Xyes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - LARGEFILE="yes" - fi - if test "X${hdf5_cv_have_lfs}" = "Xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - LARGEFILE="no" - fi - -else - LARGEFILE="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi ## ---------------------------------------------------------------------- @@ -23553,11 +23267,9 @@ fi ## case "$host_cpu-$host_vendor-$host_os" in *linux*) - ## If largefile support is enabled, then make available various - ## LFS-related routines using the following _LARGEFILE*_SOURCE macros. - if test "X$LARGEFILE" != "Xno"; then - AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" - fi + ## Make available various LFS-related routines using the following + ## _LARGEFILE*_SOURCE macros. + AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" ## Add POSIX support on Linux systems, so defines ## __USE_POSIX, which is required to get the prototype for fdopen @@ -28204,10 +27916,7 @@ rm -f confcache ## What header files and libraries do we have to look for for parallel ## support? For the most part, search paths are already specified with -## CPPFLAGS and LDFLAGS or are known to the compiler. If the user says -## `--disable-parallel' but specifies a known parallel compiler (like mpicc -## or mpcc) then parallel support is enabled but configure doesn't search -## for any parallel header files or libraries. +## CPPFLAGS and LDFLAGS or are known to the compiler. ## # Check whether --enable-parallel was given. if test "${enable_parallel+set}" = set; then : @@ -28232,26 +27941,11 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## It's possible to build in parallel by specifying a parallel compiler -## without using the --enable-parallel flag. This isn't allowed with -## C++ or threadsafe, either, unless the --enable-unsupported flag -## has also been specified. -if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then - if test "X${PARALLEL}" != "X" -a "X${enable_cxx}" = "Xyes" ; then - as_fn_error $? "An MPI compiler is being used; --enable-cxx is not allowed. Use --enable-unsupported to override this error." "$LINENO" 5 - fi - if test "X${PARALLEL}" != "X" -a "X${THREADSAFE}" = "Xyes"; then - as_fn_error $? "An MPI compiler is being used; --enable-threadsafe is not allowed. Use --enable-unsupported to override this error." "$LINENO" 5 - fi -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for parallel support files" >&5 $as_echo_n "checking for parallel support files... " >&6; } case "X-$enable_parallel" in X-|X-no|X-none) - ## Either we are not compiling for parallel or the header and - ## library files and locations are known to the compiler (this is - ## the case for a correct installation of mpicc for instance). + ## We are not compiling for parallel. { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipped" >&5 $as_echo "skipped" >&6; } ;; @@ -28263,47 +27957,12 @@ $as_echo "skipped" >&6; } $as_echo "provided by compiler" >&6; } PARALLEL=yes - ## Try link a simple MPI program. If fail, try again with -lmpi and - ## -lmpich. + ## Try link a simple MPI program. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO C program can be linked" >&5 +$as_echo_n "checking whether a simple MPI-IO C program can be linked... " >&6; } 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 () -{ -MPI_Init() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 -$as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_Init (); +#include #ifdef FC_DUMMY_MAIN #ifndef FC_DUMMY_MAIN_EQ_F77 # ifdef __cplusplus @@ -28315,314 +27974,67 @@ char MPI_Init (); int main () { -return MPI_Init (); + MPI_Init(0, (void *)0); + MPI_File_open(0, (void *)0, 0, 0, (void *)0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpi_MPI_Init=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - ac_cv_lib_mpi_MPI_Init=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO C program" "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 -$as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPI 1 -_ACEOF - LIBS="-lmpi $LIBS" + if test "X$HDF_FORTRAN" = "Xyes"; then + ## Change to the Fortran 90 language + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 -$as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpich $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ## Try link a simple MPI program. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO Fortran program can be linked" >&5 +$as_echo_n "checking whether a simple MPI-IO Fortran program can be linked... " >&6; } + cat > conftest.$ac_ext <<_ACEOF -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_Init (); -#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 () -{ -return MPI_Init (); - ; - return 0; -} + program main + include 'mpif.h' + integer:: ierr + call mpi_file_open( ierr ) + end _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpich_MPI_Init=yes +if ac_fn_fc_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - ac_cv_lib_mpich_MPI_Init=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "unable to link a simple MPI-IO Fortran program" "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 -$as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPICH 1 -_ACEOF - LIBS="-lmpich $LIBS" + ## Change to the C language + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -else - PARALLEL=no -fi + fi -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - 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 () -{ -MPI_File_open() - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_File_open in -lmpio" >&5 -$as_echo_n "checking for MPI_File_open in -lmpio... " >&6; } -if ${ac_cv_lib_mpio_MPI_File_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpio $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPI_File_open (); -#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 () -{ -return MPI_File_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_mpio_MPI_File_open=yes -else - ac_cv_lib_mpio_MPI_File_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpio_MPI_File_open" >&5 -$as_echo "$ac_cv_lib_mpio_MPI_File_open" >&6; } -if test "x$ac_cv_lib_mpio_MPI_File_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPIO 1 -_ACEOF - - LIBS="-lmpio $LIBS" - -else - PARALLEL=no -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - - if test "X$HDF_FORTRAN" = "Xyes"; then - ## Change to the Fortran 90 language - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - ## Try link a simple MPI program. If fail, try again with -lmpi. - cat > conftest.$ac_ext <<_ACEOF - - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi_file_open in -lmpi" >&5 -$as_echo_n "checking for mpi_file_open in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_mpi_file_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call mpi_file_open - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - ac_cv_lib_mpi_mpi_file_open=yes -else - ac_cv_lib_mpi_mpi_file_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_mpi_file_open" >&5 -$as_echo "$ac_cv_lib_mpi_mpi_file_open" >&6; } -if test "x$ac_cv_lib_mpi_mpi_file_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPI 1 -_ACEOF - - LIBS="-lmpi $LIBS" - -else - PARALLEL=no -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - cat > conftest.$ac_ext <<_ACEOF - - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi_file_open in -lmpio" >&5 -$as_echo_n "checking for mpi_file_open in -lmpio... " >&6; } -if ${ac_cv_lib_mpio_mpi_file_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmpio $LIBS" -cat > conftest.$ac_ext <<_ACEOF - program main - call mpi_file_open - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - ac_cv_lib_mpio_mpi_file_open=yes -else - ac_cv_lib_mpio_mpi_file_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpio_mpi_file_open" >&5 -$as_echo "$ac_cv_lib_mpio_mpi_file_open" >&6; } -if test "x$ac_cv_lib_mpio_mpi_file_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMPIO 1 -_ACEOF - - LIBS="-lmpio $LIBS" - -else - PARALLEL=no -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - - ## Change to the C language - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - fi - - ## Set RUNPARALLEL to mpiexec if not set yet. - ## Check for building on Cray if RUNPARALLEL is not yet set by checking - ## for 'aprun' command (which is the parallel job launcher, like mpiexec). - if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then - ## Find the path where aprun is located. - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/aprun; then - RUNPARALLEL="aprun -q -n \$\${NPROCS:=6}" - break; - fi - done - fi - - ## Set RUNPARALLEL to mpiexec if not set yet. - if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then - RUNPARALLEL="mpiexec -n \$\${NPROCS:=6}" - fi - ;; + ## Set RUNPARALLEL to mpiexec if not set yet. + if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then + RUNPARALLEL="mpiexec -n \$\${NPROCS:=6}" + fi + ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5 @@ -28655,39 +28067,6 @@ $as_echo_n "checking prefix for running in parallel... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUNPARALLEL" >&5 $as_echo "$RUNPARALLEL" >&6; } - ## Check that we can link a simple MPI and MPI-IO application - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO program can be linked" >&5 -$as_echo_n "checking whether a simple MPI-IO program can be linked... " >&6; } - 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 () -{ -MPI_Init(); MPI_File_open(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $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_fn_error $? "unable to link a simple MPI-IO application" "$LINENO" 5 -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ## There *must* be some way to run in parallel even if it's just the ## word `none'. if test -z "$RUNPARALLEL"; then @@ -28695,7 +28074,8 @@ rm -f core conftest.err conftest.$ac_objext \ fi ## If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with - ## the empty string. + ## the empty string. This means that no launch commands were requested, + ## so we will not use any launch commands. if test "X$RUNSERIAL" = "Xnone"; then RUNSERIAL="" fi @@ -28871,61 +28251,6 @@ else unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#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 () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - unset MPE -fi - ;; *) case "$withval" in @@ -29046,62 +28371,6 @@ else LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#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 () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE -fi - - else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_log in -lmpe" >&5 $as_echo_n "checking for MPE_Init_log in -lmpe... " >&6; } @@ -29158,61 +28427,6 @@ else unset MPE fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPE_Init_mpi_io in -llmpe" >&5 -$as_echo_n "checking for MPE_Init_mpi_io in -llmpe... " >&6; } -if ${ac_cv_lib_lmpe_MPE_Init_mpi_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llmpe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MPE_Init_mpi_io (); -#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 () -{ -return MPE_Init_mpi_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lmpe_MPE_Init_mpi_io=yes -else - ac_cv_lib_lmpe_MPE_Init_mpi_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lmpe_MPE_Init_mpi_io" >&5 -$as_echo "$ac_cv_lib_lmpe_MPE_Init_mpi_io" >&6; } -if test "x$ac_cv_lib_lmpe_MPE_Init_mpi_io" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLMPE 1 -_ACEOF - - LIBS="-llmpe $LIBS" - -else - unset MPE -fi - fi ;; esac diff --git a/configure.ac b/configure.ac index fb81e73..9a1d2db 100644 --- a/configure.ac +++ b/configure.ac @@ -160,7 +160,6 @@ AC_MSG_RESULT([done]) ## HDF_CXX: whether C++ is enabled. Default no. ## CXX: C++ compiler. ## HDF5_HL: whether high-level library is enabled. Default is yes. -## LARGEFILE: whether largefile support is enabled. Default yes. ## INSTRUMENT: whether INSTRUMENT is enabled. No default set here. ## CODESTACK: whether CODESTACK is enabled. Default no. ## HAVE_DMALLOC: whether system has dmalloc support. Default no. @@ -181,7 +180,6 @@ AC_SUBST([FC2003]) HDF_FORTRAN2003=no AC_SUBST([HDF_CXX]) HDF_CXX=no AC_SUBST([CXX]) HDF_CXX=no AC_SUBST([HDF5_HL]) HDF5_HL=yes -AC_SUBST([LARGEFILE]) LARGEFILE=yes AC_SUBST([INSTRUMENT]) AC_SUBST([CODESTACK]) CODESTACK=no AC_SUBST([HAVE_DMALLOC]) HAVE_DMALLOC=no @@ -778,16 +776,14 @@ fi ## a parallel library even if configure wasn't ## able to find some header file or library that ## might be required. This is defined if the -## compiler looks like a parallel compiler (e.g., -## mpicc or mpcc) or if the user explicitly states +## user explicitly states ## that a parallel library is being built by supplying ## the `--enable-parallel' configure switch. ## ## PARALLEL -- This variable is set to a non-null value if -## configure thinks we're compiling a parallel -## version of the library. +## we're building a parallel version of the library. ## -## RUNSERIAL -- This is a command which will be prepended to +## RUNSERIAL -- This is a command which will be prepended to ## the executable name to run the executable using ## a single process. For serial versions of the ## library this will normally be empty. For parallel @@ -813,131 +809,6 @@ AC_SUBST([RUNPARALLEL]) AC_SUBST([TESTPARALLEL]) ## ---------------------------------------------------------------------- -## If the compiler is obviously a parallel compiler then we're building -## a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore, -## the name of the compiler might tell us how to run the resulting -## executable. For `mpicc' the executable should be run with `mpiexec' from -## the same directory as mpicc if it exists. -## -case "$CC_BASENAME" in - mpicc) - ## The mpich compiler. Use mpiexec from the same directory if it - ## exists. - PARALLEL=mpicc - AC_MSG_CHECKING([for mpiexec]) - - ## Find the path where mpicc is located. - cmd="`echo $CC | cut -f1 -d' '`" - if (echo $cmd | grep / >/dev/null); then - path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - AC_MSG_RESULT([$path/mpiexec]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - mpcc|mpcc_r) - ## The IBM compiler - PARALLEL="$CC_BASENAME" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; -esac - -## ---------------------------------------------------------------------- -## If the Fortran compiler is obviously a parallel compiler then we're -## building a parallel version of hdf5 and should define HAVE_PARALLEL. -## Furthermore, the name of the compiler might tell us how to run the -## resulting executable. For `mpif90' the executable should be run with -## `mpiexec' from the same directory as mpif90 if it exists. -## - -if test "X$HDF_FORTRAN" = "Xyes" ; then - ## Change to the Fortran 90 language - AC_LANG_PUSH(Fortran) - - case "$FC" in - *mpif90*) - ## The Fortran mpich compiler. Use mpiexec from the same directory - ## if it exists. - PARALLEL=mpif90 - AC_MSG_CHECKING([for mpiexec]) - - ## Find the path where mpif90 is located. - cmd=`echo $FC |cut -f1 -d' '` - if (echo $cmd |grep / >/dev/null); then - path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`" - else - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/$cmd; then - break; - fi - done - fi - - ## Is there an mpiexec at that path? - if test -x $path/mpiexec; then - AC_MSG_RESULT([$path/mpiexec]) - RUNSERIAL="${RUNSERIAL:-none}" - - if test -z "$RUNPARALLEL"; then - RUNPARALLEL="$path/mpiexec -n \$\${NPROCS:=6}" - fi - else - AC_MSG_RESULT([none]) - fi - ;; - - *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*) - ## The IBM compiler - PARALLEL="$FC" - ;; - - *) - ## Probably not a parallel compiler, but if `--enable-parallel' - ## is defined below then we're still building a parallel hdf5. - ;; - esac - - ## Change to the C language - AC_LANG_POP(Fortran) -fi - -## ----------------------------------------------------------------------------- -## If shared libraries are being used with parallel, disable them, unless the -## user explicity enables them via the '--enable-shared' option. - -if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries disabled in parallel' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then - echo ' shared libraries explicitly enabled by user' -elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries disabled when a parallel compiler is being used' - enable_shared="no" -elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then - echo ' shared libraries explicitly enabled by user' -fi - -## ---------------------------------------------------------------------- ## Fortran libraries are not currently supported on Mac. Disable them. ## (this is overridable with --enable-unsupported). ## @@ -1362,96 +1233,25 @@ if test "X${enable_shared}" = "Xyes"; then fi ## ---------------------------------------------------------------------- -## Test for Largefile support. -## -AC_MSG_CHECKING([if configure should try to set up large file support]) - -AC_ARG_ENABLE([largefile], - [AS_HELP_STRING([--disable-largefile], - [omit support for large files])]) - -## If largefile support is enabled, then set up appropriate compiler options. -if test "$enable_largefile" != no; then - AC_MSG_RESULT([yes]) - - ## Check for needed compiler options. This check is pulled drectly - ## from autoconf's AC_SYS_LARGEFILE macro, as of Autoconf v2.65. - AC_CACHE_CHECK([for special C compiler options needed for large files], - ac_cv_sys_largefile_CC, - [ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - ## IRIX 6.2 and later do not support large files by default, - ## so use the C compiler's -n32 option if that helps. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) - AC_COMPILE_IFELSE([], [break]) - CC="$CC -n32" - AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi]) - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - ## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines - ## that might need to be set for largefile support to behave - ## correctly. This macro is defined in acsite.m4 and overrides - ## the version provided by Autoconf (as of v2.65). The custom - ## macro additionally adds the appropriate defines to AM_CPPFLAGS - ## so that later configure checks have them visible. - - ## Check for _FILE_OFFSET_BITS - _AC_SYS_LARGEFILE_MACRO_VALUE([_FILE_OFFSET_BITS], [64], - [ac_cv_sys_file_offset_bits], - [Number of bits in a file offset, on hosts where this is settable.], +## Use the macro _AC_SYS_LARGEFILE_MACRO_VALUE to test defines +## that might need to be set for largefile support to behave +## correctly. This macro is defined in acsite.m4 and overrides +## the version provided by Autoconf (as of v2.65). The custom +## macro additionally adds the appropriate defines to AM_CPPFLAGS +## so that later configure checks have them visible. + +## Check for _FILE_OFFSET_BITS +_AC_SYS_LARGEFILE_MACRO_VALUE([_FILE_OFFSET_BITS], [64], + [ac_cv_sys_file_offset_bits], + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + +## Check for _LARGE_FILES +if test "$ac_cv_sys_file_offset_bits" = unknown; then + _AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], + [ac_cv_sys_large_files], + [Define for large files, on AIX-style hosts.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - - ## Check for _LARGE_FILES - if test "$ac_cv_sys_file_offset_bits" = unknown; then - _AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], - [ac_cv_sys_large_files], - [Define for large files, on AIX-style hosts.], - [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - fi - - ## Now actually test to see if we can create large files after we've - ## checked for any needed defines. - AC_MSG_CHECKING([if large (64-bit) files are supported on this system.]) - AC_CACHE_VAL([hdf5_cv_have_lfs], - [AC_TRY_RUN([ - #include - #include - #include - #include - #define BIG_FILE (off_t)0x80000000UL - int main(void) { - int fd; - if ((fd=open("test.conf", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0) exit(1); - if (lseek(fd, BIG_FILE, SEEK_SET)!=BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (lseek(fd, 2*BIG_FILE, SEEK_SET) != 2*BIG_FILE) exit(1); - if (5!=write(fd, "hello", (size_t)5)) exit(1); - if (unlink("test.conf") < 0) exit(1); - exit(0); - } - ],[hdf5_cv_have_lfs=yes],[hdf5_cv_have_lfs=no],)]) - - if test "X${hdf5_cv_have_lfs}" = "Xyes"; then - AC_MSG_RESULT([yes]) - LARGEFILE="yes" - fi - if test "X${hdf5_cv_have_lfs}" = "Xno"; then - AC_MSG_RESULT([no]) - LARGEFILE="no" - fi - -else - LARGEFILE="no" - AC_MSG_RESULT([no]) fi ## ---------------------------------------------------------------------- @@ -1459,11 +1259,9 @@ fi ## case "$host_cpu-$host_vendor-$host_os" in *linux*) - ## If largefile support is enabled, then make available various - ## LFS-related routines using the following _LARGEFILE*_SOURCE macros. - if test "X$LARGEFILE" != "Xno"; then - AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" - fi + ## Make available various LFS-related routines using the following + ## _LARGEFILE*_SOURCE macros. + AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS" ## Add POSIX support on Linux systems, so defines ## __USE_POSIX, which is required to get the prototype for fdopen @@ -2632,10 +2430,7 @@ AC_CACHE_SAVE ## What header files and libraries do we have to look for for parallel ## support? For the most part, search paths are already specified with -## CPPFLAGS and LDFLAGS or are known to the compiler. If the user says -## `--disable-parallel' but specifies a known parallel compiler (like mpicc -## or mpcc) then parallel support is enabled but configure doesn't search -## for any parallel header files or libraries. +## CPPFLAGS and LDFLAGS or are known to the compiler. ## AC_ARG_ENABLE([parallel], [AS_HELP_STRING([--enable-parallel], @@ -2658,25 +2453,10 @@ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then fi fi -## It's possible to build in parallel by specifying a parallel compiler -## without using the --enable-parallel flag. This isn't allowed with -## C++ or threadsafe, either, unless the --enable-unsupported flag -## has also been specified. -if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then - if test "X${PARALLEL}" != "X" -a "X${enable_cxx}" = "Xyes" ; then - AC_MSG_ERROR([An MPI compiler is being used; --enable-cxx is not allowed. Use --enable-unsupported to override this error.]) - fi - if test "X${PARALLEL}" != "X" -a "X${THREADSAFE}" = "Xyes"; then - AC_MSG_ERROR([An MPI compiler is being used; --enable-threadsafe is not allowed. Use --enable-unsupported to override this error.]) - fi -fi - AC_MSG_CHECKING([for parallel support files]) case "X-$enable_parallel" in X-|X-no|X-none) - ## Either we are not compiling for parallel or the header and - ## library files and locations are known to the compiler (this is - ## the case for a correct installation of mpicc for instance). + ## We are not compiling for parallel. AC_MSG_RESULT([skipped]) ;; @@ -2686,62 +2466,36 @@ case "X-$enable_parallel" in AC_MSG_RESULT([provided by compiler]) PARALLEL=yes - ## Try link a simple MPI program. If fail, try again with -lmpi and - ## -lmpich. - AC_TRY_LINK(, [MPI_Init()],, - [AC_CHECK_LIB([mpi], [MPI_Init],, - [AC_CHECK_LIB([mpich], [MPI_Init],, [PARALLEL=no])])]) - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - AC_TRY_LINK(, [MPI_File_open()],, - [AC_CHECK_LIB([mpio], [MPI_File_open],, [PARALLEL=no])]) - fi + ## Try link a simple MPI program. + AC_MSG_CHECKING([whether a simple MPI-IO C program can be linked]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[ MPI_Init(0, (void *)0); + MPI_File_open(0, (void *)0, 0, 0, (void *)0);]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([unable to link a simple MPI-IO C program])]) if test "X$HDF_FORTRAN" = "Xyes"; then ## Change to the Fortran 90 language AC_LANG_PUSH(Fortran) - ## Try link a simple MPI program. If fail, try again with -lmpi. + ## Try link a simple MPI program. + AC_MSG_CHECKING([whether a simple MPI-IO Fortran program can be linked]) AC_LINK_IFELSE([ program main include 'mpif.h' integer:: ierr call mpi_file_open( ierr ) - end],, - [AC_CHECK_LIB([mpi], [mpi_file_open],, [PARALLEL=no])]) - - ## Then try link a simple MPI-IO program. If fail, try again with - ## -lmpio. - if test "X$PARALLEL" = "Xyes"; then - AC_LINK_IFELSE([ - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end],, - [AC_CHECK_LIB([mpio], [mpi_file_open],, [PARALLEL=no])]) - fi + end], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([unable to link a simple MPI-IO Fortran program])]) ## Change to the C language AC_LANG_POP(Fortran) fi ## Set RUNPARALLEL to mpiexec if not set yet. - ## Check for building on Cray if RUNPARALLEL is not yet set by checking - ## for 'aprun' command (which is the parallel job launcher, like mpiexec). - if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then - ## Find the path where aprun is located. - for path in `echo $PATH | ${TR} ":" " "`; do - if test -x $path/aprun; then - RUNPARALLEL="aprun -q -n \$\${NPROCS:=6}" - break; - fi - done - fi - - ## Set RUNPARALLEL to mpiexec if not set yet. if test "X$PARALLEL" = "Xyes" -a -z "$RUNPARALLEL"; then RUNPARALLEL="mpiexec -n \$\${NPROCS:=6}" fi @@ -2771,13 +2525,6 @@ if test -n "$PARALLEL"; then AC_MSG_CHECKING([prefix for running in parallel]) AC_MSG_RESULT([$RUNPARALLEL]) - ## Check that we can link a simple MPI and MPI-IO application - AC_MSG_CHECKING([whether a simple MPI-IO program can be linked]) - AC_TRY_LINK(, [MPI_Init(); MPI_File_open();], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([unable to link a simple MPI-IO application])]) - ## There *must* be some way to run in parallel even if it's just the ## word `none'. if test -z "$RUNPARALLEL"; then @@ -2785,7 +2532,8 @@ if test -n "$PARALLEL"; then fi ## If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with - ## the empty string. + ## the empty string. This means that no launch commands were requested, + ## so we will not use any launch commands. if test "X$RUNSERIAL" = "Xnone"; then RUNSERIAL="" fi @@ -2836,7 +2584,6 @@ if test -n "$PARALLEL"; then X-yes) AC_CHECK_HEADERS([mpe.h],, [unset MPE]) AC_CHECK_LIB([mpe], [MPE_Init_log],, [unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, [unset MPE]) ;; *) case "$withval" in @@ -2878,12 +2625,8 @@ if test -n "$PARALLEL"; then AM_LDFLAGS="$AM_LDFLAGS -L$mpe_lib" AC_CHECK_LIB([mpe], [MPE_Init_log],, [LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, - [LDFLAGS="$saved_LDFLAGS"; AM_LDFLAGS="$saved_AM_LDFLAGS"; unset MPE]) - else AC_CHECK_LIB([mpe], [MPE_Init_log],, [unset MPE]) - AC_CHECK_LIB([lmpe], [MPE_Init_mpi_io],, [unset MPE]) fi ;; esac diff --git a/examples/Makefile.in b/examples/Makefile.in index 71a9b4c..8209e3f 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -436,7 +436,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/Makefile.in b/fortran/Makefile.in index 4d8abdc..1bc48c0 100644 --- a/fortran/Makefile.in +++ b/fortran/Makefile.in @@ -492,7 +492,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index b9b5efb..b6998e6 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -444,7 +444,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 3e034ea..f8fb374 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -553,7 +553,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index ca91cf5..2140faa 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -562,7 +562,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index 583b6dc..18d64bf 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/Makefile.in @@ -488,7 +488,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/Makefile.in b/hl/Makefile.in index cda0122..bb7e708 100644 --- a/hl/Makefile.in +++ b/hl/Makefile.in @@ -492,7 +492,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in index 3839814..c473865 100644 --- a/hl/c++/Makefile.in +++ b/hl/c++/Makefile.in @@ -488,7 +488,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in index 5712043..a538c23 100644 --- a/hl/c++/examples/Makefile.in +++ b/hl/c++/examples/Makefile.in @@ -435,7 +435,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index a93d495..72c3a65 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -494,7 +494,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in index f6bd246..f5f2b9b 100644 --- a/hl/c++/test/Makefile.in +++ b/hl/c++/test/Makefile.in @@ -491,7 +491,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in index 6bbf493..005ef91 100644 --- a/hl/examples/Makefile.in +++ b/hl/examples/Makefile.in @@ -435,7 +435,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in index 8fe9e35..3578877 100644 --- a/hl/fortran/Makefile.in +++ b/hl/fortran/Makefile.in @@ -492,7 +492,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in index 1051658..ff614a8 100644 --- a/hl/fortran/examples/Makefile.in +++ b/hl/fortran/examples/Makefile.in @@ -435,7 +435,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 3963a95..1472bfe 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -509,7 +509,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in index 4a929a6..ff2ecdc 100644 --- a/hl/fortran/test/Makefile.in +++ b/hl/fortran/test/Makefile.in @@ -500,7 +500,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index aaf90ab..450c5d2 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -490,7 +490,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in index a002482..e329566 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -527,7 +527,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in index a34e225..7f60940e 100644 --- a/hl/tools/Makefile.in +++ b/hl/tools/Makefile.in @@ -489,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in index 1c9be68..aedefdd 100644 --- a/hl/tools/gif2h5/Makefile.in +++ b/hl/tools/gif2h5/Makefile.in @@ -503,7 +503,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/src/H5config.h.in b/src/H5config.h.in index daf7d0d..cc8a59c 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -196,24 +196,12 @@ /* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ #undef HAVE_LIBDMALLOC -/* Define to 1 if you have the `lmpe' library (-llmpe). */ -#undef HAVE_LIBLMPE - /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `mpe' library (-lmpe). */ #undef HAVE_LIBMPE -/* Define to 1 if you have the `mpi' library (-lmpi). */ -#undef HAVE_LIBMPI - -/* Define to 1 if you have the `mpich' library (-lmpich). */ -#undef HAVE_LIBMPICH - -/* Define to 1 if you have the `mpio' library (-lmpio). */ -#undef HAVE_LIBMPIO - /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL diff --git a/src/H5private.h b/src/H5private.h index f971504..65cc1e9 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -210,10 +210,10 @@ */ #define eventa(func_name) h5_mpe_eventa #define eventb(func_name) h5_mpe_eventb -#define MPE_LOG_VARS \ - static int eventa(FUNC) = -1; \ - static int eventb(FUNC) = -1; \ - const char* p_event_start = "start" FUNC; +#define MPE_LOG_VARS \ + static int eventa(FUNC) = -1; \ + static int eventb(FUNC) = -1; \ + char p_event_start[100]; /* Hardwire the color to "red", since that's what all the routines are using * now. In the future, if we want to change that color for a given routine, @@ -222,16 +222,17 @@ * color information down to the BEGIN_MPE_LOG macro (which should have a new * BEGIN_MPE_LOG_COLOR variant). -QAK */ -#define BEGIN_MPE_LOG \ - if (H5_MPEinit_g){ \ - if (eventa(FUNC) == -1 && eventb(FUNC) == -1) { \ - const char* p_color = "red"; \ - eventa(FUNC)=MPE_Log_get_event_number(); \ - eventb(FUNC)=MPE_Log_get_event_number(); \ - MPE_Describe_state(eventa(FUNC), eventb(FUNC), (char *)FUNC, (char *)p_color); \ - } \ - MPE_Log_event(eventa(FUNC), 0, (char *)p_event_start); \ - } +#define BEGIN_MPE_LOG \ + if (H5_MPEinit_g){ \ + sprintf(p_event_start, "start %s", FUNC); \ + if (eventa(FUNC) == -1 && eventb(FUNC) == -1) { \ + const char* p_color = "red"; \ + eventa(FUNC)=MPE_Log_get_event_number(); \ + eventb(FUNC)=MPE_Log_get_event_number(); \ + MPE_Describe_state(eventa(FUNC), eventb(FUNC), FUNC, p_color); \ + } \ + MPE_Log_event(eventa(FUNC), 0, p_event_start); \ + } /*------------------------------------------------------------------------ @@ -240,9 +241,9 @@ * * Programmer: Long Wang */ -#define FINISH_MPE_LOG \ - if (H5_MPEinit_g) { \ - MPE_Log_event(eventb(FUNC), 0, (char *)FUNC); \ +#define FINISH_MPE_LOG \ + if (H5_MPEinit_g) { \ + MPE_Log_event(eventb(FUNC), 0, FUNC); \ } #else /* H5_HAVE_MPE */ @@ -1850,7 +1851,7 @@ static herr_t H5_INTERFACE_INIT_FUNC(void); /* Local variables for API routines */ #define FUNC_ENTER_API_VARS \ - MPE_LOG_VARS \ + MPE_LOG_VARS \ H5TRACE_DECL #define FUNC_ENTER_API_COMMON \ diff --git a/src/Makefile.in b/src/Makefile.in index 46d6625..165d73b 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -552,7 +552,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in index 27df560..424334d 100644 --- a/src/libhdf5.settings.in +++ b/src/libhdf5.settings.in @@ -71,4 +71,3 @@ Clear file buffers before write: @CLEARFILEBUF@ Function Stack Tracing: @CODESTACK@ Strict File Format Checks: @STRICT_FORMAT_CHECKS@ Optimization Instrumentation: @INSTRUMENT@ - Large File Support (LFS): @LARGEFILE@ diff --git a/test/Makefile.in b/test/Makefile.in index 2a43aaf..7d508c8 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -895,7 +895,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/testpar/Makefile.in b/testpar/Makefile.in index 6814acb..fef13bd 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -509,7 +509,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/Makefile.in b/tools/Makefile.in index c4bf941..466294c 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -489,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in index 76573a0..6248394 100644 --- a/tools/h5copy/Makefile.in +++ b/tools/h5copy/Makefile.in @@ -497,7 +497,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in index 6a8d2ac..4ec41af 100644 --- a/tools/h5diff/Makefile.in +++ b/tools/h5diff/Makefile.in @@ -504,7 +504,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in index 8cb1661..f5689e6 100644 --- a/tools/h5dump/Makefile.in +++ b/tools/h5dump/Makefile.in @@ -503,7 +503,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in index d3b0185..a611304 100644 --- a/tools/h5import/Makefile.in +++ b/tools/h5import/Makefile.in @@ -497,7 +497,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in index d0c8f16..5aa68c6 100644 --- a/tools/h5jam/Makefile.in +++ b/tools/h5jam/Makefile.in @@ -509,7 +509,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in index 2c4fe10..f3be33e 100644 --- a/tools/h5ls/Makefile.in +++ b/tools/h5ls/Makefile.in @@ -489,7 +489,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in index 50e7341..441df41 100644 --- a/tools/h5repack/Makefile.in +++ b/tools/h5repack/Makefile.in @@ -521,7 +521,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in index 32b6d4c..c78e95b 100644 --- a/tools/h5stat/Makefile.in +++ b/tools/h5stat/Makefile.in @@ -499,7 +499,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in index b2afb07..bfc73ec 100644 --- a/tools/lib/Makefile.in +++ b/tools/lib/Makefile.in @@ -486,7 +486,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in index 1160938..99da78f 100644 --- a/tools/misc/Makefile.in +++ b/tools/misc/Makefile.in @@ -524,7 +524,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in index 24aa8be..50930e0 100644 --- a/tools/perform/Makefile.in +++ b/tools/perform/Makefile.in @@ -528,7 +528,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT = @INSTRUMENT@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ -LARGEFILE = @LARGEFILE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ -- cgit v0.12 From b28b5fade93c4e72e045469481cde81c01f956cf Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Mon, 16 Feb 2015 12:17:49 -0500 Subject: [svn-r26188] Merged autotools fixes into the trunk: HDFFV-9089, HDFFV-9091, HDFFV-9092, HDFFV-9094, HDFFV-9095 --- MANIFEST | 2 + Makefile.in | 3 +- aclocal.m4 | 2 + c++/Makefile.in | 3 +- c++/examples/Makefile.in | 3 +- c++/src/Makefile.in | 3 +- c++/test/Makefile.in | 3 +- configure | 559 +++++++++++++--------------------------- configure.ac | 322 +++++------------------ examples/Makefile.in | 3 +- fortran/Makefile.in | 3 +- fortran/examples/Makefile.in | 3 +- fortran/src/Makefile.in | 3 +- fortran/test/Makefile.in | 3 +- fortran/testpar/Makefile.in | 3 +- fortran/testpar/hyper.f90 | 2 +- fortran/testpar/mdset.f90 | 2 +- fortran/testpar/ptest.f90 | 2 +- hl/Makefile.in | 3 +- hl/c++/Makefile.in | 3 +- hl/c++/examples/Makefile.in | 3 +- hl/c++/src/Makefile.in | 3 +- hl/c++/test/Makefile.in | 3 +- hl/examples/Makefile.in | 3 +- hl/fortran/Makefile.in | 3 +- hl/fortran/examples/Makefile.in | 3 +- hl/fortran/src/Makefile.in | 3 +- hl/fortran/test/Makefile.in | 3 +- hl/src/Makefile.in | 3 +- hl/test/Makefile.in | 3 +- hl/tools/Makefile.in | 3 +- hl/tools/gif2h5/Makefile.in | 3 +- m4/aclocal_cxx.m4 | 121 +++++++++ m4/aclocal_fc.m4 | 283 ++++++++++++++++++++ src/Makefile.in | 3 +- test/Makefile.in | 3 +- testpar/Makefile.in | 3 +- tools/Makefile.in | 3 +- tools/h5copy/Makefile.in | 3 +- tools/h5diff/Makefile.in | 3 +- tools/h5dump/Makefile.in | 3 +- tools/h5import/Makefile.in | 3 +- tools/h5jam/Makefile.in | 3 +- tools/h5ls/Makefile.in | 3 +- tools/h5repack/Makefile.in | 3 +- tools/h5stat/Makefile.in | 3 +- tools/lib/Makefile.in | 3 +- tools/misc/Makefile.in | 3 +- tools/perform/Makefile.in | 3 +- 49 files changed, 724 insertions(+), 691 deletions(-) create mode 100644 m4/aclocal_cxx.m4 create mode 100644 m4/aclocal_fc.m4 diff --git a/MANIFEST b/MANIFEST index fbc4a1e..ef06fd9 100644 --- a/MANIFEST +++ b/MANIFEST @@ -33,6 +33,8 @@ ./m4/ltversion.m4 _DO_NOT_DISTRIBUTE_ ./m4/lt~obsolete.m4 _DO_NOT_DISTRIBUTE_ ./m4/ltoptions.m4 _DO_NOT_DISTRIBUTE_ +./m4/aclocal_cxx.m4 +./m4/aclocal_fc.m4 ./README.txt ./aclocal.m4 ./acsite.m4 diff --git a/Makefile.in b/Makefile.in index 37091cd..f9c1263 100644 --- a/Makefile.in +++ b/Makefile.in @@ -121,7 +121,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am $(srcdir)/Makefile.in \ $(top_srcdir)/bin/missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ diff --git a/aclocal.m4 b/aclocal.m4 index 1ecfa26..e10c539 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1183,6 +1183,8 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/aclocal_cxx.m4]) +m4_include([m4/aclocal_fc.m4]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, diff --git a/c++/Makefile.in b/c++/Makefile.in index e5aa783..ad4923f 100644 --- a/c++/Makefile.in +++ b/c++/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = c++ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index 4841f59..8a6f4dc 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -107,7 +107,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = c++/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 282d740..0faf8d9 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -109,7 +109,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = c++/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in index c8edd4d..f6e2044 100644 --- a/c++/test/Makefile.in +++ b/c++/test/Makefile.in @@ -106,7 +106,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = c++/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/configure b/configure index aa3f60c..80230c4 100755 --- a/configure +++ b/configure @@ -655,8 +655,6 @@ DEFAULT_API_VERSION DEPRECATED_SYMBOLS BUILD_ALL_CONDITIONAL_FALSE BUILD_ALL_CONDITIONAL_TRUE -HL_FOR -HL DYNAMIC_DIRS ROOT CXX_VERSION @@ -728,6 +726,8 @@ TIME TR AR PERL +HL_FOR +HL CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE @@ -894,6 +894,7 @@ enable_unsupported enable_fortran enable_fortran2003 enable_cxx +enable_hl enable_shared enable_static with_pic @@ -925,7 +926,6 @@ enable_direct_vfd with_default_plugindir enable_dconv_exception enable_dconv_accuracy -enable_hl enable_build_all enable_deprecated_symbols with_default_api_version @@ -1575,10 +1575,11 @@ Optional Features: --disable-dependency-tracking speeds up one-time build --enable-unsupported Allow unsupported combinations of configure options - --enable-fortran Compile the Fortran 77/90/95 interface [default=no] + --enable-fortran Compile the Fortran 90/95 interface [default=no] --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-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] @@ -1623,7 +1624,6 @@ Optional Features: data conversions [default=yes] --enable-dconv-accuracy if data accuracy is guaranteed during data conversions [default=yes] - --enable-hl Enable the high level library [default=yes] --enable-build-all Build helper programs that only developers should need [default=no] --enable-deprecated-symbols @@ -1885,13 +1885,13 @@ fi } # ac_fn_c_try_link -# ac_fn_fc_try_run LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_fc_try_run () +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1899,33 +1899,37 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.err ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : ac_retval=0 else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=1 fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_fc_try_run +} # ac_fn_fc_try_link # ac_fn_cxx_try_compile LINENO # ---------------------------- @@ -2002,13 +2006,13 @@ fi } # ac_fn_cxx_try_cpp -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -2016,33 +2020,37 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.err ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : ac_retval=0 else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=1 fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval -} # ac_fn_cxx_try_run +} # ac_fn_cxx_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- @@ -2229,98 +2237,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_link - # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -5348,14 +5264,13 @@ if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then echo "no" as_fn_error $? "--enable-fortran must be used with --enable-fortran2003" "$LINENO" 5 else - echo "yes" + if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then + echo "yes" + else + echo "no" + fi fi -HAVE_SIZEOF="no" -HAVE_C_SIZEOF="no" -HAVE_STORAGE_SIZE="no" -FORTRAN_DEFAULT_REALisDBLE="no" - if test "X$HDF_FORTRAN" = "Xyes"; then HDF_FORTRAN=yes @@ -5364,12 +5279,6 @@ if test "X$HDF_FORTRAN" = "Xyes"; then HDF5_INTERFACES="$HDF5_INTERFACES fortran" ## -------------------------------------------------------------------- - ## Default for FORTRAN 2003 compliant compilers - ## - HAVE_FORTRAN_2003="no" - HAVE_F2003_REQUIREMENTS="no" - - ## -------------------------------------------------------------------- ## HDF5 integer variables for the H5fortran_types.f90 file. ## @@ -5655,14 +5564,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ## -------------------------------------------------------------------- - ## Check for a Fortran 9X compiler and how to include modules. + ## Check for a Fortran compiler and how to include modules. ## ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn + for ac_prog in gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 @@ -5706,7 +5615,7 @@ fi fi if test -z "$FC"; then ac_ct_FC=$FC - for ac_prog in f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn + for ac_prog in gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -5960,11 +5869,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - ## It seems that libtool (as of Libtool 1.5.14) is trying to - ## configure itself for Fortran 77. - ## Tell it that our F77 compiler is $FC (actually a F9X compiler) - F77=$FC - ## Change to the Fortran 90 language ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6658,21 +6562,11 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ## -------------------------------------------------------------------- - ## See if the compiler will support the "-I." option - ## - - - ## -------------------------------------------------------------------- ## See if the fortran compiler supports the intrinsic function "SIZEOF" + HAVE_SIZEOF_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic SIZEOF" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic SIZEOF... " >&6; } - 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 > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6680,29 +6574,23 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_SIZEOF="yes" + HAVE_SIZEOF_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ## See if the fortran compiler supports the intrinsic function "C_SIZEOF" + HAVE_C_SIZEOF_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_SIZEOF" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic C_SIZEOF... " >&6; } - 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 > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6713,29 +6601,23 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_C_SIZEOF="yes" + HAVE_C_SIZEOF_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" + HAVE_STORAGE_SIZE_FORTRAN="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic STORAGE_SIZE" >&5 $as_echo_n "checking if Fortran compiler supports intrinsic STORAGE_SIZE... " >&6; } - 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 > conftest.$ac_ext <<_ACEOF PROGRAM main @@ -6745,31 +6627,26 @@ else END PROGRAM _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVE_STORAGE_SIZE="yes" + HAVE_STORAGE_SIZE_FORTRAN="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ## Check to see if -r8 was specified to determine if we need to ## compile the DOUBLE PRECISION interfaces. + FORTRAN_DEFAULT_REALisDBLE="no" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran default REAL is DOUBLE PRECISION" >&5 $as_echo_n "checking if Fortran default REAL is DOUBLE PRECISION... " >&6; } - 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 > conftest.$ac_ext <<_ACEOF MODULE type_mod @@ -6794,17 +6671,15 @@ else END PROGRAM main _ACEOF -if ac_fn_fc_try_run "$LINENO"; then : +if ac_fn_fc_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - FORTRAN_DEFAULT_REALisDBLE="yes" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + FORTRAN_DEFAULT_REALisDBLE="yes" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "X$HDF_FORTRAN2003" = "Xyes"; then @@ -6812,10 +6687,10 @@ fi ## Checking if the compiler supports the required Fortran 2003 features and ## disable Fortran 2003 if it does not. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5 $as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; } HAVE_FORTRAN_2003="no" - + HAVE_F2003_REQUIREMENTS="no" cat > conftest.$ac_ext <<_ACEOF program main @@ -6831,7 +6706,7 @@ $as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HD end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_F2003_REQUIREMENTS=yes @@ -6839,12 +6714,13 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then - ## echo $HAVE_FORTRAN_2003 as_fn_error $? "Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003" "$LINENO" 5 else - ## echo $HAVE_FORTRAN_2003 HAVE_FORTRAN_2003="yes" fi fi @@ -6860,7 +6736,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - if test "X$HAVE_SIZEOF" = "Xyes"; then + if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then FORTRAN_HAVE_SIZEOF_TRUE= FORTRAN_HAVE_SIZEOF_FALSE='#' else @@ -6868,7 +6744,7 @@ else FORTRAN_HAVE_SIZEOF_FALSE= fi - if test "X$HAVE_C_SIZEOF" = "Xyes"; then + if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then FORTRAN_HAVE_C_SIZEOF_TRUE= FORTRAN_HAVE_C_SIZEOF_FALSE='#' else @@ -6876,7 +6752,7 @@ else FORTRAN_HAVE_C_SIZEOF_FALSE= fi - if test "X$HAVE_STORAGE_SIZE" = "Xyes"; then + if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then FORTRAN_HAVE_STORAGE_SIZE_TRUE= FORTRAN_HAVE_STORAGE_SIZE_FALSE='#' else @@ -6901,8 +6777,6 @@ else fi - - ## ---------------------------------------------------------------------- ## Check if they would like the C++ interface compiled ## @@ -7481,15 +7355,11 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # Checking if C++ needs old style header files in includes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX needs old style header files in includes" >&5 $as_echo_n "checking if $CXX needs old style header files in includes... " >&6; } - -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. */ @@ -7498,30 +7368,23 @@ else int main(void) { return 0; } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo no - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else - - echo yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + # Checking if C++ can handle namespaces { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle namespaces" >&5 $as_echo_n "checking if $CXX can handle namespaces... " >&6; } - 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. */ @@ -7536,91 +7399,20 @@ int main(void) { } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - - echo no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports std" >&5 -$as_echo_n "checking if $CXX supports std... " >&6; } - 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 - -using namespace std; - -int main(void) { - string myString("testing namespace std"); - return 0; -} - -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - -else - - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD" - fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports bool types" >&5 -$as_echo_n "checking if $CXX supports bool types... " >&6; } - 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) { - bool flag; - return 0; -} - -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -else - - echo no - CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED" - AM_CXXFLAGS="${AM_CXXFLAGS} -DBOOL_NOTDEFINED" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + # Checking if C++ has offsetof extension { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX has offsetof extension" >&5 $as_echo_n "checking if $CXX has offsetof extension... " >&6; } @@ -7657,26 +7449,24 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } $as_echo "#define CXX_HAVE_OFFSETOF 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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + + # if C++ can handle static cast { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX can handle static cast" >&5 $as_echo_n "checking if $CXX can handle static cast... " >&6; } - 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. */ @@ -7689,23 +7479,22 @@ int main(void) { } _ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - echo yes - +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - - echo no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else - echo "no" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } CXX="no" fi @@ -7717,6 +7506,41 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu + +## ---------------------------------------------------------------------- +## Check if they would like the High Level library compiled +## + + HL="" +## name of fortran folder inside "hl", if FORTRAN compile is requested + HL_FOR="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if high level library is enabled" >&5 +$as_echo_n "checking if high level library is enabled... " >&6; } +# Check whether --enable-hl was given. +if test "${enable_hl+set}" = set; then : + enableval=$enable_hl; HDF5_HL=$enableval +else + HDF5_HL=yes +fi + + +if test "X$HDF5_HL" = "Xyes"; then + echo "yes" + HL="hl" + +$as_echo "#define INCLUDE_HL 1" >>confdefs.h + + + ## If Fortran's default real is double precision and HL is being built then configure + ## should fail due to bug HDFFV-889. + if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then + as_fn_error $? "Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl." "$LINENO" 5 + fi +else + echo "no" +fi + + ## ---------------------------------------------------------------------- ## Check if they have Perl installed on their system. We only need Perl ## if they're using a GNU compiler. @@ -7767,7 +7591,6 @@ done fi - ## ---------------------------------------------------------------------- ## Check which archiving tool to use. This needs to be done before ## the AM_PROG_LIBTOOL macro. @@ -27992,23 +27815,24 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "X$HDF_FORTRAN" = "Xyes"; then - ## Change to the Fortran 90 language + + ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - ## Try link a simple MPI program. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a simple MPI-IO Fortran program can be linked" >&5 $as_echo_n "checking whether a simple MPI-IO Fortran program can be linked... " >&6; } cat > conftest.$ac_ext <<_ACEOF - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end + PROGRAM main + USE mpi + INTEGER :: comm, amode, info, fh, ierror + CHARACTER(LEN=1) :: filename + CALL MPI_File_open( comm, filename, amode, info, fh, ierror) + END _ACEOF if ac_fn_fc_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -28021,13 +27845,13 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - ## Change to the C language ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + fi ## Set RUNPARALLEL to mpiexec if not set yet. @@ -30158,39 +29982,6 @@ if test -n "$AM_CPPFLAGS"; then AM_CPPFLAGS=$TEMP_CPPFLAGS fi -## ---------------------------------------------------------------------- -## Check if they would like the High Level library compiled -## - - HL="" -## name of fortran folder inside "hl", if FORTRAN compile is requested - HL_FOR="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if high level library is enabled" >&5 -$as_echo_n "checking if high level library is enabled... " >&6; } -# Check whether --enable-hl was given. -if test "${enable_hl+set}" = set; then : - enableval=$enable_hl; HDF5_HL=$enableval -else - HDF5_HL=yes -fi - - -if test "X$HDF5_HL" = "Xyes"; then - echo "yes" - HL="hl" - -$as_echo "#define INCLUDE_HL 1" >>confdefs.h - - -## 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. - if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then - as_fn_error $? "Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl." "$LINENO" 5 - fi -else - echo "no" -fi - ## ---------------------------------------------------------------------- ## Some programs shouldn't be built by default (e.g., programs to generate diff --git a/configure.ac b/configure.ac index 9a1d2db..94cc11b 100644 --- a/configure.ac +++ b/configure.ac @@ -370,7 +370,7 @@ AC_SUBST([HDF5_INTERFACES]) HDF5_INTERFACES="" AC_MSG_CHECKING([if Fortran interface enabled]) AC_ARG_ENABLE([fortran], [AS_HELP_STRING([--enable-fortran], - [Compile the Fortran 77/90/95 interface [default=no]])], + [Compile the Fortran 90/95 interface [default=no]])], [HDF_FORTRAN=$enableval]) if test "X$HDF_FORTRAN" = "Xyes"; then @@ -397,14 +397,13 @@ if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then echo "no" AC_MSG_ERROR([--enable-fortran must be used with --enable-fortran2003]) else - echo "yes" + if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then + echo "yes" + else + echo "no" + fi fi -HAVE_SIZEOF="no" -HAVE_C_SIZEOF="no" -HAVE_STORAGE_SIZE="no" -FORTRAN_DEFAULT_REALisDBLE="no" - if test "X$HDF_FORTRAN" = "Xyes"; then AC_SUBST([FC]) HDF_FORTRAN=yes @@ -413,12 +412,6 @@ if test "X$HDF_FORTRAN" = "Xyes"; then HDF5_INTERFACES="$HDF5_INTERFACES fortran" ## -------------------------------------------------------------------- - ## Default for FORTRAN 2003 compliant compilers - ## - HAVE_FORTRAN_2003="no" - HAVE_F2003_REQUIREMENTS="no" - - ## -------------------------------------------------------------------- ## HDF5 integer variables for the H5fortran_types.f90 file. ## AC_SUBST([R_LARGE]) @@ -439,16 +432,11 @@ if test "X$HDF_FORTRAN" = "Xyes"; then AC_SUBST([FSEARCH_DIRS]) ## -------------------------------------------------------------------- - ## Check for a Fortran 9X compiler and how to include modules. + ## Check for a Fortran compiler and how to include modules. ## - AC_PROG_FC([f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) + AC_PROG_FC([PAC_FC_SEARCH_LIST],) AC_F9X_MODS - ## It seems that libtool (as of Libtool 1.5.14) is trying to - ## configure itself for Fortran 77. - ## Tell it that our F77 compiler is $FC (actually a F9X compiler) - F77=$FC - ## Change to the Fortran 90 language AC_LANG_PUSH(Fortran) @@ -458,116 +446,28 @@ if test "X$HDF_FORTRAN" = "Xyes"; then AC_FC_WRAPPERS ## -------------------------------------------------------------------- - ## See if the compiler will support the "-I." option - ## - dnl AM_FCFLAGS_saved=$AM_FCFLAGS - dnl AM_FCFLAGS="${AM_FCFLAGS} -I." - - dnl AC_MSG_CHECKING(if compiler supports -I. option) - dnl AC_TRY_FCOMPILE([ - dnl program conftest - dnl end - dnl ], AC_MSG_RESULT(yes), - dnl AC_MSG_RESULT(no) - dnl AM_FCFLAGS="$AM_FCFLAGS_saved") - - ## -------------------------------------------------------------------- ## See if the fortran compiler supports the intrinsic function "SIZEOF" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic SIZEOF]) - AC_TRY_RUN([ - PROGRAM main - i = sizeof(x) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_SIZEOF="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_SIZEOF ## See if the fortran compiler supports the intrinsic function "C_SIZEOF" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_SIZEOF]) - AC_TRY_RUN([ - PROGRAM main - USE ISO_C_BINDING - INTEGER(C_INT) :: a - INTEGER(C_SIZE_T) :: result - result = C_SIZEOF(a) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_C_SIZEOF="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_C_SIZEOF ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" - - AC_MSG_CHECKING([if Fortran compiler supports intrinsic STORAGE_SIZE]) - AC_TRY_RUN([ - PROGRAM main - INTEGER :: a - INTEGER :: result - result = STORAGE_SIZE(a) - END PROGRAM - ], [AC_MSG_RESULT([yes]) - HAVE_STORAGE_SIZE="yes"], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_STORAGE_SIZE ## Check to see if -r8 was specified to determine if we need to ## compile the DOUBLE PRECISION interfaces. - - AC_MSG_CHECKING([if Fortran default REAL is DOUBLE PRECISION]) - - AC_TRY_RUN([ - MODULE type_mod - INTERFACE h5t - MODULE PROCEDURE h5t_real - MODULE PROCEDURE h5t_dble - END INTERFACE - CONTAINS - SUBROUTINE h5t_real(r) - REAL :: r - END SUBROUTINE h5t_real - SUBROUTINE h5t_dble(d) - DOUBLE PRECISION :: d - END SUBROUTINE h5t_dble - END MODULE type_mod - PROGRAM main - USE type_mod - REAL :: r - DOUBLE PRECISION :: d - CALL h5t(r) - CALL h5t(d) - END PROGRAM main - ], - [AC_MSG_RESULT([no])], - [AC_MSG_RESULT([yes]) - FORTRAN_DEFAULT_REALisDBLE="yes"]) + PAC_PROG_FC_DEFAULT_REALisDBLE if test "X$HDF_FORTRAN2003" = "Xyes"; then ## Checking if the compiler supports the required Fortran 2003 features and ## disable Fortran 2003 if it does not. - - AC_MSG_CHECKING([if Fortran compiler version compatible with Fortran 2003 HDF]) - HAVE_FORTRAN_2003="no" - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ - - USE iso_c_binding - IMPLICIT NONE - TYPE(C_PTR) :: ptr - TYPE(C_FUNPTR) :: funptr - CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr - - ptr = C_LOC(ichr(1:1)) - - ])], - [AC_MSG_RESULT([yes]) - HAVE_F2003_REQUIREMENTS=[yes]], - [AC_MSG_RESULT([no])]) + PAC_PROG_FC_HAVE_F2003_REQUIREMENTS + if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then - ## echo $HAVE_FORTRAN_2003 AC_MSG_ERROR([Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003]) else - ## echo $HAVE_FORTRAN_2003 HAVE_FORTRAN_2003="yes" fi fi @@ -578,14 +478,12 @@ fi ## Change back to the C language AC_LANG_POP(Fortran) -AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF" = "Xyes"]) -AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF" = "Xyes"]) -AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"]) +AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"]) AM_CONDITIONAL([FORTRAN_2003_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003" = "Xyes"]) AM_CONDITIONAL([FORTRAN_DEFAULT_REALisDBLE_F], [test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"]) - - ## ---------------------------------------------------------------------- ## Check if they would like the C++ interface compiled ## @@ -609,114 +507,56 @@ if test "X$HDF_CXX" = "Xyes"; then ## Change to the C++ language AC_LANG_PUSH(C++) - AC_MSG_CHECKING([if $CXX needs old style header files in includes]) - AC_TRY_RUN([ -#include - -int main(void) { return 0; } - ], [ - echo no - ], [ - echo yes - CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" - AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME" - ]) + # Checking if C++ needs old style header files in includes + PAC_PROG_CXX_HEADERS - AC_MSG_CHECKING([if $CXX can handle namespaces]) - AC_TRY_RUN([ -namespace H5 { -int fnord; -} + # Checking if C++ can handle namespaces + PAC_PROG_CXX_NAMESPACE + + # Checking if C++ has offsetof extension + PAC_PROG_CXX_OFFSETOF -int main(void) { - using namespace H5; - fnord = 37; - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE" - ]) + # if C++ can handle static cast + PAC_PROG_CXX_STATIC_CAST - AC_MSG_CHECKING([if $CXX supports std]) - AC_TRY_RUN([ -#include +else + AC_MSG_RESULT([no]) + CXX="no" +fi -using namespace std; +## Change back to the C language +AC_LANG_POP(C++) -int main(void) { - string myString("testing namespace std"); - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" - AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD" - ]) - AC_MSG_CHECKING([if $CXX supports bool types]) - AC_TRY_RUN([ -int main(void) { - bool flag; - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED" - AM_CXXFLAGS="${AM_CXXFLAGS} -DBOOL_NOTDEFINED" - ]) +## ---------------------------------------------------------------------- +## Check if they would like the High Level library compiled +## - AC_MSG_CHECKING([if $CXX has offsetof extension]) - AC_TRY_COMPILE([ - #include - #include - ],[ - struct index_st - { - unsigned char type; - unsigned char num; - unsigned int len; - }; - typedef struct index_st index_t; - int x,y; - x = offsetof(struct index_st, len); - y = offsetof(index_t, num) - ], - AC_DEFINE([CXX_HAVE_OFFSETOF], [1], - [Define if C++ compiler recognizes offsetof]) - AC_MSG_RESULT([yes]), - AC_MSG_RESULT([no])) - - AC_MSG_CHECKING([if $CXX can handle static cast]) - AC_TRY_RUN([ -int main(void) { - float test_float; - int test_int; - test_float = 37.0; - test_int = static_cast (test_float); - return 0; -} - ], [ - echo yes - ], [ - echo no - CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" - AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST" - ]) +AC_SUBST(HL) HL="" +## name of fortran folder inside "hl", if FORTRAN compile is requested +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]])], + [HDF5_HL=$enableval], + [HDF5_HL=yes]) + +if test "X$HDF5_HL" = "Xyes"; then + echo "yes" + HL="hl" + AC_DEFINE([INCLUDE_HL], [1], + [Define if HDF5's high-level library headers should be included in hdf5.h]) + + ## If Fortran's default real is double precision and HL is being built then configure + ## should fail due to bug HDFFV-889. + if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then + AC_MSG_ERROR([Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl.]) + fi else - echo "no" - CXX="no" + echo "no" fi -## Change back to the C language -AC_LANG_POP(C++) ## ---------------------------------------------------------------------- ## Check if they have Perl installed on their system. We only need Perl @@ -727,7 +567,6 @@ if test "X$GCC" = "Xyes"; then AC_CHECK_PROGS([PERL], [perl],, [$PATH]) fi - ## ---------------------------------------------------------------------- ## Check which archiving tool to use. This needs to be done before ## the AM_PROG_LIBTOOL macro. @@ -2476,23 +2315,7 @@ case "X-$enable_parallel" in AC_MSG_ERROR([unable to link a simple MPI-IO C program])]) if test "X$HDF_FORTRAN" = "Xyes"; then - ## Change to the Fortran 90 language - AC_LANG_PUSH(Fortran) - - ## Try link a simple MPI program. - AC_MSG_CHECKING([whether a simple MPI-IO Fortran program can be linked]) - AC_LINK_IFELSE([ - program main - include 'mpif.h' - integer:: ierr - call mpi_file_open( ierr ) - end], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([unable to link a simple MPI-IO Fortran program])]) - - ## Change to the C language - AC_LANG_POP(Fortran) + PAC_PROG_FC_MPI_CHECK fi ## Set RUNPARALLEL to mpiexec if not set yet. @@ -3873,35 +3696,6 @@ if test -n "$AM_CPPFLAGS"; then AM_CPPFLAGS=$TEMP_CPPFLAGS fi -## ---------------------------------------------------------------------- -## Check if they would like the High Level library compiled -## - -AC_SUBST(HL) HL="" -## name of fortran folder inside "hl", if FORTRAN compile is requested -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]])], - [HDF5_HL=$enableval], - [HDF5_HL=yes]) - -if test "X$HDF5_HL" = "Xyes"; then - echo "yes" - HL="hl" - AC_DEFINE([INCLUDE_HL], [1], - [Define if HDF5's high-level library headers should be included in hdf5.h]) - -## 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. - if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then - AC_MSG_ERROR([Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl.]) - fi -else - echo "no" -fi - ## ---------------------------------------------------------------------- ## Some programs shouldn't be built by default (e.g., programs to generate diff --git a/examples/Makefile.in b/examples/Makefile.in index 8209e3f..5327842 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -107,7 +107,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/Makefile.in b/fortran/Makefile.in index 1bc48c0..2d0e0b7 100644 --- a/fortran/Makefile.in +++ b/fortran/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = fortran ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index b6998e6..c468739 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -115,7 +115,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = $(TEST_SCRIPT) subdir = fortran/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index f8fb374..7466528 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -112,7 +112,8 @@ noinst_PROGRAMS = H5match_types$(EXEEXT) H5fortran_detect$(EXEEXT) \ TESTS = subdir = fortran/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index 2140faa..c2055c4 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -92,7 +92,8 @@ check_PROGRAMS = $(am__EXEEXT_2) TESTS = $(am__EXEEXT_2) subdir = fortran/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index 18d64bf..97e59ed 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/Makefile.in @@ -109,7 +109,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = subdir = fortran/testpar ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/fortran/testpar/hyper.f90 b/fortran/testpar/hyper.f90 index a2e2e07..a03095a 100644 --- a/fortran/testpar/hyper.f90 +++ b/fortran/testpar/hyper.f90 @@ -21,8 +21,8 @@ SUBROUTINE hyper(length,do_collective,do_chunk, mpi_size, mpi_rank, nerrors) USE HDF5 USE TH5_MISC + USE mpi IMPLICIT NONE - INCLUDE 'mpif.h' INTEGER, INTENT(in) :: length ! array length LOGICAL, INTENT(in) :: do_collective ! use collective I/O diff --git a/fortran/testpar/mdset.f90 b/fortran/testpar/mdset.f90 index 7fe431b..f24c862 100644 --- a/fortran/testpar/mdset.f90 +++ b/fortran/testpar/mdset.f90 @@ -21,8 +21,8 @@ SUBROUTINE multiple_dset_write(length, do_collective, do_chunk, mpi_size, mpi_rank, nerrors) USE HDF5 USE TH5_MISC + USE mpi IMPLICIT NONE - INCLUDE 'mpif.h' INTEGER, INTENT(in) :: length ! array length LOGICAL, INTENT(in) :: do_collective ! use collective I/O diff --git a/fortran/testpar/ptest.f90 b/fortran/testpar/ptest.f90 index e474668..145d084 100644 --- a/fortran/testpar/ptest.f90 +++ b/fortran/testpar/ptest.f90 @@ -19,8 +19,8 @@ PROGRAM parallel_test USE hdf5 + USE mpi IMPLICIT NONE - INCLUDE 'mpif.h' INTEGER :: mpierror ! MPI hdferror flag INTEGER :: hdferror ! HDF hdferror flag diff --git a/hl/Makefile.in b/hl/Makefile.in index bb7e708..6ca0805 100644 --- a/hl/Makefile.in +++ b/hl/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in index c473865..f16130a 100644 --- a/hl/c++/Makefile.in +++ b/hl/c++/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in index a538c23..83f07f2 100644 --- a/hl/c++/examples/Makefile.in +++ b/hl/c++/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index 72c3a65..98110b9 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -108,7 +108,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/c++/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in index f5f2b9b..7e50ec4 100644 --- a/hl/c++/test/Makefile.in +++ b/hl/c++/test/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/c++/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in index 005ef91..43c6e3c 100644 --- a/hl/examples/Makefile.in +++ b/hl/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in index 3578877..ff02a60 100644 --- a/hl/fortran/Makefile.in +++ b/hl/fortran/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in index ff614a8..27b1dee 100644 --- a/hl/fortran/examples/Makefile.in +++ b/hl/fortran/examples/Makefile.in @@ -106,7 +106,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 1472bfe..6979867 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -108,7 +108,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/fortran/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in index ff2ecdc..50b8780 100644 --- a/hl/fortran/test/Makefile.in +++ b/hl/fortran/test/Makefile.in @@ -107,7 +107,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/fortran/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 450c5d2..a848280 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -105,7 +105,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in index e329566..e0ce927 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -107,7 +107,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = hl/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in index 7f60940e..bb7f71a 100644 --- a/hl/tools/Makefile.in +++ b/hl/tools/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = hl/tools ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in index aedefdd..2317975 100644 --- a/hl/tools/gif2h5/Makefile.in +++ b/hl/tools/gif2h5/Makefile.in @@ -105,7 +105,8 @@ noinst_PROGRAMS = h52gifgentst$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = hl/tools/gif2h5 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/m4/aclocal_cxx.m4 b/m4/aclocal_cxx.m4 new file mode 100644 index 0000000..b44ae82 --- /dev/null +++ b/m4/aclocal_cxx.m4 @@ -0,0 +1,121 @@ +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- +dnl +dnl Copyright by the Board of Trustees of the University of Illinois. +dnl All rights reserved. +dnl +dnl This file is part of HDF5. The full HDF5 copyright notice, including +dnl terms governing use, modification, and redistribution, is contained in +dnl the files COPYING and Copyright.html. COPYING can be found at the root +dnl of the source code distribution tree; Copyright.html can be found at the +dnl root level of an installed copy of the electronic HDF5 document set and +dnl is linked from the top-level documents page. It can also be found at +dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have +dnl access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. +dnl +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- + +dnl ********************************* +dnl PURPOSE +dnl Contains Macros for HDF5 C++ +dnl ********************************* +dnl +dnl Special characteristics that have no autoconf counterpart but that +dnl we need as part of the C++ support. To distinquish these, they +dnl have a [PAC] prefix. + +dnl Checking if C++ needs old style header files in includes + +AC_DEFUN([PAC_PROG_CXX_HEADERS],[ + AC_MSG_CHECKING([if $CXX needs old style header files in includes]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#include + +int main(void) { return 0; } + ])], + [AC_MSG_RESULT([no])], + [AC_MSG_RESULT([yes]) + CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME" + AM_CXXFLAGS="${AM_CXXFLAGS} -DOLD_HEADER_FILENAME"]) +]) + +dnl Checking if ++ can handle namespaces + +AC_DEFUN([PAC_PROG_CXX_NAMESPACE],[ + AC_MSG_CHECKING([if $CXX can handle namespaces]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +namespace H5 { +int fnord; +} + +int main(void) { + using namespace H5; + fnord = 37; + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE" + AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_NAMESPACE"]) +]) + +dnl Checking if C++ supports std + +AC_DEFUN([PAC_PROG_CXX_STD],[ + AC_MSG_CHECKING([if $CXX supports std]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#include + +using namespace std; + +int main(void) { + string myString("testing namespace std"); + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DH5_NO_STD" + AM_CXXFLAGS="${AM_CXXFLAGS} -DH5_NO_STD"]) +]) + +dnl Checking if C++ has offsetof extension + +AC_DEFUN([PAC_PROG_CXX_OFFSETOF],[ + AC_MSG_CHECKING([if $CXX has offsetof extension]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include + #include + ],[ + struct index_st + { + unsigned char type; + unsigned char num; + unsigned int len; + }; + typedef struct index_st index_t; + int x,y; + x = offsetof(struct index_st, len); + y = offsetof(index_t, num) + ])],[AC_MSG_RESULT([yes]) + AC_DEFINE([CXX_HAVE_OFFSETOF], [1], [Define if C++ compiler recognizes offsetof])], + AC_MSG_RESULT([no])) +]) + +dnl Checking if C++ can handle static cast + +AC_DEFUN([PAC_PROG_CXX_STATIC_CAST],[ + AC_MSG_CHECKING([if $CXX can handle static cast]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +int main(void) { + float test_float; + int test_int; + test_float = 37.0; + test_int = static_cast (test_float); + return 0; +} + ])], [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST" + AM_CXXFLAGS="${AM_CXXFLAGS} -DNO_STATIC_CAST"]) +]) diff --git a/m4/aclocal_fc.m4 b/m4/aclocal_fc.m4 new file mode 100644 index 0000000..03bd026 --- /dev/null +++ b/m4/aclocal_fc.m4 @@ -0,0 +1,283 @@ +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- +dnl +dnl Copyright by the Board of Trustees of the University of Illinois. +dnl All rights reserved. +dnl +dnl This file is part of HDF5. The full HDF5 copyright notice, including +dnl terms governing use, modification, and redistribution, is contained in +dnl the files COPYING and Copyright.html. COPYING can be found at the root +dnl of the source code distribution tree; Copyright.html can be found at the +dnl root level of an installed copy of the electronic HDF5 document set and +dnl is linked from the top-level documents page. It can also be found at +dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have +dnl access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. +dnl +dnl ------------------------------------------------------------------------- +dnl ------------------------------------------------------------------------- + +dnl ********************************* +dnl PURPOSE +dnl Contains Macros for HDF5 Fortran +dnl ********************************* +dnl +dnl Special characteristics that have no autoconf counterpart but that +dnl we need as part of the C++ support. To distinquish these, they +dnl have a [PAC] prefix. +dnl +dnl ------------------------------------------------------------------------- +dnl +dnl PAC_FC_SEARCH_LIST - expands to a whitespace separated list of modern +dnl fortran compilers for use with AC_PROG_FC that is more suitable for HPC +dnl software packages +AC_DEFUN([PAC_FC_SEARCH_LIST], + [gfortran ifort pgf90 pathf90 pathf95 xlf90 xlf95 xlf2003 f90 epcf90 f95 fort lf95 g95 ifc efc gfc]) +dnl +dnl PAC_PROG_FC([COMPILERS]) +dnl +dnl COMPILERS is a space separated list of Fortran compilers to search for. +dnl +dnl Compilers are ordered by +dnl 1. F90, F95, F2003 +dnl 2. Good/tested native compilers, bad/untested native compilers +dnl 3. Wrappers around f2c go last. +dnl +dnl frt is the Fujitsu Fortran compiler. +dnl pgf90 are the Portland Group F90 compilers. +dnl xlf/xlf90/xlf95/xlf2003 are IBM (AIX) F90/F95/F2003 compilers. +dnl lf95 is the Lahey-Fujitsu compiler. +dnl fl32 is the Microsoft Fortran "PowerStation" compiler. +dnl epcf90 is the "Edinburgh Portable Compiler" F90. +dnl fort is the Compaq Fortran 90 (now 95) compiler for Tru64 and Linux/Alpha. +dnl pathf90 is the Pathscale Fortran 90 compiler +dnl ifort is another name for the Intel f90 compiler +dnl efc - An older Intel compiler (?) +dnl ifc - An older Intel compiler +dnl fc - A compiler on some unknown system. This has been removed because +dnl it may also be the name of a command for something other than +dnl the Fortran compiler (e.g., fc=file system check!) +dnl gfortran - The GNU Fortran compiler (not the same as g95) +dnl gfc - An alias for gfortran recommended in cygwin installations +dnl NOTE: this macro suffers from a basically intractable "expanded before it +dnl was required" problem when libtool is also used +dnl [1] MPICH.org +dnl + +dnl See if the fortran compiler supports the intrinsic function "SIZEOF" + +AC_DEFUN([PAC_PROG_FC_SIZEOF],[ + HAVE_SIZEOF_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic SIZEOF]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + i = sizeof(x) + END PROGRAM + ])],[AC_MSG_RESULT([yes]) + HAVE_SIZEOF_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) +]) + +dnl See if the fortran compiler supports the intrinsic function "C_SIZEOF" + +AC_DEFUN([PAC_PROG_FC_C_SIZEOF],[ + HAVE_C_SIZEOF_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_SIZEOF]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + USE ISO_C_BINDING + INTEGER(C_INT) :: a + INTEGER(C_SIZE_T) :: result + result = C_SIZEOF(a) + END PROGRAM + ])], [AC_MSG_RESULT([yes]) + HAVE_C_SIZEOF_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) +]) + +dnl See if the fortran compiler supports the intrinsic function "STORAGE_SIZE" + +AC_DEFUN([PAC_PROG_FC_STORAGE_SIZE],[ + HAVE_STORAGE_SIZE_FORTRAN="no" + AC_MSG_CHECKING([if Fortran compiler supports intrinsic STORAGE_SIZE]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + PROGRAM main + INTEGER :: a + INTEGER :: result + result = STORAGE_SIZE(a) + END PROGRAM + ])], [AC_MSG_RESULT([yes]) + HAVE_STORAGE_SIZE_FORTRAN="yes"], + [AC_MSG_RESULT([no])]) + +]) + +dnl Check to see if -r8 was specified to determine if we need to +dnl compile the DOUBLE PRECISION interfaces. + +AC_DEFUN([PAC_PROG_FC_DEFAULT_REALisDBLE],[ + FORTRAN_DEFAULT_REALisDBLE="no" + AC_MSG_CHECKING([if Fortran default REAL is DOUBLE PRECISION]) + + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + MODULE type_mod + INTERFACE h5t + MODULE PROCEDURE h5t_real + MODULE PROCEDURE h5t_dble + END INTERFACE + CONTAINS + SUBROUTINE h5t_real(r) + REAL :: r + END SUBROUTINE h5t_real + SUBROUTINE h5t_dble(d) + DOUBLE PRECISION :: d + END SUBROUTINE h5t_dble + END MODULE type_mod + PROGRAM main + USE type_mod + REAL :: r + DOUBLE PRECISION :: d + CALL h5t(r) + CALL h5t(d) + END PROGRAM main + ])], [AC_MSG_RESULT([no])], + [AC_MSG_RESULT([yes]) + FORTRAN_DEFAULT_REALisDBLE="yes"]) +]) + +dnl Checking if the compiler supports the required Fortran 2003 features and +dnl disable Fortran 2003 if it does not. + +AC_DEFUN([PAC_PROG_FC_HAVE_F2003_REQUIREMENTS],[ + AC_MSG_CHECKING([if Fortran compiler version compatible with Fortran 2003 HDF]) +dnl -------------------------------------------------------------------- +dnl Default for FORTRAN 2003 compliant compilers +dnl + HAVE_FORTRAN_2003="no" + HAVE_F2003_REQUIREMENTS="no" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ + + USE iso_c_binding + IMPLICIT NONE + TYPE(C_PTR) :: ptr + TYPE(C_FUNPTR) :: funptr + CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr + + ptr = C_LOC(ichr(1:1)) + + ])],[AC_MSG_RESULT([yes]) + HAVE_F2003_REQUIREMENTS=[yes]], + [AC_MSG_RESULT([no])]) +]) + +dnl ------------------------------------------------------------------------- +dnl AC_F9X_MODS() +dnl +dnl Check how F9X handles modules. This macro also checks which +dnl command-line option to use to include the module once it's built. +dnl +AC_DEFUN([AC_F9X_MODS], +[AC_MSG_CHECKING(what $FC does with modules) +AC_LANG_PUSH(Fortran) + +test -d conftestdir || mkdir conftestdir +cd conftestdir +rm -rf * + +cat >conftest.$ac_ext <&1 +if test "$modfiles" = file.o; then + echo $ac_n "checking whether $FC -em is saner""... $ac_c" 1>&6 + OLD_FCFLAGS=$FCFLAGS + FCFLAGS="$FCFLAGS -em" + eval $ac_compile + modfiles="" + for f in file.o module.mod MODULE.mod module.M MODULE.M; do + test -f $f && modfiles="$f" + done + if test "$modfiles" = "file.o"; then + FCFLAGS=$OLD_FCFLAGS + echo no 6>&1 + else + echo yes 6>&1 + fi +fi +cd .. + +AC_MSG_CHECKING(how $FC finds modules) + +for flag in "-I" "-M" "-p"; do + cat >conftest.$ac_ext <&6 + FCFLAGS="$F9XMODFLAG. $FCFLAGS" +else + echo unknown 1>&6 +fi +AC_SUBST(F9XMODFLAG) +AC_SUBST(F9XMODEXT) +rm -rf conftest* +AC_LANG_POP(Fortran) +]) + +dnl ---------------------- +dnl Parallel Test Programs +dnl ---------------------- + +dnl Try link a simple MPI program. + +AC_DEFUN([PAC_PROG_FC_MPI_CHECK],[ + +dnl Change to the Fortran 90 language + AC_LANG_PUSH(Fortran) + +dnl Try link a simple MPI program. + AC_MSG_CHECKING([whether a simple MPI-IO Fortran program can be linked]) + AC_LINK_IFELSE([ + PROGRAM main + USE mpi + INTEGER :: comm, amode, info, fh, ierror + CHARACTER(LEN=1) :: filename + CALL MPI_File_open( comm, filename, amode, info, fh, ierror) + END], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([unable to link a simple MPI-IO Fortran program])]) + +dnl Change to the C language + AC_LANG_POP(Fortran) +]) + diff --git a/src/Makefile.in b/src/Makefile.in index 165d73b..3ba2e3c 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -109,7 +109,8 @@ noinst_PROGRAMS = H5detect$(EXEEXT) H5make_libsettings$(EXEEXT) TESTS = subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/test/Makefile.in b/test/Makefile.in index 7d508c8..cd089e8 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -115,7 +115,8 @@ check_PROGRAMS = $(am__EXEEXT_1) error_test$(EXEEXT) \ TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/testpar/Makefile.in b/testpar/Makefile.in index fef13bd..8857d47 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -103,7 +103,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = subdir = testpar ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/Makefile.in b/tools/Makefile.in index 466294c..ef0d6ab 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -101,7 +101,8 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \ TESTS = subdir = tools ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in index 6248394..2cb3a1e 100644 --- a/tools/h5copy/Makefile.in +++ b/tools/h5copy/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5copy ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in index 4ec41af..860590c 100644 --- a/tools/h5diff/Makefile.in +++ b/tools/h5diff/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = $(am__EXEEXT_2) TESTS = $(am__EXEEXT_2) $(TEST_SCRIPT) subdir = tools/h5diff ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in index f5689e6..287713d 100644 --- a/tools/h5dump/Makefile.in +++ b/tools/h5dump/Makefile.in @@ -106,7 +106,8 @@ bin_PROGRAMS = h5dump$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5dump ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in index a611304..7b9eadc 100644 --- a/tools/h5import/Makefile.in +++ b/tools/h5import/Makefile.in @@ -105,7 +105,8 @@ bin_PROGRAMS = h5import$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5import ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in index 5aa68c6..4c40784 100644 --- a/tools/h5jam/Makefile.in +++ b/tools/h5jam/Makefile.in @@ -105,7 +105,8 @@ check_PROGRAMS = tellub$(EXEEXT) h5jamgentest$(EXEEXT) getub$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = tools/h5jam ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in index f3be33e..bd1244c 100644 --- a/tools/h5ls/Makefile.in +++ b/tools/h5ls/Makefile.in @@ -104,7 +104,8 @@ bin_PROGRAMS = h5ls$(EXEEXT) TESTS = $(TEST_SCRIPT) subdir = tools/h5ls ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in index 441df41..9edb827 100644 --- a/tools/h5repack/Makefile.in +++ b/tools/h5repack/Makefile.in @@ -108,7 +108,8 @@ bin_PROGRAMS = h5repack$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5repack ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in index c78e95b..9e9a6aa 100644 --- a/tools/h5stat/Makefile.in +++ b/tools/h5stat/Makefile.in @@ -106,7 +106,8 @@ bin_PROGRAMS = h5stat$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5stat ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in index bfc73ec..26e88ee 100644 --- a/tools/lib/Makefile.in +++ b/tools/lib/Makefile.in @@ -103,7 +103,8 @@ check_PROGRAMS = $(am__EXEEXT_1) TESTS = $(am__EXEEXT_1) subdir = tools/lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in index 99da78f..06396f8 100644 --- a/tools/misc/Makefile.in +++ b/tools/misc/Makefile.in @@ -107,7 +107,8 @@ bin_PROGRAMS = h5debug$(EXEEXT) h5repart$(EXEEXT) h5mkgrp$(EXEEXT) TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/misc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in index 50930e0..728ce45 100644 --- a/tools/perform/Makefile.in +++ b/tools/perform/Makefile.in @@ -111,7 +111,8 @@ check_PROGRAMS = iopipe$(EXEEXT) chunk$(EXEEXT) overhead$(EXEEXT) \ TESTS = $(am__EXEEXT_3) subdir = tools/perform ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ + $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs -- cgit v0.12 From fd79bc3c1ae13f1fad8d3e1f7c26b610a3f5baa3 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Tue, 17 Feb 2015 10:38:54 -0500 Subject: [svn-r26191] Description: Track the min & max keys for a v2 B-tree, so it can more efficiently determine if a key is present in the B-tree. Tested on: Mac OSX/64 10.10.2 (amazon) w/parallel & serial Linux/32 2.6.x (jam) w/serial --- src/H5B2.c | 154 ++++++++++++++++++++++++++++++++++++++++++++--------- src/H5B2cache.c | 67 ++++++++++++------------ src/H5B2hdr.c | 46 +++++++++------- src/H5B2int.c | 160 +++++++++++++++++++++++++++++++++++++++++++++++--------- src/H5B2pkg.h | 32 ++++++++---- src/H5B2stat.c | 25 +++++---- 6 files changed, 359 insertions(+), 125 deletions(-) diff --git a/src/H5B2.c b/src/H5B2.c index a2b218d..7d7345e 100644 --- a/src/H5B2.c +++ b/src/H5B2.c @@ -128,11 +128,11 @@ H5FL_DEFINE_STATIC(H5B2_t); H5B2_t * H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udata) { - H5B2_t *bt2 = NULL; /* Pointer to the B-tree */ - H5B2_hdr_t *hdr = NULL; /* Pointer to the B-tree header */ + H5B2_t *bt2 = NULL; /* Pointer to the B-tree */ + H5B2_hdr_t *hdr = NULL; /* Pointer to the B-tree header */ H5B2_hdr_cache_ud_t cache_udata; /* User-data for callback */ haddr_t hdr_addr; /* B-tree header address */ - H5B2_t *ret_value; /* Return value */ + H5B2_t *ret_value; /* Return value */ FUNC_ENTER_NOAPI(NULL) @@ -147,7 +147,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat /* Create shared v2 B-tree header */ if(HADDR_UNDEF == (hdr_addr = H5B2_hdr_create(f, dxpl_id, cparam, ctx_udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't create v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't create v2 B-tree header") /* Create v2 B-tree wrapper */ if(NULL == (bt2 = H5FL_MALLOC(H5B2_t))) @@ -157,7 +157,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat cache_udata.f = f; cache_udata.ctx_udata = ctx_udata; if(NULL == (hdr = (H5B2_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, &cache_udata, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, NULL, "unable to load B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, NULL, "unable to load B-tree header") /* Point v2 B-tree wrapper at header and bump it's ref count */ bt2->hdr = hdr; @@ -166,7 +166,7 @@ H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, void *ctx_udat /* Increment # of files using this v2 B-tree header */ if(H5B2_hdr_fuse_incr(bt2->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment file reference count on shared v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment file reference count on shared v2 B-tree header") /* Set file pointer for this v2 B-tree open context */ bt2->f = f; @@ -299,11 +299,11 @@ H5B2_insert(H5B2_t *bt2, hid_t dxpl_id, void *udata) /* Attempt to insert record into B-tree */ if(hdr->depth > 0) { - if(H5B2_insert_internal(hdr, dxpl_id, hdr->depth, NULL, &hdr->root, udata) < 0) + if(H5B2_insert_internal(hdr, dxpl_id, hdr->depth, NULL, &hdr->root, H5B2_POS_ROOT, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree internal node") } /* end if */ else { - if(H5B2_insert_leaf(hdr, dxpl_id, &hdr->root, udata) < 0) + if(H5B2_insert_leaf(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree leaf node") } /* end else */ @@ -420,12 +420,13 @@ htri_t H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, void *op_data) { - H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ + H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ H5B2_node_ptr_t curr_node_ptr; /* Node pointer info for current node */ unsigned depth; /* Current depth of the tree */ int cmp; /* Comparison value of records */ unsigned idx; /* Location of record which matches key */ - htri_t ret_value = TRUE; /* Return value */ + H5B2_nodepos_t curr_pos; /* Position of the current node */ + htri_t ret_value = TRUE; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -441,16 +442,39 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(curr_node_ptr.node_nrec == 0) HGOTO_DONE(FALSE) + /* Check record against min & max records in tree, to attempt to quickly + * find candidates or avoid further searching. + */ + if(hdr->min_native_rec != NULL) { + if((cmp = (hdr->cls->compare)(udata, hdr->min_native_rec)) < 0) + HGOTO_DONE(FALSE) /* Less than the least record--not found */ + else if(cmp == 0) { /* Record is found */ + if(op && (op)(hdr->min_native_rec, op_data) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") + HGOTO_DONE(TRUE) + } /* end if */ + } /* end if */ + if(hdr->max_native_rec != NULL) { + if((cmp = (hdr->cls->compare)(udata, hdr->max_native_rec)) > 0) + HGOTO_DONE(FALSE) /* Greater than the greatest record--not found */ + else if(cmp == 0) { /* Record is found */ + if(op && (op)(hdr->max_native_rec, op_data) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") + HGOTO_DONE(TRUE) + } /* end if */ + } /* end if */ + + /* Current depth of the tree */ + depth = hdr->depth; + /* Walk down B-tree to find record or leaf node where record is located */ cmp = -1; - while(depth > 0 && cmp != 0) { + curr_pos = H5B2_POS_ROOT; + while(depth > 0) { H5B2_internal_t *internal; /* Pointer to internal node in B-tree */ H5B2_node_ptr_t next_node_ptr; /* Node pointer info for next node */ @@ -467,6 +491,24 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, /* Get node pointer for next node to search */ next_node_ptr=internal->node_ptrs[idx]; + /* Set the position of the next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_LEFT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_RIGHT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + /* Unlock current node */ if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_INT, curr_node_ptr.addr, internal, H5AC__NO_FLAGS_SET) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -523,6 +565,27 @@ H5B2_find(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_found_t op, HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "'found' callback failed for B-tree find operation") } /* end if */ + + /* Check for record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ } /* end else */ /* Unlock current node */ @@ -577,9 +640,6 @@ H5B2_index(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hsize_t idx, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(curr_node_ptr.node_nrec == 0) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree has no records") @@ -588,6 +648,9 @@ H5B2_index(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hsize_t idx, if(idx >= curr_node_ptr.all_nrec) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree doesn't have that many records") + /* Current depth of the tree */ + depth = hdr->depth; + /* Check for reverse indexing and map requested index to appropriate forward index */ if(order == H5_ITER_DEC) idx = curr_node_ptr.all_nrec - (idx + 1); @@ -736,7 +799,7 @@ H5B2_remove(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_remove_t op, hbool_t depth_decreased = FALSE; /* Flag to indicate whether the depth of the B-tree decreased */ if(H5B2_remove_internal(hdr, dxpl_id, &depth_decreased, NULL, hdr->depth, - &(hdr->cache_info), NULL, &hdr->root, udata, op, op_data) < 0) + &(hdr->cache_info), NULL, H5B2_POS_ROOT, &hdr->root, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") /* Check for decreasing the depth of the B-tree */ @@ -754,7 +817,7 @@ H5B2_remove(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_remove_t op, } /* end for */ } /* end if */ else { - if(H5B2_remove_leaf(hdr, dxpl_id, &hdr->root, udata, op, op_data) < 0) + if(H5B2_remove_leaf(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -818,7 +881,7 @@ H5B2_remove_by_idx(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, hbool_t depth_decreased = FALSE; /* Flag to indicate whether the depth of the B-tree decreased */ if(H5B2_remove_internal_by_idx(hdr, dxpl_id, &depth_decreased, NULL, hdr->depth, - &(hdr->cache_info), NULL, &hdr->root, idx, op, op_data) < 0) + &(hdr->cache_info), NULL, &hdr->root, H5B2_POS_ROOT, idx, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") /* Check for decreasing the depth of the B-tree */ @@ -836,7 +899,7 @@ H5B2_remove_by_idx(H5B2_t *bt2, hid_t dxpl_id, H5_iter_order_t order, } /* end for */ } /* end if */ else { - if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, &hdr->root, (unsigned)idx, op, op_data) < 0) + if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, &hdr->root, H5B2_POS_ROOT, (unsigned)idx, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -970,6 +1033,7 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, { H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ H5B2_node_ptr_t curr_node_ptr; /* Node pointer info for current node */ + H5B2_nodepos_t curr_pos; /* Position of current node */ unsigned depth; /* Current depth of the tree */ int cmp; /* Comparison value of records */ unsigned idx; /* Location of record which matches key */ @@ -990,16 +1054,17 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, /* Make copy of the root node pointer to start search with */ curr_node_ptr = hdr->root; - /* Current depth of the tree */ - depth = hdr->depth; - /* Check for empty tree */ if(0 == curr_node_ptr.node_nrec) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "B-tree has no records") + /* Current depth of the tree */ + depth = hdr->depth; + /* Walk down B-tree to find record or leaf node where record is located */ cmp = -1; - while(depth > 0 && cmp != 0) { + curr_pos = H5B2_POS_ROOT; + while(depth > 0) { unsigned internal_flags = H5AC__NO_FLAGS_SET; H5B2_internal_t *internal; /* Pointer to internal node in B-tree */ H5B2_node_ptr_t next_node_ptr; /* Node pointer info for next node */ @@ -1017,6 +1082,24 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, /* Get node pointer for next node to search */ next_node_ptr = internal->node_ptrs[idx]; + /* Set the position of the next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_LEFT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + curr_pos = H5B2_POS_RIGHT; + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + else + curr_pos = H5B2_POS_MIDDLE; + } /* end if */ + /* Unlock current node */ if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_INT, curr_node_ptr.addr, internal, H5AC__NO_FLAGS_SET) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -1092,6 +1175,27 @@ H5B2_modify(H5B2_t *bt2, hid_t dxpl_id, void *udata, H5B2_modify_t op, HGOTO_ERROR(H5E_BTREE, H5E_CANTMODIFY, FAIL, "'modify' callback failed for B-tree find operation") } /* end if */ + + /* Check for modified record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ } /* end else */ /* Mark the node as dirty if it changed */ diff --git a/src/H5B2cache.c b/src/H5B2cache.c index 1554501..1e2a6a3 100644 --- a/src/H5B2cache.c +++ b/src/H5B2cache.c @@ -15,11 +15,11 @@ /*------------------------------------------------------------------------- * - * Created: H5B2cache.c - * Jan 31 2005 - * Quincey Koziol + * Created: H5B2cache.c + * Jan 31 2005 + * Quincey Koziol * - * Purpose: Implement v2 B-tree metadata cache methods. + * Purpose: Implement v2 B-tree metadata cache methods. * *------------------------------------------------------------------------- */ @@ -174,7 +174,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Allocate new B-tree header and reset cache info */ if(NULL == (hdr = H5B2_hdr_alloc(udata->f))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "allocation failed for B-tree header") /* Wrap the local buffer for serialized header info */ if(NULL == (wb = H5WB_wrap(hdr_buf, sizeof(hdr_buf)))) @@ -186,7 +186,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Read header from disk */ if(H5F_block_read(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree header") /* Get temporary pointer to serialized header */ p = buf; @@ -203,7 +203,7 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* B-tree class */ id = (H5B2_subid_t)*p++; if(id >= H5B2_NUM_BTREE_ID) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Node size (in bytes) */ UINT32DECODE(p, cparam.node_size); @@ -234,12 +234,12 @@ H5B2__cache_hdr_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Verify checksum */ if(stored_chksum != computed_chksum) - HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 B-tree header") /* Initialize B-tree header info */ cparam.cls = H5B2_client_class_g[id]; if(H5B2_hdr_init(hdr, &cparam, udata->ctx_udata, depth) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't initialize B-tree header info") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, NULL, "can't initialize B-tree header info") /* Set the B-tree header's address */ hdr->addr = addr; @@ -342,17 +342,17 @@ H5B2__cache_hdr_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, /* Metadata checksum */ UINT32ENCODE(p, metadata_chksum); - /* Write the B-tree header. */ + /* Write the B-tree header. */ HDassert((size_t)(p - buf) == hdr->hdr_size); - if(H5F_block_write(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree header to disk") + if(H5F_block_write(f, H5FD_MEM_BTREE, addr, hdr->hdr_size, dxpl_id, buf) < 0) + HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree header to disk") - hdr->cache_info.is_dirty = FALSE; + hdr->cache_info.is_dirty = FALSE; } /* end if */ if(destroy) if(H5B2__cache_hdr_dest(f, hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree header") done: /* Release resources */ @@ -445,17 +445,17 @@ done: /*------------------------------------------------------------------------- - * Function: H5B2__cache_hdr_size + * Function: H5B2__cache_hdr_size * - * Purpose: Compute the size in bytes of a B-tree header - * on disk, and return it in *size_ptr. On failure, - * the value of *size_ptr is undefined. + * Purpose: Compute the size in bytes of a B-tree header + * on disk, and return it in *size_ptr. On failure, + * the value of *size_ptr is undefined. * - * Return: Non-negative on success/Negative on failure + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol - * koziol@ncsa.uiuc.edu - * Feb 1 2005 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Feb 1 2005 * *------------------------------------------------------------------------- */ @@ -466,6 +466,7 @@ H5B2__cache_hdr_size(const H5F_t UNUSED *f, const H5B2_hdr_t *hdr, size_t *size_ /* check arguments */ HDassert(f); + HDassert(hdr); HDassert(size_ptr); /* Set size value */ @@ -519,14 +520,14 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Increment ref. count on B-tree header */ if(H5B2_hdr_incr(udata->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") /* Share B-tree information */ internal->hdr = udata->hdr; /* Read header from disk */ if(H5F_block_read(f, H5FD_MEM_BTREE, addr, udata->hdr->node_size, dxpl_id, udata->hdr->page) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree internal node") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree internal node") p = udata->hdr->page; @@ -541,7 +542,7 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* B-tree type */ if(*p++ != (uint8_t)udata->hdr->cls->id) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Allocate space for the native keys in memory */ if(NULL == (internal->int_native = (uint8_t *)H5FL_FAC_MALLOC(udata->hdr->node_info[udata->depth].nat_rec_fac))) @@ -593,7 +594,7 @@ H5B2__cache_internal_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Verify checksum */ if(stored_chksum != computed_chksum) - HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 internal node") + HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "incorrect metadata checksum for v2 internal node") /* Set return value */ ret_value = internal; @@ -853,7 +854,7 @@ H5B2__cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata /* Allocate new leaf node and reset cache info */ if(NULL == (leaf = H5FL_MALLOC(H5B2_leaf_t))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") HDmemset(&leaf->cache_info, 0, sizeof(H5AC_info_t)); /* Set the B-tree header's file context for this operation */ @@ -861,33 +862,33 @@ H5B2__cache_leaf_load(H5F_t UNUSED *f, hid_t dxpl_id, haddr_t addr, void *_udata /* Increment ref. count on B-tree header */ if(H5B2_hdr_incr(udata->hdr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINC, NULL, "can't increment ref. count on B-tree header") /* Share B-tree header information */ leaf->hdr = udata->hdr; /* Read header from disk */ if(H5F_block_read(udata->f, H5FD_MEM_BTREE, addr, udata->hdr->node_size, dxpl_id, udata->hdr->page) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree leaf node") + HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree leaf node") p = udata->hdr->page; /* Magic number */ if(HDmemcmp(p, H5B2_LEAF_MAGIC, (size_t)H5_SIZEOF_MAGIC)) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node signature") + HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node signature") p += H5_SIZEOF_MAGIC; /* Version */ if(*p++ != H5B2_LEAF_VERSION) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node version") + HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree leaf node version") /* B-tree type */ if(*p++ != (uint8_t)udata->hdr->cls->id) - HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") + HGOTO_ERROR(H5E_BTREE, H5E_BADTYPE, NULL, "incorrect B-tree type") /* Allocate space for the native keys in memory */ if(NULL == (leaf->leaf_native = (uint8_t *)H5FL_FAC_MALLOC(udata->hdr->node_info[0].nat_rec_fac))) - HGOTO_ERROR(H5E_BTREE, H5E_NOSPACE, NULL, "memory allocation failed for B-tree leaf native keys") + HGOTO_ERROR(H5E_BTREE, H5E_NOSPACE, NULL, "memory allocation failed for B-tree leaf native keys") /* Set the number of records in the leaf */ leaf->nrec = udata->nrec; diff --git a/src/H5B2hdr.c b/src/H5B2hdr.c index 443a2e5..452a35d 100644 --- a/src/H5B2hdr.c +++ b/src/H5B2hdr.c @@ -166,7 +166,7 @@ HDmemset(hdr->page, 0, hdr->node_size); hdr->node_info[0].cum_max_nrec = hdr->node_info[0].max_nrec; hdr->node_info[0].cum_max_nrec_size = 0; if(NULL == (hdr->node_info[0].nat_rec_fac = H5FL_fac_init(hdr->cls->nrec_size * hdr->node_info[0].max_nrec))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "can't create node native key block factory") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "can't create node native key block factory") hdr->node_info[0].node_ptr_fac = NULL; /* Allocate array of pointers to internal node native keys */ @@ -250,7 +250,7 @@ H5B2_hdr_alloc(H5F_t *f) /* Allocate space for the shared information */ if(NULL == (hdr = H5FL_CALLOC(H5B2_hdr_t))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree header") /* Assign non-zero information */ hdr->f = f; @@ -298,19 +298,19 @@ H5B2_hdr_create(H5F_t *f, hid_t dxpl_id, const H5B2_create_t *cparam, /* Allocate v2 B-tree header */ if(NULL == (hdr = H5B2_hdr_alloc(f))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "allocation failed for B-tree header") /* Initialize shared B-tree info */ if(H5B2_hdr_init(hdr, cparam, ctx_udata, (uint16_t)0) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, HADDR_UNDEF, "can't create shared B-tree info") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, HADDR_UNDEF, "can't create shared B-tree info") /* Allocate space for the header on disk */ if(HADDR_UNDEF == (hdr->addr = H5MF_alloc(f, H5FD_MEM_BTREE, dxpl_id, (hsize_t)hdr->hdr_size))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "file allocation failed for B-tree header") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, HADDR_UNDEF, "file allocation failed for B-tree header") /* Cache the new B-tree node */ if(H5AC_insert_entry(f, dxpl_id, H5AC_BT2_HDR, hdr->addr, hdr, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, HADDR_UNDEF, "can't add B-tree header to cache") + HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, HADDR_UNDEF, "can't add B-tree header to cache") /* Set address of v2 B-tree header to return */ ret_value = hdr->addr; @@ -398,15 +398,15 @@ done: /*------------------------------------------------------------------------- - * Function: H5B2_hdr_fuse_incr + * Function: H5B2_hdr_fuse_incr * - * Purpose: Increment file reference count on shared v2 B-tree header + * Purpose: Increment file reference count on shared v2 B-tree header * - * Return: Non-negative on success/Negative on failure + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol - * koziol@hdfgroup.org - * Oct 27 2009 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Oct 27 2009 * *------------------------------------------------------------------------- */ @@ -426,15 +426,15 @@ H5B2_hdr_fuse_incr(H5B2_hdr_t *hdr) /*------------------------------------------------------------------------- - * Function: H5B2_hdr_fuse_decr + * Function: H5B2_hdr_fuse_decr * - * Purpose: Decrement file reference count on shared v2 B-tree header + * Purpose: Decrement file reference count on shared v2 B-tree header * - * Return: Non-negative on success/Negative on failure + * Return: The file's reference count after the decrement. (Can't fail) * - * Programmer: Quincey Koziol - * koziol@hdfgroup.org - * Oct 27 2009 + * Programmer: Quincey Koziol + * koziol@hdfgroup.org + * Oct 27 2009 * *------------------------------------------------------------------------- */ @@ -542,6 +542,16 @@ H5B2_hdr_free(H5B2_hdr_t *hdr) hdr->node_info = H5FL_SEQ_FREE(H5B2_node_info_t, hdr->node_info); } /* end if */ + /* Release the min & max record info, if set */ + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + /* Free B-tree header info */ hdr = H5FL_FREE(H5B2_hdr_t, hdr); diff --git a/src/H5B2int.c b/src/H5B2int.c index 630ff98..ef83e93 100644 --- a/src/H5B2int.c +++ b/src/H5B2int.c @@ -172,9 +172,9 @@ H5B2_locate_record(const H5B2_class_t *type, unsigned nrec, size_t *rec_off, *------------------------------------------------------------------------- */ static herr_t -H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *curr_node_ptr, - unsigned *parent_cache_info_flags_ptr, H5B2_internal_t *internal, - unsigned *internal_flags_ptr, unsigned idx) +H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, + H5B2_node_ptr_t *curr_node_ptr, unsigned *parent_cache_info_flags_ptr, + H5B2_internal_t *internal, unsigned *internal_flags_ptr, unsigned idx) { const H5AC_class_t *child_class; /* Pointer to child node's class info */ haddr_t left_addr, right_addr; /* Addresses of left & right child nodes */ @@ -214,7 +214,7 @@ H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *cur left_addr = internal->node_ptrs[idx].addr; right_addr = internal->node_ptrs[idx + 1].addr; - /* Protect both leafs */ + /* Protect both leaves */ if(NULL == (left_int = H5B2_protect_internal(hdr, dxpl_id, left_addr, internal->node_ptrs[idx].node_nrec, (depth - 1), H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree internal node") if(NULL == (right_int = H5B2_protect_internal(hdr, dxpl_id, right_addr, internal->node_ptrs[idx + 1].node_nrec, (depth - 1), H5AC_WRITE))) @@ -243,7 +243,7 @@ H5B2_split1(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, H5B2_node_ptr_t *cur left_addr = internal->node_ptrs[idx].addr; right_addr = internal->node_ptrs[idx + 1].addr; - /* Protect both leafs */ + /* Protect both leaves */ if(NULL == (left_leaf = H5B2_protect_leaf(hdr, dxpl_id, left_addr, internal->node_ptrs[idx].node_nrec, H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree leaf node") if(NULL == (right_leaf = H5B2_protect_leaf(hdr, dxpl_id, right_addr, internal->node_ptrs[idx + 1].node_nrec, H5AC_WRITE))) @@ -341,7 +341,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree leaf node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_split1 */ +} /* end H5B2_split1() */ /*------------------------------------------------------------------------- @@ -646,7 +646,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_redistribute2 */ +} /* end H5B2_redistribute2() */ /*------------------------------------------------------------------------- @@ -1033,7 +1033,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_redistribute3 */ +} /* end H5B2_redistribute3() */ /*------------------------------------------------------------------------- @@ -1505,7 +1505,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree child node") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5B2_swap_leaf */ +} /* end H5B2_swap_leaf() */ /*------------------------------------------------------------------------- @@ -1523,7 +1523,7 @@ done: */ herr_t H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, - void *udata) + H5B2_nodepos_t curr_pos, void *udata) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ int cmp; /* Comparison value of records */ @@ -1574,6 +1574,27 @@ H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, /* Update record count for current node */ leaf->nrec++; + /* Check for new record being the min or max for the tree */ + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec == NULL) + if(NULL == (hdr->min_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree min record info") + HDmemcpy(hdr->min_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec == NULL) + if(NULL == (hdr->max_native_rec = (uint8_t *)HDmalloc(hdr->cls->nrec_size))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for v2 B-tree max record info") + HDmemcpy(hdr->max_native_rec, H5B2_LEAF_NREC(leaf, hdr, idx), hdr->cls->nrec_size); + } /* end if */ + } /* end if */ + } /* end if */ + done: /* Release the B-tree leaf node (marked as dirty) */ if(leaf && H5AC_unprotect(hdr->f, dxpl_id, H5AC_BT2_LEAF, curr_node_ptr->addr, leaf, H5AC__DIRTIED_FLAG) < 0) @@ -1599,11 +1620,12 @@ done: herr_t H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, unsigned *parent_cache_info_flags_ptr, H5B2_node_ptr_t *curr_node_ptr, - void *udata) + H5B2_nodepos_t curr_pos, void *udata) { - H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_internal_t *internal = NULL; /* Pointer to internal node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; unsigned idx; /* Location of record which matches key */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of node */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -1618,7 +1640,7 @@ H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, if(NULL == (internal = H5B2_protect_internal(hdr, dxpl_id, curr_node_ptr->addr, curr_node_ptr->node_nrec, depth, H5AC_WRITE))) HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree internal node") -/* Split or redistribute child node pointers, if necessary */ + /* Split or redistribute child node pointers, if necessary */ { int cmp; /* Comparison value of records */ unsigned retries; /* Number of times to attempt redistribution */ @@ -1691,13 +1713,25 @@ H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, } /* end while */ } /* end block */ + /* Check if this node is left/right-most */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end else */ + } /* end if */ + /* Attempt to insert node */ if(depth > 1) { - if(H5B2_insert_internal(hdr, dxpl_id, (depth - 1), &internal_flags, &internal->node_ptrs[idx], udata) < 0) + if(H5B2_insert_internal(hdr, dxpl_id, (depth - 1), &internal_flags, &internal->node_ptrs[idx], next_pos, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree internal node") } /* end if */ else { - if(H5B2_insert_leaf(hdr, dxpl_id, &internal->node_ptrs[idx], udata) < 0) + if(H5B2_insert_leaf(hdr, dxpl_id, &internal->node_ptrs[idx], next_pos, udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, FAIL, "unable to insert record into B-tree leaf node") } /* end else */ @@ -2074,7 +2108,7 @@ done: */ herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, - void *udata, H5B2_remove_t op, void *op_data) + H5B2_nodepos_t curr_pos, void *udata, H5B2_remove_t op, void *op_data) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ haddr_t leaf_addr = HADDR_UNDEF; /* Leaf address on disk */ @@ -2102,6 +2136,27 @@ H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, H5B2_node_ptr_t *curr_node_ptr, if(H5B2_locate_record(hdr->cls, leaf->nrec, hdr->nat_off, leaf->leaf_native, udata, &idx) != 0) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "record is not in B-tree") + /* Check for invalidating the min/max record for the tree */ + if(H5B2_POS_MIDDLE != curr_pos) { + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + } /* end if */ + /* Make 'remove' callback if there is one */ if(op) if((op)(H5B2_LEAF_NREC(leaf, hdr, idx), op_data) < 0) @@ -2154,13 +2209,14 @@ done: herr_t H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - unsigned *parent_cache_info_flags_ptr, H5B2_node_ptr_t *curr_node_ptr, - void *udata, H5B2_remove_t op, void *op_data) + unsigned *parent_cache_info_flags_ptr, H5B2_nodepos_t curr_pos, + H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, void *op_data) { H5AC_info_t *new_cache_info; /* Pointer to new cache info */ unsigned *new_cache_info_flags_ptr = NULL; H5B2_node_ptr_t *new_node_ptr; /* Pointer to new node pointer */ H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of next node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; haddr_t internal_addr; /* Address of internal node */ size_t merge_nrec; /* Number of records to merge node at */ @@ -2211,6 +2267,9 @@ H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, /* Set flag to indicate root was collapsed */ collapsed_root = TRUE; + + /* Indicate position of next node */ + next_pos = H5B2_POS_ROOT; } /* end if */ /* Merge or redistribute child node pointers, if necessary */ else { @@ -2306,16 +2365,28 @@ H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, new_cache_info_flags_ptr = &internal_flags; new_cache_info = &internal->cache_info; new_node_ptr = &internal->node_ptrs[idx]; + + /* Indicate position of next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end if */ + } /* end if */ } /* end else */ /* Attempt to remove record from child node */ if(depth > 1) { if(H5B2_remove_internal(hdr, dxpl_id, depth_decreased, swap_loc, depth - 1, - new_cache_info, new_cache_info_flags_ptr, new_node_ptr, udata, op, op_data) < 0) + new_cache_info, new_cache_info_flags_ptr, next_pos, new_node_ptr, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") } /* end if */ else { - if(H5B2_remove_leaf(hdr, dxpl_id, new_node_ptr, udata, op, op_data) < 0) + if(H5B2_remove_leaf(hdr, dxpl_id, new_node_ptr, next_pos, udata, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ @@ -2355,8 +2426,8 @@ done: */ herr_t H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, unsigned idx, H5B2_remove_t op, - void *op_data) + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + unsigned idx, H5B2_remove_t op, void *op_data) { H5B2_leaf_t *leaf; /* Pointer to leaf node */ haddr_t leaf_addr = HADDR_UNDEF; /* Leaf address on disk */ @@ -2380,6 +2451,27 @@ H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, HDassert(leaf->nrec == curr_node_ptr->node_nrec); HDassert(idx < leaf->nrec); + /* Check for invalidating the min/max record for the tree */ + if(H5B2_POS_MIDDLE != curr_pos) { + /* (Don't use 'else' for the idx check, to allow for root leaf node) */ + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->min_native_rec) { + HDfree(hdr->min_native_rec); + hdr->min_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + if(idx == (unsigned)(leaf->nrec - 1)) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) { + if(hdr->max_native_rec) { + HDfree(hdr->max_native_rec); + hdr->max_native_rec = NULL; + } /* end if */ + } /* end if */ + } /* end if */ + } /* end if */ + /* Make 'remove' callback if there is one */ if(op) if((op)(H5B2_LEAF_NREC(leaf, hdr, idx), op_data) < 0) @@ -2434,13 +2526,14 @@ herr_t H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, unsigned *parent_cache_info_flags_ptr, - H5B2_node_ptr_t *curr_node_ptr, hsize_t n, H5B2_remove_t op, - void *op_data) + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t n, + H5B2_remove_t op, void *op_data) { H5AC_info_t *new_cache_info; /* Pointer to new cache info */ unsigned *new_cache_info_flags_ptr = NULL; H5B2_node_ptr_t *new_node_ptr; /* Pointer to new node pointer */ H5B2_internal_t *internal; /* Pointer to internal node */ + H5B2_nodepos_t next_pos = H5B2_POS_MIDDLE; /* Position of next node */ unsigned internal_flags = H5AC__NO_FLAGS_SET; haddr_t internal_addr; /* Address of internal node */ size_t merge_nrec; /* Number of records to merge node at */ @@ -2494,6 +2587,9 @@ H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, /* Set flag to indicate root was collapsed */ collapsed_root = TRUE; + + /* Indicate position of next node */ + next_pos = H5B2_POS_ROOT; } /* end if */ /* Merge or redistribute child node pointers, if necessary */ else { @@ -2641,16 +2737,28 @@ H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, new_cache_info_flags_ptr = &internal_flags; new_cache_info = &internal->cache_info; new_node_ptr = &internal->node_ptrs[idx]; + + /* Indicate position of next node */ + if(H5B2_POS_MIDDLE != curr_pos) { + if(idx == 0) { + if(H5B2_POS_LEFT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_LEFT; + } /* end if */ + else if(idx == internal->nrec) { + if(H5B2_POS_RIGHT == curr_pos || H5B2_POS_ROOT == curr_pos) + next_pos = H5B2_POS_RIGHT; + } /* end if */ + } /* end if */ } /* end else */ /* Attempt to remove record from child node */ if(depth > 1) { if(H5B2_remove_internal_by_idx(hdr, dxpl_id, depth_decreased, swap_loc, depth - 1, - new_cache_info, new_cache_info_flags_ptr, new_node_ptr, n, op, op_data) < 0) + new_cache_info, new_cache_info_flags_ptr, new_node_ptr, next_pos, n, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree internal node") } /* end if */ else { - if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, new_node_ptr, (unsigned)n, op, op_data) < 0) + if(H5B2_remove_leaf_by_idx(hdr, dxpl_id, new_node_ptr, next_pos, (unsigned)n, op, op_data) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTDELETE, FAIL, "unable to remove record from B-tree leaf node") } /* end else */ diff --git a/src/H5B2pkg.h b/src/H5B2pkg.h index b820853..7a538bd 100644 --- a/src/H5B2pkg.h +++ b/src/H5B2pkg.h @@ -172,6 +172,8 @@ typedef struct H5B2_hdr_t { uint8_t *page; /* Common disk page for I/O */ size_t *nat_off; /* Array of offsets of native records */ H5B2_node_info_t *node_info; /* Table of node info structs for current depth of B-tree */ + uint8_t *min_native_rec; /* Pointer to minimum native record */ + uint8_t *max_native_rec; /* Pointer to maximum native record */ /* Client information (not stored) */ const H5B2_class_t *cls; /* Class of B-tree client */ @@ -208,6 +210,14 @@ struct H5B2_t { H5F_t *f; /* Pointer to file for v2 B-tree */ }; +/* Node position, for min/max determination */ +typedef enum H5B2_nodepos_t { + H5B2_POS_ROOT, /* Node is root (i.e. both right & left-most in tree) */ + H5B2_POS_RIGHT, /* Node is right-most in tree, at a given depth */ + H5B2_POS_LEFT, /* Node is left-most in tree, at a given depth */ + H5B2_POS_MIDDLE /* Node is neither right or left-most in tree */ +} H5B2_nodepos_t; + /* Callback info for loading a free space header into the cache */ typedef struct H5B2_hdr_cache_ud_t { H5F_t *f; /* File that v2 b-tree header is within */ @@ -304,9 +314,9 @@ H5_DLL herr_t H5B2_internal_free(H5B2_internal_t *i); /* Routines for inserting records */ H5_DLL herr_t H5B2_insert_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, unsigned *parent_cache_info_flags_ptr, - H5B2_node_ptr_t *curr_node_ptr, void *udata); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, void *udata); H5_DLL herr_t H5B2_insert_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, void *udata); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, void *udata); /* Routines for iterating over nodes/records */ H5_DLL herr_t H5B2_iterate_node(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, @@ -326,19 +336,21 @@ H5_DLL herr_t H5B2_neighbor_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, /* Routines for removing records */ H5_DLL herr_t H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, - hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - hbool_t * parent_cache_info_dirtied_ptr, H5B2_node_ptr_t *curr_node_ptr, void *udata, + hbool_t *depth_decreased, void *swap_loc, unsigned depth, + H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr, + H5B2_nodepos_t curr_pos, H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, void *udata, H5B2_remove_t op, - void *op_data); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + void *udata, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - hbool_t *depth_decreased, void *swap_loc, unsigned depth, H5AC_info_t *parent_cache_info, - hbool_t * parent_cache_info_dirtied_ptr, H5B2_node_ptr_t *curr_node_ptr, hsize_t idx, + hbool_t *depth_decreased, void *swap_loc, unsigned depth, + H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr, + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t idx, H5B2_remove_t op, void *op_data); H5_DLL herr_t H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id, - H5B2_node_ptr_t *curr_node_ptr, unsigned idx, H5B2_remove_t op, - void *op_data); + H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, + unsigned idx, H5B2_remove_t op, void *op_data); /* Routines for deleting nodes */ H5_DLL herr_t H5B2_delete_node(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth, diff --git a/src/H5B2stat.c b/src/H5B2stat.c index 5e48a6f..5d159ed 100644 --- a/src/H5B2stat.c +++ b/src/H5B2stat.c @@ -13,10 +13,10 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* Programmer: Quincey Koziol +/* Programmer: Quincey Koziol * Monday, March 6, 2006 * - * Purpose: v2 B-tree metadata statistics functions. + * Purpose: v2 B-tree metadata statistics functions. * */ @@ -24,15 +24,15 @@ /* Module Setup */ /****************/ -#define H5B2_PACKAGE /*suppress error about including H5B2pkg */ +#define H5B2_PACKAGE /* Suppress error about including H5B2pkg */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5B2pkg.h" /* v2 B-trees */ -#include "H5Eprivate.h" /* Error handling */ +#include "H5private.h" /* Generic Functions */ +#include "H5B2pkg.h" /* v2 B-trees */ +#include "H5Eprivate.h" /* Error handling */ /****************/ @@ -71,14 +71,13 @@ /*------------------------------------------------------------------------- - * Function: H5B2_stat_info + * Function: H5B2_stat_info * - * Purpose: Retrieve metadata statistics for a v2 B-tree + * Purpose: Retrieve metadata statistics for a v2 B-tree * - * Return: Success: non-negative - * Failure: negative + * Return: SUCCEED (Can't fail) * - * Programmer: Quincey Koziol + * Programmer: Quincey Koziol * Monday, March 6, 2006 * *------------------------------------------------------------------------- @@ -105,7 +104,7 @@ H5B2_stat_info(H5B2_t *bt2, H5B2_stat_t *info) * Purpose: Iterate over all the records in the B-tree, collecting * storage info. * - * Return: non-negative on success, negative on error + * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * June 19 2007 @@ -115,7 +114,7 @@ H5B2_stat_info(H5B2_t *bt2, H5B2_stat_t *info) herr_t H5B2_size(H5B2_t *bt2, hid_t dxpl_id, hsize_t *btree_size) { - H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ + H5B2_hdr_t *hdr; /* Pointer to the B-tree header */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) -- cgit v0.12 From 595b01658e965b977dd980421cd1bfee27f74dfc Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Tue, 17 Feb 2015 14:30:27 -0500 Subject: [svn-r26193] Description: Fix locking error when splitting root node of v1 B-tree, and simplify the iteration over entries in a v1 B-tree (avoiding using the sibling pointer also). Tested on: Mac OSX/64 10.10.2 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial --- src/H5B.c | 147 +++++++++++++++----------------------------------------------- 1 file changed, 35 insertions(+), 112 deletions(-) diff --git a/src/H5B.c b/src/H5B.c index 286f09d..621209f 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -510,22 +510,18 @@ H5B_split(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, unsigned idx, bt_ud->bt->nchildren = nleft; /* - * Update sibling pointers. + * Update other sibling pointers. */ split_bt_ud->bt->left = bt_ud->addr; split_bt_ud->bt->right = bt_ud->bt->right; if(H5F_addr_defined(bt_ud->bt->right)) { - H5B_t *tmp_bt; - H5B_cache_ud_t cache_udata2; /* User-data for metadata cache callback */ + H5B_t *tmp_bt; - cache_udata2.f = f; - cache_udata2.type = shared->type; - cache_udata2.rc_shared = bt_ud->bt->rc_shared; - if(NULL == (tmp_bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, &cache_udata2, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load right sibling") + if(NULL == (tmp_bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, &cache_udata, H5AC_WRITE))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load right sibling") - tmp_bt->left = split_bt_ud->addr; + tmp_bt->left = split_bt_ud->addr; if(H5AC_unprotect(f, dxpl_id, H5AC_BT, bt_ud->bt->right, tmp_bt, H5AC__DIRTIED_FLAG) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") @@ -539,6 +535,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release B-tree node") split_bt_ud->bt = NULL; split_bt_ud->addr = HADDR_UNDEF; + split_bt_ud->cache_flags = H5AC__NO_FLAGS_SET; } /* end if */ FUNC_LEAVE_NOAPI(ret_value) @@ -559,8 +556,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, - void *udata) +H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void *udata) { /* * These are defined this way to satisfy alignment constraints. @@ -609,6 +605,8 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, <_key_changed, md_key, udata, rt_key, &rt_key_changed, &split_bt_ud/*out*/)) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "unable to insert key") + + /* Check if the root node split */ if(H5B_INS_NOOP == my_ins) { HDassert(!split_bt_ud.bt); HGOTO_DONE(SUCCEED) @@ -633,7 +631,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, */ H5_CHECK_OVERFLOW(shared->sizeof_rnode,size_t,hsize_t); if(HADDR_UNDEF == (old_root_addr = H5MF_alloc(f, H5FD_MEM_BTREE, dxpl_id, (hsize_t)shared->sizeof_rnode))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "unable to allocate file space to move root") + HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "unable to allocate file space to move root") /* * Move the node to the new location @@ -641,7 +639,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, /* Make a copy of the old root information */ if(NULL == (new_root_bt = H5B_copy(bt_ud.bt))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTCOPY, FAIL, "unable to copy old root"); + HGOTO_ERROR(H5E_BTREE, H5E_CANTCOPY, FAIL, "unable to copy old root") /* Unprotect the old root so we can move it. Also force it to be marked * dirty so it is written to the new location. */ @@ -651,7 +649,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, /* Move the location of the old root on the disk */ if(H5AC_move_entry(f, H5AC_BT, bt_ud.addr, old_root_addr) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to move B-tree root node") + HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to move B-tree root node") bt_ud.addr = old_root_addr; /* Update the split b-tree's left pointer to point to the new location */ @@ -769,7 +767,7 @@ H5B_insert_child(H5B_t *bt, unsigned *bt_flags, unsigned idx, *bt_flags |= H5AC__DIRTIED_FLAG; FUNC_LEAVE_NOAPI(SUCCEED) -} +} /* end H5B_insert_child() */ /*------------------------------------------------------------------------- @@ -1046,6 +1044,10 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, else HDmemcpy(rt_key, H5B_NKEY(bt, shared, idx + 1), type->sizeof_nkey); } /* end if */ + + /* + * Handle changes/additions to children + */ if(H5B_INS_CHANGE == my_ins) { /* * The insertion simply changed the address for the child. @@ -1081,7 +1083,7 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, /* Insert the child */ if(H5B_insert_child(tmp_bt, tmp_bt_flags_ptr, idx, new_child_bt_ud.addr, my_ins, md_key) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINSERT, H5B_INS_ERROR, "can't insert child") - } + } /* end else-if */ /* * If this node split, return the mid key (the one that is shared @@ -1113,7 +1115,7 @@ done: HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5B_INS_ERROR, "unable to unprotect new child") FUNC_LEAVE_NOAPI(ret_value) -} +} /* end H5B_insert_helper() */ /*------------------------------------------------------------------------- @@ -1134,13 +1136,12 @@ static herr_t H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, H5B_operator_t op, void *udata) { - H5B_t *bt = NULL; /* Pointer to current B-tree node */ + H5B_t *bt = NULL; /* Pointer to current B-tree node */ H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ - uint8_t *native = NULL; /* Array of keys in native format */ - haddr_t *child = NULL; /* Array of child pointers */ - herr_t ret_value; /* Return value */ + unsigned u; /* Local index variable */ + herr_t ret_value = H5_ITER_CONT; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -1155,7 +1156,7 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") + HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); @@ -1164,99 +1165,21 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add cache_udata.type = type; cache_udata.rc_shared = rc_shared; if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node") - - if(bt->level > 0) { - haddr_t left_child = bt->child[0]; /* Address of left-most child in node */ - - /* Release current node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - - /* Keep following the left-most child until we reach a leaf node. */ - if((ret_value = H5B_iterate_helper(f, dxpl_id, type, left_child, op, udata)) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLIST, H5_ITER_ERROR, "unable to list B-tree node") - } /* end if */ - else { - unsigned nchildren; /* Number of child pointers */ - haddr_t next_addr; /* Address of next node to the right */ - - /* Allocate space for a copy of the native records & child pointers */ - if(NULL == (native = H5FL_BLK_MALLOC(native_block, shared->sizeof_keys))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, H5_ITER_ERROR, "memory allocation failed for shared B-tree native records") - if(NULL == (child = H5FL_SEQ_MALLOC(haddr_t, (size_t)shared->two_k))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, H5_ITER_ERROR, "memory allocation failed for shared B-tree child addresses") - - /* Cache information from this node */ - nchildren = bt->nchildren; - next_addr = bt->right; + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node") - /* Copy the native keys & child pointers into local arrays */ - HDmemcpy(native, bt->native, shared->sizeof_keys); - HDmemcpy(child, bt->child, (nchildren * sizeof(haddr_t))); - - /* Release current node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - - /* - * We've reached the left-most leaf. Now follow the right-sibling - * pointer from leaf to leaf until we've processed all leaves. - */ - ret_value = H5_ITER_CONT; - while(ret_value == H5_ITER_CONT) { - haddr_t *curr_child; /* Pointer to node's child addresses */ - uint8_t *curr_native; /* Pointer to node's native keys */ - unsigned u; /* Local index variable */ - - /* - * Perform the iteration operator, which might invoke an - * application callback. - */ - for(u = 0, curr_child = child, curr_native = native; u < nchildren && ret_value == H5_ITER_CONT; u++, curr_child++, curr_native += type->sizeof_nkey) { - ret_value = (*op)(f, dxpl_id, curr_native, *curr_child, curr_native + type->sizeof_nkey, udata); - if(ret_value < 0) - HERROR(H5E_BTREE, H5E_CANTLIST, "iterator function failed"); - } /* end for */ - - /* Check for continuing iteration */ - if(ret_value == H5_ITER_CONT) { - /* Check for another node */ - if(H5F_addr_defined(next_addr)) { - /* Protect the next node to the right */ - addr = next_addr; - if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "B-tree node") - - /* Cache information from this node */ - nchildren = bt->nchildren; - next_addr = bt->right; - - /* Copy the native keys & child pointers into local arrays */ - HDmemcpy(native, bt->native, shared->sizeof_keys); - HDmemcpy(child, bt->child, nchildren * sizeof(haddr_t)); - - /* Unprotect node */ - if(H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HGOTO_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - bt = NULL; - } /* end if */ - else - /* Exit loop */ - break; - } /* end if */ - } /* end while */ - } /* end else */ + /* Iterate over node's children */ + for(u = 0; u < bt->nchildren && ret_value == H5_ITER_CONT; u++) { + if(bt->level > 0) + ret_value = H5B_iterate_helper(f, dxpl_id, type, bt->child[u], op, udata); + else + ret_value = (*op)(f, dxpl_id, H5B_NKEY(bt, shared, u), bt->child[u], H5B_NKEY(bt, shared, u + 1), udata); + if(ret_value < 0) + HERROR(H5E_BTREE, H5E_BADITER, "B-tree iteration failed"); + } /* end for */ done: if(bt && H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node") - if(native) - native = H5FL_BLK_FREE(native_block, native); - if(child) - child = H5FL_SEQ_FREE(haddr_t, child); FUNC_LEAVE_NOAPI(ret_value) } /* end H5B_iterate_helper() */ @@ -1715,7 +1638,7 @@ H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") + HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); @@ -1724,7 +1647,7 @@ H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void cache_udata.type = type; cache_udata.rc_shared = rc_shared; if(NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_WRITE))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load B-tree node") + HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load B-tree node") /* Iterate over all children in tree, deleting them */ if(bt->level > 0) { -- cgit v0.12 From 85504f53761f96a5903ee176bed25cb3c50d6c54 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Tue, 17 Feb 2015 15:11:39 -0500 Subject: [svn-r26195] Description: Switch from enum H5D_CHUNK_BTREE to H5D_CHUNK_IDX_BTREE, along with a couple of minor whitespace touchups. Tested on: Mac OSX/64 10.10.2 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial --- src/H5Dbtree.c | 12 ++++++------ src/H5Dpkg.h | 2 +- src/H5Dpublic.h | 3 ++- src/H5Olayout.c | 6 +++--- src/H5Pdcpl.c | 2 +- src/H5VM.c | 2 +- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 039ebdc..35c2afa 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -195,7 +195,7 @@ H5B_class_t H5B_BTREE[1] = {{ H5D__btree_remove, /*remove */ H5D__btree_decode_key, /*decode */ H5D__btree_encode_key, /*encode */ - H5D__btree_debug_key, /*debug */ + H5D__btree_debug_key /*debug */ }}; @@ -228,7 +228,7 @@ H5D__btree_get_shared(const H5F_t UNUSED *f, const void *_udata) HDassert(udata); HDassert(udata->storage); - HDassert(udata->storage->idx_type == H5D_CHUNK_BTREE); + HDassert(udata->storage->idx_type == H5D_CHUNK_IDX_BTREE); HDassert(udata->storage->u.btree.shared); /* Return the pointer to the ref-count object */ @@ -868,7 +868,7 @@ done: static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info) { - H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ + H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -939,7 +939,7 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1111,7 +1111,7 @@ H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1453,7 +1453,7 @@ H5D_btree_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent /* Reset "fake" storage info */ HDmemset(&storage, 0, sizeof(storage)); - storage.idx_type = H5D_CHUNK_BTREE; + storage.idx_type = H5D_CHUNK_IDX_BTREE; /* Allocate the shared structure */ if(H5D__btree_shared_create(f, &storage, ndims) < 0) diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index 5a785a3..6128d7e 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -362,7 +362,7 @@ typedef struct H5D_chunk_map_t { } H5D_chunk_map_t; /* Cached information about a particular chunk */ -typedef struct H5D_chunk_cached_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*/ uint32_t nbytes; /*size of stored data */ diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index e7ae3ae..1b5fed7 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -56,7 +56,8 @@ typedef enum H5D_layout_t { /* Types of chunk index data structures */ typedef enum H5D_chunk_index_t { - H5D_CHUNK_BTREE = 0 /* v1 B-tree index */ + H5D_CHUNK_IDX_BTREE = 0, /* v1 B-tree index */ + H5D_CHUNK_IDX_NTYPES /* this one must be last! */ } H5D_chunk_index_t; /* Values for the space allocation time property */ diff --git a/src/H5Olayout.c b/src/H5Olayout.c index 4c43873..816242f 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -147,7 +147,7 @@ H5O_layout_decode(H5F_t *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, /* Set the chunk operations */ /* (Only "btree" indexing type currently supported in this version) */ - mesg->storage.u.chunk.idx_type = H5D_CHUNK_BTREE; + mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE; mesg->storage.u.chunk.ops = H5D_COPS_BTREE; } /* end if */ else { @@ -234,7 +234,7 @@ H5O_layout_decode(H5F_t *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, /* Set the chunk operations */ /* (Only "btree" indexing type supported with v3 of message format) */ - mesg->storage.u.chunk.idx_type = H5D_CHUNK_BTREE; + mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE; mesg->storage.u.chunk.ops = H5D_COPS_BTREE; /* Set the layout operations */ @@ -715,7 +715,7 @@ H5O_layout_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_mesg, /* Index information */ switch(mesg->storage.u.chunk.idx_type) { - case H5D_CHUNK_BTREE: + case H5D_CHUNK_IDX_BTREE: HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Index Type:", "v1 B-tree"); HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, diff --git a/src/H5Pdcpl.c b/src/H5Pdcpl.c index a753209..949cefa 100644 --- a/src/H5Pdcpl.c +++ b/src/H5Pdcpl.c @@ -53,7 +53,7 @@ /* Define default layout information */ #define H5D_DEF_STORAGE_COMPACT_INIT {(hbool_t)FALSE, (size_t)0, NULL} #define H5D_DEF_STORAGE_CONTIG_INIT {HADDR_UNDEF, (hsize_t)0} -#define H5D_DEF_STORAGE_CHUNK_INIT {H5D_CHUNK_BTREE, HADDR_UNDEF, NULL, {{HADDR_UNDEF, NULL}}} +#define H5D_DEF_STORAGE_CHUNK_INIT {H5D_CHUNK_IDX_BTREE, HADDR_UNDEF, NULL, {{HADDR_UNDEF, NULL}}} #define H5D_DEF_LAYOUT_CHUNK_INIT {(unsigned)0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, (uint32_t)0, (hsize_t)0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}} #ifdef H5_HAVE_C99_DESIGNATED_INITIALIZER #define H5D_DEF_STORAGE_COMPACT {H5D_COMPACT, { .compact = H5D_DEF_STORAGE_COMPACT_INIT }} diff --git a/src/H5VM.c b/src/H5VM.c index 6f72c57..a1eafb6 100644 --- a/src/H5VM.c +++ b/src/H5VM.c @@ -1089,7 +1089,7 @@ H5VM_array_offset_pre(unsigned n, const hsize_t *acc, const hsize_t *offset) HDassert(offset); /* Compute offset in array */ - for (i=(int)(n-1), ret_value=0; i>=0; --i) + for(i = (int)(n - 1), ret_value = 0; i >= 0; --i) ret_value += acc[i] * offset[i]; FUNC_LEAVE_NOAPI(ret_value) -- cgit v0.12 From 3db1c5f635e0d1f1b53ec95eb3095f1a3ae44c3a Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 17 Feb 2015 16:30:33 -0500 Subject: [svn-r26200] Fixed mixed tabs and spaces before making changes. No code changes. --- src/H5PL.c | 111 ++++++++++++++++++++++++++++++------------------------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/src/H5PL.c b/src/H5PL.c index 738db90..8042651 100644 --- a/src/H5PL.c +++ b/src/H5PL.c @@ -23,11 +23,11 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5PLprivate.h" /* Plugin */ -#include "H5Zprivate.h" /* Filter pipeline */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5MMprivate.h" /* Memory management */ +#include "H5PLprivate.h" /* Plugin */ +#include "H5Zprivate.h" /* Filter pipeline */ /****************/ @@ -96,9 +96,9 @@ typedef const void *(*H5PL_get_plugin_info_t)(void); /* Type for the list of info for opened plugin libraries */ typedef struct H5PL_table_t { - H5PL_type_t pl_type; /* plugin type */ - int pl_id; /* ID for the plugin */ - H5PL_HANDLE handle; /* plugin handle */ + H5PL_type_t pl_type; /* plugin type */ + int pl_id; /* ID for the plugin */ + H5PL_HANDLE handle; /* plugin handle */ } H5PL_table_t; @@ -128,8 +128,8 @@ static herr_t H5PL__close(H5PL_HANDLE handle); /*******************/ /* Table for opened plugin libraries */ -static size_t H5PL_table_alloc_g = 0; -static size_t H5PL_table_used_g = 0; +static size_t H5PL_table_alloc_g = 0; +static size_t H5PL_table_used_g = 0; static H5PL_table_t *H5PL_table_g = NULL; /* Table of location paths for plugin libraries */ @@ -173,15 +173,15 @@ H5PL__init_interface(void) /*------------------------------------------------------------------------- - * Function: H5PL_no_plugin + * Function: H5PL_no_plugin * - * Purpose: Quick way for filter module to query whether to load plugin + * Purpose: Quick way for filter module to query whether to load plugin * - * Return: TRUE: No plugin loading during data reading + * Return: TRUE: No plugin loading during data reading * - * FALSE: Load plugin during data reading + * FALSE: Load plugin during data reading * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 20 February 2013 * *------------------------------------------------------------------------- @@ -201,18 +201,18 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL_term_interface + * Function: H5PL_term_interface * - * Purpose: Terminate the H5PL interface: release all memory, reset all - * global variables to initial values. This only happens if all - * types have been destroyed from other interfaces. + * Purpose: Terminate the H5PL interface: release all memory, reset all + * global variables to initial values. This only happens if all + * types have been destroyed from other interfaces. * - * Return: Success: Positive if any action was taken that might - * affect some other interface; zero otherwise. + * Return: Success: Positive if any action was taken that might + * affect some other interface; zero otherwise. * - * Failure: Negative. + * Failure: Negative. * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 20 February 2013 * *------------------------------------------------------------------------- @@ -227,13 +227,13 @@ H5PL_term_interface(void) if(H5_interface_initialize_g) { size_t u; /* Local index variable */ - /* Close opened dynamic libraries */ + /* Close opened dynamic libraries */ for(u = 0; u < H5PL_table_used_g; u++) H5PL__close((H5PL_table_g[u]).handle); - /* Free the table of dynamic libraries */ - H5PL_table_g = (H5PL_table_t *)H5MM_xfree(H5PL_table_g); - H5PL_table_used_g = H5PL_table_alloc_g = 0; + /* Free the table of dynamic libraries */ + H5PL_table_g = (H5PL_table_t *)H5MM_xfree(H5PL_table_g); + H5PL_table_used_g = H5PL_table_alloc_g = 0; /* Free the table of search paths */ for(u = 0; u < H5PL_num_paths_g; u++) @@ -242,7 +242,7 @@ H5PL_term_interface(void) H5PL_num_paths_g = 0; H5PL_path_found_g = FALSE; - H5_interface_initialize_g = 0; + H5_interface_initialize_g = 0; i = 1; } /* end if */ @@ -251,15 +251,15 @@ H5PL_term_interface(void) /*------------------------------------------------------------------------- - * Function: H5PL_load + * Function: H5PL_load * - * Purpose: Given the plugin type and identifier, this function searches + * Purpose: Given the plugin type and identifier, this function searches * and/or loads a dynamic plugin library first among the already * opened libraries then in the designated location paths. * - * Return: Non-NULL on success/NULL on failure + * Return: Non-NULL on success/NULL on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -314,13 +314,13 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__init_path_table + * Function: H5PL__init_path_table * - * Purpose: Initialize the path table. + * Purpose: Initialize the path table. * - * Return: Non-negative on success/Negative on failure + * Return: Non-negative on success/Negative on failure * - * Programmer: Quincey Koziol + * Programmer: Quincey Koziol * 18 March 2013 * *------------------------------------------------------------------------- @@ -369,18 +369,18 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__find + * Function: H5PL__find * * Purpose: Given a path, this function opens the directory and envokes * another function to go through all files to find the right * plugin library. Two function definitions are for Unix and * Windows. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -480,7 +480,7 @@ H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) /* Allocate & initialize the path name */ pathname_len = HDstrlen(dir) + HDstrlen(fdFile.cFileName) + 2; - if(NULL == (pathname = (char *)H5MM_malloc(pathname_len))) + if(NULL == (pathname = (char *)H5MM_malloc(pathname_len))) HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path") HDsnprintf(pathname, pathname_len, "%s\\%s", dir, fdFile.cFileName); @@ -495,7 +495,7 @@ H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) HGOTO_DONE(TRUE) } /* end if */ else - HDassert(pathname); + HDassert(pathname); pathname = (char *)H5MM_xfree(pathname); } /* end if */ } while(FindNextFile(hFind, &fdFile)); /* Find the next file. */ @@ -512,17 +512,17 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__open + * Function: H5PL__open * * Purpose: Iterates through all files to find the right plugin library. * It loads the dynamic plugin library and keeps it on the list - * of loaded libraries. + * of loaded libraries. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -600,16 +600,16 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__search_table + * Function: H5PL__search_table * * Purpose: Search in the list of already opened dynamic libraries * to see if the one we are looking for is already opened. * - * Return: TRUE on success, + * Return: TRUE on success, * FALSE on not found, * Negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -631,12 +631,12 @@ H5PL__search_table(H5PL_type_t plugin_type, int type_id, const void **info) const H5Z_class2_t *plugin_info; if(NULL == (get_plugin_info = (H5PL_get_plugin_info_t)H5PL_GET_LIB_FUNC((H5PL_table_g[i]).handle, "H5PLget_plugin_info"))) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get function for H5PLget_plugin_info") + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get function for H5PLget_plugin_info") - if(NULL == (plugin_info = (const H5Z_class2_t *)(*get_plugin_info)())) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get plugin info") + if(NULL == (plugin_info = (const H5Z_class2_t *)(*get_plugin_info)())) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't get plugin info") - *info = plugin_info; + *info = plugin_info; HGOTO_DONE(TRUE) } /* end if */ } /* end for */ @@ -648,13 +648,13 @@ done: /*------------------------------------------------------------------------- - * Function: H5PL__close + * Function: H5PL__close * * Purpose: Closes the handle for dynamic library * - * Return: Non-negative on success/Negative on failure + * Return: Non-negative on success/Negative on failure * - * Programmer: Raymond Lu + * Programmer: Raymond Lu * 13 February 2013 * *------------------------------------------------------------------------- @@ -668,4 +668,3 @@ H5PL__close(H5PL_HANDLE handle) FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5PL__close() */ - -- cgit v0.12 From 546899dcd63b60bda5f52602ea6f799765d2f096 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Wed, 18 Feb 2015 10:53:08 -0500 Subject: [svn-r26203] increase string size to 128 for MPE function event name. --- src/H5private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/H5private.h b/src/H5private.h index 65cc1e9..32b605b 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -213,7 +213,7 @@ #define MPE_LOG_VARS \ static int eventa(FUNC) = -1; \ static int eventb(FUNC) = -1; \ - char p_event_start[100]; + char p_event_start[128]; /* Hardwire the color to "red", since that's what all the routines are using * now. In the future, if we want to change that color for a given routine, -- cgit v0.12 From a75fd4c9600e3b36ceb67832d50e32ba277c5728 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 11:42:47 -0500 Subject: [svn-r26205] Fix for HDFFV-8908: h5tenum_insert_f does not work with default 8 byte integers (xlf compiler) --- fortran/src/H5Tf.c | 46 ++++++++++++++++++++- fortran/src/H5Tff.f90 | 51 ----------------------- fortran/src/H5Tff_F03.f90 | 100 ++++++++++++++++++++++++++++++++++++++++++++++ fortran/src/H5Tff_F90.f90 | 53 ++++++++++++++++++++++++ fortran/src/H5_f.c | 1 - fortran/src/H5f90proto.h | 2 + fortran/test/tH5T_F03.f90 | 25 ++++++++++-- src/H5Tconv.c | 4 ++ 8 files changed, 225 insertions(+), 57 deletions(-) diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index ca9c30f..c406c28 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1772,7 +1772,7 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value) if (c_name == NULL) return ret_value; c_type_id = (hid_t)*type_id; - c_value = (int)*value; + error = H5Tenum_insert(c_type_id, c_name, &c_value); HDfree(c_name); if(error < 0) return ret_value; @@ -1781,6 +1781,50 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value) return ret_value; } +/****if* H5Tf/h5tenum_insert_ptr_c + * NAME + * h5tenum_insert_c + * PURPOSE + * Call H5Tenum_insert to insert a new enumeration datatype member. + * INPUTS + * type_id - Datatype identifier for the enumeration datatype. + * name - Name of the new member. + * namelen - length of the name. + * value - Pointer to the value of the new member. + * RETURNS + * 0 on success, -1 on failure + * AUTHOR + * M. Scot Breitenfeld + * September 25, 2014 + * HISTORY + * + * SOURCE +*/ +int_f +nh5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value) +/******/ +{ + int ret_value = -1; + hid_t c_type_id; + char* c_name; + size_t c_namelen; + int_f c_value; + herr_t error; + + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + + c_type_id = (hid_t)*type_id; + + error = H5Tenum_insert(c_type_id, c_name, value); + HDfree(c_name); + if(error < 0) return ret_value; + + ret_value = 0; + return ret_value; +} + /****if* H5Tf/h5tenum_nameof_c * NAME diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 0e1dbb0..4b4c0b6 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -2335,57 +2335,6 @@ CONTAINS hdferr = h5tenum_create_c(parent_id, new_type_id) END SUBROUTINE h5tenum_create_f - -! -!****s* H5T/h5tenaum_insert_f -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - datatype identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). March 7, 2001 -! SOURCE - SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value !value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** - INTEGER :: namelen - - INTERFACE - INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) - USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: value - INTEGER :: namelen - END FUNCTION h5tenum_insert_c - END INTERFACE - - namelen = LEN(name) - hdferr = h5tenum_insert_c(type_id, name, namelen, value) - END SUBROUTINE h5tenum_insert_f - ! !****s* H5T/h5tenum_nameof_f ! diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index 2405837..60a83e9 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -47,6 +47,12 @@ MODULE H5T_PROVISIONAL !***** + INTERFACE h5tenum_insert_f + MODULE PROCEDURE h5tenum_insert_integer + ! Recommended procedure: + MODULE PROCEDURE h5tenum_insert_ptr + END INTERFACE + CONTAINS !****s* H5T (F03)/H5Tconvert_f_F03 @@ -112,5 +118,99 @@ CONTAINS END SUBROUTINE h5tconvert_f +! +!****s* H5T/h5tenaum_insert_f +! +! NAME +! h5tenaum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - datatype identifier +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_integer(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member + INTEGER, INTENT(IN) :: value ! value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** + INTEGER(C_INT), TARGET :: c_value + TYPE(C_PTR) :: f_ptr + + PRINT*,'b',value + ! make sure 'value' is the same type as the C int + c_value = INT(value, C_INT) + f_ptr = C_LOC(c_value) + + + PRINT*,value + CALL h5tenum_insert_ptr(type_id, name, f_ptr, hdferr) + END SUBROUTINE h5tenum_insert_integer + +! +!****s* H5T/h5tenaum_insert_f_F03 +! +! NAME +! h5tenaum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Name of the new member. +! value - Pointer to the value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! M. Scot Breitenfeld +! September 25, 2014 +! +! HISTORY +! SOURCE + SUBROUTINE h5tenum_insert_ptr(type_id, name, value, hdferr) + USE, INTRINSIC :: ISO_C_BINDING + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(C_PTR), INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) + USE H5GLOBAL + USE, INTRINSIC :: ISO_C_BINDING + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_PTR_C'::h5tenum_insert_ptr_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(C_PTR), VALUE :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_ptr_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_ptr + END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index a95b31f..f2ff543 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -36,4 +36,57 @@ MODULE H5T_PROVISIONAL + USE H5GLOBAL + +CONTAINS +! +!****s* H5T/h5tenaum_insert_f +! +! NAME +! h5tenaum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - datatype identifier +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member + INTEGER, INTENT(IN) :: value !value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f + END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index a149109..4a5fcbc 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -227,7 +227,6 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype if ((floatingtypes[1] = (hid_t_f)H5Tcopy(H5T_IEEE_F32LE)) < 0) return ret_value; if ((floatingtypes[2] = (hid_t_f)H5Tcopy(H5T_IEEE_F64BE)) < 0) return ret_value; if ((floatingtypes[3] = (hid_t_f)H5Tcopy(H5T_IEEE_F64LE)) < 0) return ret_value; - if ((integertypes[0] = (hid_t_f)H5Tcopy(H5T_STD_I8BE)) < 0) return ret_value; if ((integertypes[1] = (hid_t_f)H5Tcopy(H5T_STD_I8LE)) < 0) return ret_value; if ((integertypes[2] = (hid_t_f)H5Tcopy(H5T_STD_I16BE)) < 0) return ret_value; diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index 284ffbd..b4c715f 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -709,6 +709,7 @@ H5_FCDLL int_f nh5arename_c( hid_t_f *loc_id, #define nh5tinsert_array_c2 H5_FC_FUNC_(h5tinsert_array_c2, H5TINSERT_ARRAY_C2) #define nh5tenum_create_c H5_FC_FUNC_(h5tenum_create_c, H5TENUM_CREATE_C) #define nh5tenum_insert_c H5_FC_FUNC_(h5tenum_insert_c, H5TENUM_INSERT_C) +#define nh5tenum_insert_ptr_c H5_FC_FUNC_(h5tenum_insert_ptr_c, H5TENUM_INSERT_PTR_C) #define nh5tenum_nameof_c H5_FC_FUNC_(h5tenum_nameof_c, H5TENUM_NAMEOF_C) #define nh5tenum_valueof_c H5_FC_FUNC_(h5tenum_valueof_c, H5TENUM_VALUEOF_C) #define nh5tget_member_value_c H5_FC_FUNC_(h5tget_member_value_c, H5TGET_MEMBER_VALUE_C) @@ -772,6 +773,7 @@ H5_FCDLL int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen H5_FCDLL int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id); H5_FCDLL int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id); H5_FCDLL int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); +H5_FCDLL int_f nh5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value); H5_FCDLL int_f nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen); H5_FCDLL int_f nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); H5_FCDLL int_f nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value); diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90 index f15424d..cf27284 100644 --- a/fortran/test/tH5T_F03.f90 +++ b/fortran/test/tH5T_F03.f90 @@ -1379,7 +1379,8 @@ SUBROUTINE t_enum(total_error) INTEGER(hsize_t), DIMENSION(1:2) :: dims = (/dim0, dim1/) INTEGER, DIMENSION(1:dim0, 1:dim1), TARGET :: wdata ! Write buffer INTEGER, DIMENSION(:,:), ALLOCATABLE, TARGET :: rdata ! Read buffer - INTEGER, DIMENSION(1:1), TARGET :: val + INTEGER(C_INT), DIMENSION(1:1), TARGET :: val + INTEGER(C_INT), TARGET :: c_val CHARACTER(LEN=6), DIMENSION(1:4) :: & names = (/"SOLID ", "LIQUID", "GAS ", "PLASMA"/) @@ -1398,6 +1399,12 @@ SUBROUTINE t_enum(total_error) wdata(i,j) = MOD( (j-1)*(i-1), PLASMA+1) ENDDO ENDDO + PRINT*,F_BASET,M_BASET + val(1) = 0 +!!$ f_ptr = C_LOC(val(1)) +!!$ CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) +!!$ stop + ! ! Create a new file using the default properties. ! @@ -1419,18 +1426,28 @@ SUBROUTINE t_enum(total_error) ! Insert enumerated value for memtype. ! val(1) = i - CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), val(1), error) + ! c_val = val(1) + f_ptr = C_LOC(val(1)) + CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), f_ptr, error) CALL check("H5Tenum_insert_f", error, total_error) ! ! Insert enumerated value for filetype. We must first convert ! the numerical value val to the base type of the destination. ! - f_ptr = C_LOC(val(1)) + ! f_ptr = C_LOC(val(1)) + ! c_val = val(1) + ! f_ptr = C_LOC(c_val) + PRINT*,'a0',val(1), sizeof(val(1)) CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) + ! val(1) = c_val + PRINT*,'aa',val(1) + ! if(i.eq.1)stop CALL check("H5Tconvert_f",error, total_error) - CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), f_ptr, error) CALL check("H5Tenum_insert_f",error, total_error) + if(i.eq.1) STOP ENDDO + stop ! ! Create dataspace. Setting maximum size to be the current size. ! diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 58b0b46..9dd2cac 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -3410,6 +3410,7 @@ H5T__conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, FUNC_ENTER_PACKAGE + printf("conv_array\n"); switch (cdata->command) { case H5T_CONV_INIT: /* @@ -3579,6 +3580,8 @@ H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, FUNC_ENTER_PACKAGE + printf("**H5T__conv_i_i\n"); + switch(cdata->command) { case H5T_CONV_INIT: if(NULL == (src = (H5T_t *)H5I_object(src_id)) || NULL == (dst = (H5T_t *)H5I_object(dst_id))) @@ -3615,6 +3618,7 @@ H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, olap = (size_t)olap_d; sp = dp = (uint8_t*)buf; + printf("sp %d\n", *sp); direction = 1; } else { double olap_d = HDceil((double)(src->shared->size)/ -- cgit v0.12 From 69d4bda97c4f3b6f855da1146fae1b9e61175c6a Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 11:45:03 -0500 Subject: [svn-r26206] Reverting change r26204 --- src/H5Tconv.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 9dd2cac..58b0b46 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -3410,7 +3410,6 @@ H5T__conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, FUNC_ENTER_PACKAGE - printf("conv_array\n"); switch (cdata->command) { case H5T_CONV_INIT: /* @@ -3580,8 +3579,6 @@ H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, FUNC_ENTER_PACKAGE - printf("**H5T__conv_i_i\n"); - switch(cdata->command) { case H5T_CONV_INIT: if(NULL == (src = (H5T_t *)H5I_object(src_id)) || NULL == (dst = (H5T_t *)H5I_object(dst_id))) @@ -3618,7 +3615,6 @@ H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, olap = (size_t)olap_d; sp = dp = (uint8_t*)buf; - printf("sp %d\n", *sp); direction = 1; } else { double olap_d = HDceil((double)(src->shared->size)/ -- cgit v0.12 From 73bb11dda3265abce3b32b8e28151f536d5d5afb Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Wed, 18 Feb 2015 11:56:22 -0500 Subject: [svn-r26208] Update cmake minimums --- CMakeLists.txt | 2 +- bin/cmakehdf5 | 2 +- c++/CMakeLists.txt | 2 +- c++/examples/CMakeLists.txt | 2 +- c++/src/CMakeLists.txt | 2 +- c++/test/CMakeLists.txt | 2 +- config/cmake/HDF518_Examples.cmake.in | 2 +- examples/CMakeLists.txt | 2 +- fortran/CMakeLists.txt | 2 +- fortran/examples/CMakeLists.txt | 2 +- fortran/src/CMakeLists.txt | 2 +- fortran/test/CMakeLists.txt | 2 +- fortran/testpar/CMakeLists.txt | 2 +- hl/CMakeLists.txt | 2 +- hl/c++/CMakeLists.txt | 2 +- hl/c++/examples/CMakeLists.txt | 2 +- hl/c++/src/CMakeLists.txt | 2 +- hl/c++/test/CMakeLists.txt | 2 +- hl/examples/CMakeLists.txt | 2 +- hl/fortran/CMakeLists.txt | 2 +- hl/fortran/examples/CMakeLists.txt | 2 +- hl/fortran/src/CMakeLists.txt | 2 +- hl/fortran/test/CMakeLists.txt | 2 +- hl/src/CMakeLists.txt | 2 +- hl/test/CMakeLists.txt | 2 +- hl/tools/CMakeLists.txt | 2 +- release_docs/INSTALL_CMake.txt | 2 +- release_docs/USING_HDF5_CMake.txt | 4 ++-- src/CMakeLists.txt | 2 +- test/CMakeLists.txt | 2 +- testpar/CMakeLists.txt | 2 +- tools/CMakeLists.txt | 2 +- tools/h5copy/CMakeLists.txt | 2 +- tools/h5diff/CMakeLists.txt | 2 +- tools/h5dump/CMakeLists.txt | 2 +- tools/h5import/CMakeLists.txt | 2 +- tools/h5jam/CMakeLists.txt | 2 +- tools/h5ls/CMakeLists.txt | 2 +- tools/h5repack/CMakeLists.txt | 2 +- tools/h5stat/CMakeLists.txt | 2 +- tools/lib/CMakeLists.txt | 2 +- tools/misc/CMakeLists.txt | 2 +- tools/perform/CMakeLists.txt | 2 +- 43 files changed, 44 insertions(+), 44 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c16d56..a09ab1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5 C CXX) #----------------------------------------------------------------------------- diff --git a/bin/cmakehdf5 b/bin/cmakehdf5 index ec6357f..c092545 100755 --- a/bin/cmakehdf5 +++ b/bin/cmakehdf5 @@ -279,7 +279,7 @@ EOF #========== #========== cat > $cfgfile <<'EOF' -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ######################################################## # This dashboard is maintained by The HDF Group # For any comments please contact cdashhelp@hdfgroup.org diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt index 63fc083..39280e8 100644 --- a/c++/CMakeLists.txt +++ b/c++/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP) #----------------------------------------------------------------------------- diff --git a/c++/examples/CMakeLists.txt b/c++/examples/CMakeLists.txt index e3e1077..5ea51a4 100644 --- a/c++/examples/CMakeLists.txt +++ b/c++/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed # with "cpp_ex_". This allows for easier filtering of the examples. diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt index c0e2f11..513bbb6 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP_SRC) #----------------------------------------------------------------------------- diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt index acb2b7f..fe463fa 100644 --- a/c++/test/CMakeLists.txt +++ b/c++/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_CPP_TEST) # -------------------------------------------------------------------- # Notes: When creating unit test executables they should be prefixed diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in index 1575393..7b7cf0a 100644 --- a/config/cmake/HDF518_Examples.cmake.in +++ b/config/cmake/HDF518_Examples.cmake.in @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ############################################################################################################### # This script will build and run the examples from a compressed file # Execute from a command line: diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 4cd72a0..da8174b 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_EXAMPLES) #----------------------------------------------------------------------------- diff --git a/fortran/CMakeLists.txt b/fortran/CMakeLists.txt index 3fe9e7d..c725047 100644 --- a/fortran/CMakeLists.txt +++ b/fortran/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90 C CXX Fortran) if (H5_HAVE_PARALLEL) diff --git a/fortran/examples/CMakeLists.txt b/fortran/examples/CMakeLists.txt index 322ae35..1f59f32 100644 --- a/fortran/examples/CMakeLists.txt +++ b/fortran/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90_EXAMPLES C CXX Fortran) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 06b9bed..8c1b45a 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_F90_SRC C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt index d10f2ef..3b235d4 100644 --- a/fortran/test/CMakeLists.txt +++ b/fortran/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_FORTRAN_TESTS C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/fortran/testpar/CMakeLists.txt b/fortran/testpar/CMakeLists.txt index 3361220..dfe9ce7 100644 --- a/fortran/testpar/CMakeLists.txt +++ b/fortran/testpar/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_FORTRAN_TESTPAR C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt index e693dd7..031b7d6 100644 --- a/hl/CMakeLists.txt +++ b/hl/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL C CXX) #----------------------------------------------------------------------------- diff --git a/hl/c++/CMakeLists.txt b/hl/c++/CMakeLists.txt index 9f0aa7e..36f4c30 100644 --- a/hl/c++/CMakeLists.txt +++ b/hl/c++/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP) #----------------------------------------------------------------------------- diff --git a/hl/c++/examples/CMakeLists.txt b/hl/c++/examples/CMakeLists.txt index 8f9b43f..12c1d50 100644 --- a/hl/c++/examples/CMakeLists.txt +++ b/hl/c++/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_EXAMPLES) #----------------------------------------------------------------------------- diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt index 03ef26d..0dee06f 100644 --- a/hl/c++/src/CMakeLists.txt +++ b/hl/c++/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_SRC) #----------------------------------------------------------------------------- diff --git a/hl/c++/test/CMakeLists.txt b/hl/c++/test/CMakeLists.txt index 4a7523c..d4e1157 100644 --- a/hl/c++/test/CMakeLists.txt +++ b/hl/c++/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_CPP_TEST) #----------------------------------------------------------------------------- diff --git a/hl/examples/CMakeLists.txt b/hl/examples/CMakeLists.txt index 7847dbe..edcb920 100644 --- a/hl/examples/CMakeLists.txt +++ b/hl/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_EXAMPLES ) #----------------------------------------------------------------------------- diff --git a/hl/fortran/CMakeLists.txt b/hl/fortran/CMakeLists.txt index c26d94c..d32f85f 100644 --- a/hl/fortran/CMakeLists.txt +++ b/hl/fortran/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_F90 C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/fortran/examples/CMakeLists.txt b/hl/fortran/examples/CMakeLists.txt index 12467b8..bf6a0ca 100644 --- a/hl/fortran/examples/CMakeLists.txt +++ b/hl/fortran/examples/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_F90_EXAMPLES C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index ee8604e..c3a6562 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT(HDF5_HL_F90_SRC C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/fortran/test/CMakeLists.txt b/hl/fortran/test/CMakeLists.txt index 120d6a5..fcb0b8c 100644 --- a/hl/fortran/test/CMakeLists.txt +++ b/hl/fortran/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran) #----------------------------------------------------------------------------- diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt index 9c9e3a9..f4d5a96 100644 --- a/hl/src/CMakeLists.txt +++ b/hl/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_SRC) #----------------------------------------------------------------------------- diff --git a/hl/test/CMakeLists.txt b/hl/test/CMakeLists.txt index 545210b..28c716c 100644 --- a/hl/test/CMakeLists.txt +++ b/hl/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_TEST) # -------------------------------------------------------------------- # Notes: When creating unit test executables they should be prefixed diff --git a/hl/tools/CMakeLists.txt b/hl/tools/CMakeLists.txt index a41aecc..567b3da 100644 --- a/hl/tools/CMakeLists.txt +++ b/hl/tools/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_HL_TOOLS) #----------------------------------------------------------------------------- diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index bc11e20..248f03f 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -632,7 +632,7 @@ platform configuration script. # CTestScript.cmake file. Usage: # "ctest -S HDF518LinuxCmake.cmake -C Release -O hdf518shared.log" ############################################################################ -cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) # this is the location of the source hardcoded to hdf5-1.8.13 set(CTEST_SOURCE_NAME hdf5-1.8.13) diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt index 6195dc3..ae62ac9 100644 --- a/release_docs/USING_HDF5_CMake.txt +++ b/release_docs/USING_HDF5_CMake.txt @@ -179,7 +179,7 @@ Create a CMakeLists.txt file at the source root. Include the following text in the file: ########################################################## -cmake_minimum_required (VERSION 2.8.12) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5MyApp C CXX) FIND_PACKAGE (HDF5 NAMES hdf5) @@ -232,7 +232,7 @@ ctest # where hdf518Examples is the source folder relative to the location of these scripts ############################################################################ -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY}) set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 51cb84d..d9e7195 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_SRC C CXX) #----------------------------------------------------------------------------- diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b99447a..83f82bd 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TEST) #----------------------------------------------------------------------------- diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt index 8c631a3..11437c0 100644 --- a/testpar/CMakeLists.txt +++ b/testpar/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TEST_PAR) #----------------------------------------------------------------------------- diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 2365326..fd47379 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS) #----------------------------------------------------------------------------- diff --git a/tools/h5copy/CMakeLists.txt b/tools/h5copy/CMakeLists.txt index 267d92b..8c27536 100644 --- a/tools/h5copy/CMakeLists.txt +++ b/tools/h5copy/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5COPY) #----------------------------------------------------------------------------- diff --git a/tools/h5diff/CMakeLists.txt b/tools/h5diff/CMakeLists.txt index 35c55a4..f539d20 100644 --- a/tools/h5diff/CMakeLists.txt +++ b/tools/h5diff/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5DIFF) #----------------------------------------------------------------------------- diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt index 584222e..4559ae3 100644 --- a/tools/h5dump/CMakeLists.txt +++ b/tools/h5dump/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5DUMP) #----------------------------------------------------------------------------- diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt index a18133f..2ba2b78 100644 --- a/tools/h5import/CMakeLists.txt +++ b/tools/h5import/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5IMPORT) #----------------------------------------------------------------------------- diff --git a/tools/h5jam/CMakeLists.txt b/tools/h5jam/CMakeLists.txt index a8e3a7c..412a2f0 100644 --- a/tools/h5jam/CMakeLists.txt +++ b/tools/h5jam/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5JAM) #----------------------------------------------------------------------------- diff --git a/tools/h5ls/CMakeLists.txt b/tools/h5ls/CMakeLists.txt index f3749e3..0d163ce 100644 --- a/tools/h5ls/CMakeLists.txt +++ b/tools/h5ls/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5LS) #----------------------------------------------------------------------------- diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt index cb8720e..f6c3050 100644 --- a/tools/h5repack/CMakeLists.txt +++ b/tools/h5repack/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5REPACK) #----------------------------------------------------------------------------- diff --git a/tools/h5stat/CMakeLists.txt b/tools/h5stat/CMakeLists.txt index 0658216..2969405 100644 --- a/tools/h5stat/CMakeLists.txt +++ b/tools/h5stat/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_H5STAT) #----------------------------------------------------------------------------- diff --git a/tools/lib/CMakeLists.txt b/tools/lib/CMakeLists.txt index ce29208..35ad46e 100644 --- a/tools/lib/CMakeLists.txt +++ b/tools/lib/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_LIB) #----------------------------------------------------------------------------- diff --git a/tools/misc/CMakeLists.txt b/tools/misc/CMakeLists.txt index 8af05b4..932948d 100644 --- a/tools/misc/CMakeLists.txt +++ b/tools/misc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_TOOLS_MISC) #----------------------------------------------------------------------------- diff --git a/tools/perform/CMakeLists.txt b/tools/perform/CMakeLists.txt index 0713661..e6abf7f 100644 --- a/tools/perform/CMakeLists.txt +++ b/tools/perform/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.11) +cmake_minimum_required (VERSION 3.1.0) PROJECT (HDF5_PERFORM ) #----------------------------------------------------------------------------- -- cgit v0.12 From f1ffd2202b3cd82da53b75016281c92706dfa8d3 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 12:30:31 -0500 Subject: [svn-r26210] Removed debugging statement and typos. --- fortran/src/H5Tff_F03.f90 | 5 +---- fortran/src/H5Tff_F90.f90 | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index 60a83e9..616ff58 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -151,18 +151,15 @@ CONTAINS INTEGER(C_INT), TARGET :: c_value TYPE(C_PTR) :: f_ptr - PRINT*,'b',value ! make sure 'value' is the same type as the C int c_value = INT(value, C_INT) f_ptr = C_LOC(c_value) - - PRINT*,value CALL h5tenum_insert_ptr(type_id, name, f_ptr, hdferr) END SUBROUTINE h5tenum_insert_integer ! -!****s* H5T/h5tenaum_insert_f_F03 +!****s* H5T/h5tenum_insert_f_F03 ! ! NAME ! h5tenaum_insert_f diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index f2ff543..24af4bb 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -40,7 +40,7 @@ MODULE H5T_PROVISIONAL CONTAINS ! -!****s* H5T/h5tenaum_insert_f +!****s* H5T/h5tenum_insert_f ! ! NAME ! h5tenaum_insert_f -- cgit v0.12 From 3a303d3dd3d3c5b065e0f72c521342b610baf555 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 12:45:42 -0500 Subject: [svn-r26211] revert ci 26204 --- fortran/src/H5Tf.c | 46 +--------------------- fortran/src/H5Tff.f90 | 51 +++++++++++++++++++++++++ fortran/src/H5Tff_F03.f90 | 97 ----------------------------------------------- fortran/src/H5Tff_F90.f90 | 53 -------------------------- fortran/src/H5_f.c | 1 + fortran/src/H5f90proto.h | 2 - fortran/test/tH5T_F03.f90 | 25 ++---------- 7 files changed, 57 insertions(+), 218 deletions(-) diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index c406c28..ca9c30f 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1772,7 +1772,7 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value) if (c_name == NULL) return ret_value; c_type_id = (hid_t)*type_id; - + c_value = (int)*value; error = H5Tenum_insert(c_type_id, c_name, &c_value); HDfree(c_name); if(error < 0) return ret_value; @@ -1781,50 +1781,6 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value) return ret_value; } -/****if* H5Tf/h5tenum_insert_ptr_c - * NAME - * h5tenum_insert_c - * PURPOSE - * Call H5Tenum_insert to insert a new enumeration datatype member. - * INPUTS - * type_id - Datatype identifier for the enumeration datatype. - * name - Name of the new member. - * namelen - length of the name. - * value - Pointer to the value of the new member. - * RETURNS - * 0 on success, -1 on failure - * AUTHOR - * M. Scot Breitenfeld - * September 25, 2014 - * HISTORY - * - * SOURCE -*/ -int_f -nh5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value) -/******/ -{ - int ret_value = -1; - hid_t c_type_id; - char* c_name; - size_t c_namelen; - int_f c_value; - herr_t error; - - c_namelen = *namelen; - c_name = (char *)HD5f2cstring(name, c_namelen); - if (c_name == NULL) return ret_value; - - c_type_id = (hid_t)*type_id; - - error = H5Tenum_insert(c_type_id, c_name, value); - HDfree(c_name); - if(error < 0) return ret_value; - - ret_value = 0; - return ret_value; -} - /****if* H5Tf/h5tenum_nameof_c * NAME diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 4b4c0b6..0e1dbb0 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -2335,6 +2335,57 @@ CONTAINS hdferr = h5tenum_create_c(parent_id, new_type_id) END SUBROUTINE h5tenum_create_f + +! +!****s* H5T/h5tenaum_insert_f +! +! NAME +! h5tenaum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - datatype identifier +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member + INTEGER, INTENT(IN) :: value !value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f + ! !****s* H5T/h5tenum_nameof_f ! diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index 616ff58..2405837 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -47,12 +47,6 @@ MODULE H5T_PROVISIONAL !***** - INTERFACE h5tenum_insert_f - MODULE PROCEDURE h5tenum_insert_integer - ! Recommended procedure: - MODULE PROCEDURE h5tenum_insert_ptr - END INTERFACE - CONTAINS !****s* H5T (F03)/H5Tconvert_f_F03 @@ -118,96 +112,5 @@ CONTAINS END SUBROUTINE h5tconvert_f -! -!****s* H5T/h5tenaum_insert_f -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - datatype identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). March 7, 2001 -! SOURCE - SUBROUTINE h5tenum_insert_integer(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value ! value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** - INTEGER(C_INT), TARGET :: c_value - TYPE(C_PTR) :: f_ptr - - ! make sure 'value' is the same type as the C int - c_value = INT(value, C_INT) - f_ptr = C_LOC(c_value) - - CALL h5tenum_insert_ptr(type_id, name, f_ptr, hdferr) - END SUBROUTINE h5tenum_insert_integer - -! -!****s* H5T/h5tenum_insert_f_F03 -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - Datatype identifier for the enumeration datatype. -! name - Name of the new member. -! value - Pointer to the value of the new member. -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! M. Scot Breitenfeld -! September 25, 2014 -! -! HISTORY -! SOURCE - SUBROUTINE h5tenum_insert_ptr(type_id, name, value, hdferr) - USE, INTRINSIC :: ISO_C_BINDING - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - TYPE(C_PTR), INTENT(IN) :: value - INTEGER, INTENT(OUT) :: hdferr -!***** - INTEGER :: namelen - - INTERFACE - INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) - USE H5GLOBAL - USE, INTRINSIC :: ISO_C_BINDING - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_PTR_C'::h5tenum_insert_ptr_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - TYPE(C_PTR), VALUE :: value - INTEGER :: namelen - END FUNCTION h5tenum_insert_ptr_c - END INTERFACE - - namelen = LEN(name) - hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value) - END SUBROUTINE h5tenum_insert_ptr - END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index 24af4bb..a95b31f 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -36,57 +36,4 @@ MODULE H5T_PROVISIONAL - USE H5GLOBAL - -CONTAINS -! -!****s* H5T/h5tenum_insert_f -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - datatype identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). March 7, 2001 -! SOURCE - SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value !value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** - INTEGER :: namelen - - INTERFACE - INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) - USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: value - INTEGER :: namelen - END FUNCTION h5tenum_insert_c - END INTERFACE - - namelen = LEN(name) - hdferr = h5tenum_insert_c(type_id, name, namelen, value) - END SUBROUTINE h5tenum_insert_f - END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index 4a5fcbc..a149109 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -227,6 +227,7 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype if ((floatingtypes[1] = (hid_t_f)H5Tcopy(H5T_IEEE_F32LE)) < 0) return ret_value; if ((floatingtypes[2] = (hid_t_f)H5Tcopy(H5T_IEEE_F64BE)) < 0) return ret_value; if ((floatingtypes[3] = (hid_t_f)H5Tcopy(H5T_IEEE_F64LE)) < 0) return ret_value; + if ((integertypes[0] = (hid_t_f)H5Tcopy(H5T_STD_I8BE)) < 0) return ret_value; if ((integertypes[1] = (hid_t_f)H5Tcopy(H5T_STD_I8LE)) < 0) return ret_value; if ((integertypes[2] = (hid_t_f)H5Tcopy(H5T_STD_I16BE)) < 0) return ret_value; diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index b4c715f..284ffbd 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -709,7 +709,6 @@ H5_FCDLL int_f nh5arename_c( hid_t_f *loc_id, #define nh5tinsert_array_c2 H5_FC_FUNC_(h5tinsert_array_c2, H5TINSERT_ARRAY_C2) #define nh5tenum_create_c H5_FC_FUNC_(h5tenum_create_c, H5TENUM_CREATE_C) #define nh5tenum_insert_c H5_FC_FUNC_(h5tenum_insert_c, H5TENUM_INSERT_C) -#define nh5tenum_insert_ptr_c H5_FC_FUNC_(h5tenum_insert_ptr_c, H5TENUM_INSERT_PTR_C) #define nh5tenum_nameof_c H5_FC_FUNC_(h5tenum_nameof_c, H5TENUM_NAMEOF_C) #define nh5tenum_valueof_c H5_FC_FUNC_(h5tenum_valueof_c, H5TENUM_VALUEOF_C) #define nh5tget_member_value_c H5_FC_FUNC_(h5tget_member_value_c, H5TGET_MEMBER_VALUE_C) @@ -773,7 +772,6 @@ H5_FCDLL int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen H5_FCDLL int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id); H5_FCDLL int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id); H5_FCDLL int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); -H5_FCDLL int_f nh5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value); H5_FCDLL int_f nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen); H5_FCDLL int_f nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); H5_FCDLL int_f nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value); diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90 index cf27284..f15424d 100644 --- a/fortran/test/tH5T_F03.f90 +++ b/fortran/test/tH5T_F03.f90 @@ -1379,8 +1379,7 @@ SUBROUTINE t_enum(total_error) INTEGER(hsize_t), DIMENSION(1:2) :: dims = (/dim0, dim1/) INTEGER, DIMENSION(1:dim0, 1:dim1), TARGET :: wdata ! Write buffer INTEGER, DIMENSION(:,:), ALLOCATABLE, TARGET :: rdata ! Read buffer - INTEGER(C_INT), DIMENSION(1:1), TARGET :: val - INTEGER(C_INT), TARGET :: c_val + INTEGER, DIMENSION(1:1), TARGET :: val CHARACTER(LEN=6), DIMENSION(1:4) :: & names = (/"SOLID ", "LIQUID", "GAS ", "PLASMA"/) @@ -1399,12 +1398,6 @@ SUBROUTINE t_enum(total_error) wdata(i,j) = MOD( (j-1)*(i-1), PLASMA+1) ENDDO ENDDO - PRINT*,F_BASET,M_BASET - val(1) = 0 -!!$ f_ptr = C_LOC(val(1)) -!!$ CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) -!!$ stop - ! ! Create a new file using the default properties. ! @@ -1426,28 +1419,18 @@ SUBROUTINE t_enum(total_error) ! Insert enumerated value for memtype. ! val(1) = i - ! c_val = val(1) - f_ptr = C_LOC(val(1)) - CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), f_ptr, error) + CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), val(1), error) CALL check("H5Tenum_insert_f", error, total_error) ! ! Insert enumerated value for filetype. We must first convert ! the numerical value val to the base type of the destination. ! - ! f_ptr = C_LOC(val(1)) - ! c_val = val(1) - ! f_ptr = C_LOC(c_val) - PRINT*,'a0',val(1), sizeof(val(1)) + f_ptr = C_LOC(val(1)) CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) - ! val(1) = c_val - PRINT*,'aa',val(1) - ! if(i.eq.1)stop CALL check("H5Tconvert_f",error, total_error) - CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), f_ptr, error) + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) CALL check("H5Tenum_insert_f",error, total_error) - if(i.eq.1) STOP ENDDO - stop ! ! Create dataspace. Setting maximum size to be the current size. ! -- cgit v0.12 From 41aeac45047cd5a18b7862e6138b9e886c5634ed Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Wed, 18 Feb 2015 13:25:05 -0500 Subject: [svn-r26213] Description: Minor code cleanups, to align with revise_chunks branch. Tested on: Mac OSX/64 10.10.2 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial --- src/H5Dchunk.c | 126 +++++++++++++++++++++++++-------------------------------- src/H5Dint.c | 28 +++++++------ src/H5Dio.c | 10 ++--- 3 files changed, 76 insertions(+), 88 deletions(-) diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 46f0a4f..9f2a020 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -318,24 +318,22 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz uint32_t data_size, const void *buf) { const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset layout */ - H5D_chunk_ud_t udata; /* User data for querying chunk info */ + H5D_chunk_ud_t udata; /* User data for querying chunk info */ hsize_t chunk_idx; H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */ int space_ndims; /* Dataset's space rank */ hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */ - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL) /* Allocate data space and initialize it if it hasn't been. */ - if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { + 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) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize storage") - } /* end if */ - /* Retrieve the dataset dimensions */ if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL)) < 0) @@ -385,11 +383,9 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz /* Evict the 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) + if(UINT_MAX != udata.idx_hint) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[udata.idx_hint], FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk") - } /* end if */ /* Write the data to the file */ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, data_size, dxpl_id, buf) < 0) @@ -1317,13 +1313,12 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t new_chunk_info->mspace_shared = FALSE; /* Copy the chunk's coordinates */ - for(u=0; uf_ndims; u++) - new_chunk_info->coords[u]=coords[u]; - new_chunk_info->coords[fm->f_ndims]=0; + HDmemcpy(new_chunk_info->coords, coords, sizeof(hsize_t) * fm->f_ndims); + new_chunk_info->coords[fm->f_ndims] = 0; /* Insert the new chunk into the skip list */ if(H5SL_insert(fm->sel_chunks, new_chunk_info, &new_chunk_info->index) < 0) { - H5D__free_chunk_info(new_chunk_info, NULL, NULL); + H5D__free_chunk_info(new_chunk_info, NULL, NULL); HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINSERT, FAIL, "can't insert chunk into skip list") } /* end if */ @@ -1508,7 +1503,7 @@ H5D__chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, cons H5D_chunk_file_iter_ud_t *udata = (H5D_chunk_file_iter_ud_t *)_udata; /* User data for operation */ H5D_chunk_map_t *fm = udata->fm; /* File<->memory chunk mapping info */ H5D_chunk_info_t *chunk_info; /* Chunk information for current chunk */ - hsize_t coords_in_chunk[H5O_LAYOUT_NDIMS]; /* Coordinates of element in chunk */ + hsize_t coords_in_chunk[H5O_LAYOUT_NDIMS]; /* Coordinates of element in chunk */ hsize_t chunk_index; /* Chunk index */ unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ @@ -2238,8 +2233,6 @@ 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) { - unsigned u; /* Local index variable */ - FUNC_ENTER_STATIC_NOERR /* Sanity check */ @@ -2250,8 +2243,7 @@ H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *ud HDassert(udata->common.offset); /* Stored the information to cache */ - for(u = 0; u < udata->common.layout->ndims; u++) - last->offset[u] = udata->common.offset[u]; + HDmemcpy(last->offset, udata->common.offset, sizeof(hsize_t) * udata->common.layout->ndims); last->nbytes = udata->nbytes; last->filter_mask = udata->filter_mask; last->addr = udata->addr; @@ -2820,7 +2812,6 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, haddr_t chunk_addr = HADDR_UNDEF; /* Address of chunk on disk */ size_t chunk_size; /*size of a chunk */ void *chunk = NULL; /*the file chunk */ - unsigned u; /*counters */ void *ret_value; /*return value */ FUNC_ENTER_PACKAGE @@ -2846,9 +2837,13 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, ent = rdcc->slot[udata->idx_hint]; #ifndef NDEBUG +{ + unsigned u; /*counters */ + /* Make sure this is the right chunk */ for(u = 0; u < layout->u.chunk.ndims; u++) HDassert(io_info->store->chunk.offset[u] == ent->offset[u]); +} #endif /* NDEBUG */ /* @@ -2990,15 +2985,12 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk(s) from cache") /* Create a new entry */ - if(NULL == (ent = H5FL_MALLOC(H5D_rdcc_ent_t))) + if(NULL == (ent = H5FL_CALLOC(H5D_rdcc_ent_t))) HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, NULL, "can't allocate raw data chunk entry") - ent->locked = 0; - ent->dirty = FALSE; - ent->deleted = FALSE; + /* Initialize the new entry */ ent->chunk_addr = chunk_addr; - for(u = 0; u < layout->u.chunk.ndims; u++) - ent->offset[u] = io_info->store->chunk.offset[u]; + HDmemcpy(ent->offset, io_info->store->chunk.offset, sizeof(hsize_t) * layout->u.chunk.ndims); H5_ASSIGN_OVERFLOW(ent->rd_count, chunk_size, size_t, uint32_t); H5_ASSIGN_OVERFLOW(ent->wr_count, chunk_size, size_t, uint32_t); ent->chunk = (uint8_t *)chunk; @@ -3011,16 +3003,13 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, rdcc->nused++; /* Add it to the linked list */ - ent->next = NULL; if(rdcc->tail) { rdcc->tail->next = ent; ent->prev = rdcc->tail; rdcc->tail = ent; } /* end if */ - else { + else rdcc->head = rdcc->tail = ent; - ent->prev = NULL; - } /* end else */ } /* end if */ else /* We did not add the chunk to cache */ @@ -3413,8 +3402,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, continue; else { /* Reset the chunk offset indices */ - HDmemset(chunk_offset, 0, ((unsigned)space_ndims - * sizeof(chunk_offset[0]))); + HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0]))); chunk_offset[op_dim] = min_unalloc[op_dim]; carry = FALSE; @@ -3444,10 +3432,12 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* Make sure the chunk is really in the dataset and outside the * original dimensions */ { + unsigned u; /* Local index variable */ hbool_t outside_orig = FALSE; - for(i=0; i= old_dim[i]) + + for(u = 0; u < (unsigned)space_ndims; u++) { + HDassert(chunk_offset[u] < space_dim[u]); + if(chunk_offset[u] >= old_dim[u]) outside_orig = TRUE; } /* end for */ HDassert(outside_orig); @@ -3546,13 +3536,14 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* Increment indices */ carry = TRUE; - for(i = (int)(space_ndims - 1); i >= 0; --i) { + for(i = ((int)space_ndims - 1); i >= 0; --i) { chunk_offset[i] += chunk_dim[i]; - if(chunk_offset[i] > max_unalloc[i]) + if(chunk_offset[i] > max_unalloc[i]) { if(i == op_dim) chunk_offset[i] = min_unalloc[i]; else chunk_offset[i] = 0; + } /* end if */ else { carry = FALSE; break; @@ -4006,7 +3997,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) hsize_t hyper_start[H5O_LAYOUT_NDIMS]; /* Starting location of hyperslab */ uint32_t elmts_per_chunk; /* Elements in chunk */ hbool_t carry; /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */ - int i; /* Local index variable */ + unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -4043,15 +4034,14 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) /* (also copy the chunk dimensions into 'hsize_t' array for creating dataspace) */ /* (also compute the dimensions which have been shrunk) */ elmts_per_chunk = 1; - for(i = 0; i < space_ndims; i++) { - elmts_per_chunk *= layout->u.chunk.dim[i]; - chunk_dim[i] = layout->u.chunk.dim[i]; - shrunk_dim[i] = space_dim[i] < old_dim[i]; + for(u = 0; u < (unsigned)space_ndims; u++) { + elmts_per_chunk *= layout->u.chunk.dim[u]; + chunk_dim[u] = layout->u.chunk.dim[u]; + shrunk_dim[u] = space_dim[u] < old_dim[u]; } /* end for */ /* Create a dataspace for a chunk & set the extent */ - if(NULL == (chunk_space = H5S_create_simple((unsigned)space_ndims, - chunk_dim, NULL))) + if(NULL == (chunk_space = H5S_create_simple((unsigned)space_ndims, chunk_dim, NULL))) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCREATE, FAIL, "can't create simple dataspace") /* Reset hyperslab start array */ @@ -4118,8 +4108,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) / chunk_dim[op_dim]); /* Determine if we need to fill chunks in this dimension */ - if((hssize_t)min_mod_chunk_off[op_dim] - == max_fill_chunk_off[op_dim]) { + if((hssize_t)min_mod_chunk_off[op_dim] == max_fill_chunk_off[op_dim]) { fill_dim[op_dim] = TRUE; has_fill = TRUE; } /* end if */ @@ -4136,8 +4125,8 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(has_fill) for(ent = rdcc->head; ent; ent = ent->next) /* Check for chunk offset outside of new dimensions */ - for(i = 0; ioffset[i] >= space_dim[i]) { + for(u = 0; u < (unsigned)space_ndims; u++) + if((hsize_t)ent->offset[u] >= space_dim[u]) { /* Mark the entry as "deleted" */ ent->deleted = TRUE; break; @@ -4149,28 +4138,28 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(!shrunk_dim[op_dim]) continue; else { - HDassert((hsize_t) max_mod_chunk_off[op_dim] - >= min_mod_chunk_off[op_dim]); + HDassert((hsize_t) max_mod_chunk_off[op_dim] >= min_mod_chunk_off[op_dim]); /* Reset the chunk offset indices */ - HDmemset(chunk_offset, 0, ((unsigned)space_ndims - * sizeof(chunk_offset[0]))); + HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0]))); chunk_offset[op_dim] = min_mod_chunk_off[op_dim]; /* Initialize "dims_outside_fill" array */ ndims_outside_fill = 0; - for(i=0; i max_fill_chunk_off[i]) { - dims_outside_fill[i] = TRUE; + for(u = 0; u < (unsigned)space_ndims; u++) + if((hssize_t)chunk_offset[u] > max_fill_chunk_off[u]) { + dims_outside_fill[u] = TRUE; ndims_outside_fill++; } /* end if */ else - dims_outside_fill[i] = FALSE; + dims_outside_fill[u] = FALSE; carry = FALSE; } /* end if */ while(!carry) { + int i; /* Local index variable */ + /* Calculate the index of this chunk */ if(H5VM_chunk_index((unsigned)space_ndims, chunk_offset, layout->u.chunk.dim, layout->u.chunk.down_chunks, @@ -4191,8 +4180,8 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) { hbool_t outside_dim = FALSE; - for(i=0; i= space_dim[i]){ + for(u = 0; u < (unsigned)space_ndims; u++) + if(chunk_offset[u] >= space_dim[u]) { outside_dim = TRUE; break; } /* end if */ @@ -4206,11 +4195,9 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) /* Evict the entry from the cache if present, but do not flush * it to disk */ - if(UINT_MAX != chk_udata.idx_hint) { - if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, - rdcc->slot[chk_udata.idx_hint], FALSE) < 0) + if(UINT_MAX != chk_udata.idx_hint) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[chk_udata.idx_hint], FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk") - } /* end if */ /* Remove the chunk from disk, if present */ if(H5F_addr_defined(chk_udata.addr)) { @@ -4218,8 +4205,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) idx_udata.offset = chunk_offset; /* Remove the chunk from disk */ - if((layout->storage.u.chunk.ops->remove)(&idx_info, &idx_udata) - < 0) + if((layout->storage.u.chunk.ops->remove)(&idx_info, &idx_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDELETE, FAIL, "unable to remove chunk entry from index") } /* end if */ } /* end else */ @@ -4248,8 +4234,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) } /* end if */ else { /* Check if we just went outside the fill dimension */ - if(!dims_outside_fill[i] && (hssize_t)chunk_offset[i] - > max_fill_chunk_off[i]) { + if(!dims_outside_fill[i] && (hssize_t)chunk_offset[i] > max_fill_chunk_off[i]) { dims_outside_fill[i] = TRUE; ndims_outside_fill++; } /* end if */ @@ -4267,8 +4252,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) if(min_mod_chunk_off[op_dim] == 0) break; else - max_mod_chunk_off[op_dim] = min_mod_chunk_off[op_dim] - - chunk_dim[op_dim]; + max_mod_chunk_off[op_dim] = min_mod_chunk_off[op_dim] - chunk_dim[op_dim]; } /* end for(op_dim=0...) */ /* Reset any cached chunk info for this dataset */ @@ -4278,10 +4262,9 @@ done: /* Release resources */ if(chunk_space && H5S_close(chunk_space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") - if(udata_init) { + if(udata_init) if(udata.fb_info_init && H5D__fill_term(&udata.fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") - } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__chunk_prune_by_extent() */ @@ -4473,7 +4456,7 @@ H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id) H5D_rdcc_ent_t *old_ent; /* Old cache entry */ H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ - unsigned rank; /*current # of dimensions */ + unsigned rank; /* Current # of dimensions */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -5178,7 +5161,8 @@ H5D__chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) idx_info.storage = &dset->shared->layout.storage.u.chunk; /* Free any index structures */ - if((dset->shared->layout.storage.u.chunk.ops->dest)(&idx_info) < 0) + if(dset->shared->layout.storage.u.chunk.ops->dest && + (dset->shared->layout.storage.u.chunk.ops->dest)(&idx_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to release chunk index info") done: diff --git a/src/H5Dint.c b/src/H5Dint.c index ee346f3..8e1fcec 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -478,7 +478,6 @@ done: herr_t H5D__get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id) { - H5S_t *space; /* Dataset's dataspace */ hsize_t space_allocated; /* The number of bytes allocated for chunks */ hssize_t snelmts; /* Temporary holder for number of elements in dataspace */ hsize_t nelmts; /* Number of elements in dataspace */ @@ -491,11 +490,10 @@ H5D__get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id HDassert(dset); /* Get the dataset's dataspace */ - space = dset->shared->space; - HDassert(space); + HDassert(dset->shared->space); /* Get the total number of elements in dataset's dataspace */ - if((snelmts = H5S_GET_EXTENT_NPOINTS(space)) < 0) + if((snelmts = H5S_GET_EXTENT_NPOINTS(dset->shared->space)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to retrieve number of elements in dataspace") nelmts = (hsize_t)snelmts; @@ -1185,6 +1183,7 @@ H5D_open(const H5G_loc_t *loc, hid_t dapl_id, hid_t dxpl_id) HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment object count") } /* end else */ + /* Set the dataset to return */ ret_value = dataset; done: @@ -1226,6 +1225,7 @@ H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) H5O_fill_t *fill_prop; /* Pointer to dataset's fill value info */ unsigned alloc_time_state; /* Allocation time state */ htri_t msg_exists; /* Whether a particular type of message exists */ + hbool_t layout_init = FALSE; /* Flag to indicate that chunk information was initialized */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(dxpl_id, dataset->oloc.addr, FAIL) @@ -1263,6 +1263,9 @@ H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) if(H5D__layout_oh_read(dataset, dxpl_id, dapl_id, plist) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get layout/pline/efl info") + /* Indicate that the layout information was initialized */ + layout_init = TRUE; + /* Point at dataset's copy, to cache it for later */ fill_prop = &dataset->shared->dcpl_cache.fill; @@ -1338,6 +1341,9 @@ done: if(H5F_addr_defined(dataset->oloc.addr) && H5O_close(&(dataset->oloc)) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header") if(dataset->shared) { + if(dataset->shared->layout.type == H5D_CHUNKED && layout_init) + if(H5D__chunk_dest(dataset->oloc.file, dxpl_id, dataset) < 0) + HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy chunk cache") if(dataset->shared->space && H5S_close(dataset->shared->space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") if(dataset->shared->type) { @@ -2212,6 +2218,7 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) */ /* Update the index values for the cached chunks for this dataset */ if(H5D_CHUNKED == dset->shared->layout.type) { + /* Update the cached chunk info */ if(H5D__chunk_set_info(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks") if(H5D__chunk_update_cache(dset, dxpl_id) < 0) @@ -2230,11 +2237,10 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) *------------------------------------------------------------------------- */ if(shrink && H5D_CHUNKED == dset->shared->layout.type && - (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { + (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) /* Remove excess chunks */ if(H5D__chunk_prune_by_extent(dset, dxpl_id, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to remove chunks") - } /* end if */ /* Mark the dataspace as dirty, for later writing to the file */ if(H5D__mark(dset, dxpl_id, H5D_MARK_SPACE) < 0) @@ -2667,16 +2673,14 @@ H5D_get_space(H5D_t *dset) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get data space") /* Create an atom */ - if((ret_value = H5I_register (H5I_DATASPACE, space, TRUE)) < 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register data space") + if((ret_value = H5I_register(H5I_DATASPACE, space, TRUE)) < 0) + HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register dataspace") done: - if(ret_value < 0) { - if(space!=NULL) { + if(ret_value < 0) + if(space != NULL) if(H5S_close(space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") - } /* end if */ - } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D_get_space() */ diff --git a/src/H5Dio.c b/src/H5Dio.c index 096a211..88f75b1 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -305,7 +305,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]; - int i; + unsigned u; /* Get the dataset transfer property list */ if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id))) @@ -327,16 +327,16 @@ 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(i = 0; i < ndims; i++) { + for(u = 0; u < ndims; u++) { /* Make sure the offset doesn't exceed the dataset's dimensions */ - if(direct_offset[i] > dims[i]) + if(direct_offset[u] > dims[u]) HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset exceeds dimensions of dataset") /* Make sure the offset fall right on a chunk's boundary */ - if(direct_offset[i] % dset->shared->layout.u.chunk.dim[i]) + if(direct_offset[u] % dset->shared->layout.u.chunk.dim[u]) HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset doesn't fall on chunks's boundary") - internal_offset[i] = direct_offset[i]; + internal_offset[u] = direct_offset[u]; } /* end for */ /* Terminate the offset with a zero */ -- cgit v0.12 From 27a385d557df87a50fdec678c808e669d63d5b82 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 13:51:13 -0500 Subject: [svn-r26214] Fix for HDFFV-8908: h5tenum_insert_f does not work with default 8 byte integers (xlf compiler) --- fortran/src/H5Tf.c | 43 +++++++++++++++ fortran/src/H5Tff.f90 | 51 ------------------ fortran/src/H5Tff_F03.f90 | 107 +++++++++++++++++++++++++++++++++++++ fortran/src/H5Tff_F90.f90 | 56 +++++++++++++++++++ fortran/src/H5f90proto.h | 1 + fortran/src/hdf5_fortrandll.def.in | 2 + fortran/test/tH5T_F03.f90 | 2 +- 7 files changed, 210 insertions(+), 52 deletions(-) diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index ca9c30f..b6bcf5f 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -2421,3 +2421,46 @@ h5tconvert_c(hid_t_f *src_id, hid_t_f *dst_id, size_t_f *nelmts, void *buf, void return ret_value; } +/****if* H5Tf/h5tenum_insert_ptr_c + * NAME + * /h5tenum_insert_ptr_c + * PURPOSE + * Calls H5Tenum_insert + * INPUTS + * type_id - Datatype identifier for the enumeration datatype. + * name - Datatype identifier. + * value - Pointer to the value of the new member. + * + * OUTPUTS + * + * RETURNS + * 0 on success, -1 on failure + * AUTHOR + * M. Scot Breitenfeld + * 2/6/2015 + * + * SOURCE +*/ +int_f +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); + if (c_name == NULL) return ret_value; + + status = H5Tenum_insert( (hid_t)*type_id, c_name, value); + if ( status < 0 ) return ret_value; + ret_value = 0; + return ret_value; +} + + diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 0e1dbb0..4b4c0b6 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -2335,57 +2335,6 @@ CONTAINS hdferr = h5tenum_create_c(parent_id, new_type_id) END SUBROUTINE h5tenum_create_f - -! -!****s* H5T/h5tenaum_insert_f -! -! NAME -! h5tenaum_insert_f -! -! PURPOSE -! Inserts a new enumeration datatype member. -! -! INPUTS -! type_id - datatype identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). March 7, 2001 -! SOURCE - SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value !value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** - INTEGER :: namelen - - INTERFACE - INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) - USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c - !DEC$ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: type_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: value - INTEGER :: namelen - END FUNCTION h5tenum_insert_c - END INTERFACE - - namelen = LEN(name) - hdferr = h5tenum_insert_c(type_id, name, namelen, value) - END SUBROUTINE h5tenum_insert_f - ! !****s* H5T/h5tenum_nameof_f ! diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index 2405837..beff717 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -47,6 +47,11 @@ MODULE H5T_PROVISIONAL !***** + INTERFACE h5tenum_insert_f + MODULE PROCEDURE h5tenum_insert_f03 + MODULE PROCEDURE h5tenum_insert_f90 + END INTERFACE + CONTAINS !****s* H5T (F03)/H5Tconvert_f_F03 @@ -93,6 +98,7 @@ CONTAINS BIND(C, NAME='h5tconvert_c') USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr USE H5GLOBAL + IMPLICIT NONE INTEGER(HID_T) , INTENT(IN) :: src_id INTEGER(HID_T) , INTENT(IN) :: dst_id INTEGER(SIZE_T), INTENT(IN) :: nelmts @@ -111,6 +117,107 @@ CONTAINS hdferr = H5Tconvert_c(src_id, dst_id, nelmts, buf, background_default, plist_id_default) END SUBROUTINE h5tconvert_f +! +!****s* (F03) H5T/h5tenaum_insert_f03 +! +! NAME +! h5tenum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f90(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member + INTEGER, INTENT(IN) :: value !value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** + INTEGER :: namelen + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f90 + +! +!****s* (F03) H5T/h5tenaum_insert_f03 +! +! NAME +! h5tenum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Pointer to the value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! M. Scot Breitenfeld +! February 6, 2015 +! +! HISTORY +! F2003 implementation of function +! SOURCE + SUBROUTINE h5tenum_insert_f03(type_id, name, value, hdferr) + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char + USE H5GLOBAL + IMPLICIT NONE + INTEGER(HID_T) , INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(C_PTR) , INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) & + BIND(C, NAME='h5tenum_insert_ptr_c') + USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char + USE H5GLOBAL + IMPLICIT NONE + INTEGER(HID_T) , INTENT(IN) :: type_id + CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name + INTEGER :: namelen + TYPE(C_PTR), VALUE :: value + END FUNCTION h5tenum_insert_ptr_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f03 END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index a95b31f..8540d2b 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -36,4 +36,60 @@ MODULE H5T_PROVISIONAL + USE H5GLOBAL + +CONTAINS + +! +!****s* H5T/h5tenum_insert_f +! +! NAME +! h5tenaum_insert_f +! +! PURPOSE +! Inserts a new enumeration datatype member. +! +! INPUTS +! type_id - Datatype identifier for the enumeration datatype. +! name - Datatype identifier. +! value - Value of the new member. +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). March 7, 2001 +! SOURCE + SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr +!***** + INTEGER :: namelen + + INTERFACE + INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) + USE H5GLOBAL + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c + !DEC$ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: value + INTEGER :: namelen + END FUNCTION h5tenum_insert_c + END INTERFACE + + namelen = LEN(name) + hdferr = h5tenum_insert_c(type_id, name, namelen, value) + END SUBROUTINE h5tenum_insert_f + END MODULE H5T_PROVISIONAL diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index 284ffbd..b5e40a8 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -772,6 +772,7 @@ H5_FCDLL int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen H5_FCDLL int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id); H5_FCDLL int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id); H5_FCDLL int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); +H5_FCDLL int_f h5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value); H5_FCDLL int_f nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen); H5_FCDLL int_f nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value); H5_FCDLL int_f nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value); diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in index c9c5e76..1be377f 100644 --- a/fortran/src/hdf5_fortrandll.def.in +++ b/fortran/src/hdf5_fortrandll.def.in @@ -560,6 +560,8 @@ H5T_mp_H5TGET_CREATE_PLIST_F H5T_mp_H5TCOMPILER_CONV_F H5T_mp_H5TGET_NATIVE_TYPE_F @H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TCONVERT_F +@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F90 +@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F03 ; H5Z H5Z_mp_H5ZUNREGISTER_F H5Z_mp_H5ZFILTER_AVAIL_F diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90 index f15424d..d9a671c 100644 --- a/fortran/test/tH5T_F03.f90 +++ b/fortran/test/tH5T_F03.f90 @@ -1419,7 +1419,7 @@ SUBROUTINE t_enum(total_error) ! Insert enumerated value for memtype. ! val(1) = i - CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), val(1), error) + CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), C_LOC(val(1)), error) CALL check("H5Tenum_insert_f", error, total_error) ! ! Insert enumerated value for filetype. We must first convert -- cgit v0.12 From c3385d9010fc4ef11bd0aa463a2341ff72115787 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 18 Feb 2015 14:41:43 -0500 Subject: [svn-r26216] Removed inappropriate TEXT() macro from the plugin name and changed a few Win32 API calls to use the A version, which forces char behavior (vs. wchar_t) when UNICODE is defined. This only affects Windows. Fixes HDFFV-8927 Tested on 64-bit Windows 7 with Visual Studio 2012 and CMake 3.2 with UNICODE/_UNICODE both defined and undefined. --- src/H5PL.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/H5PL.c b/src/H5PL.c index 8042651..1806ea6 100644 --- a/src/H5PL.c +++ b/src/H5PL.c @@ -40,7 +40,19 @@ /* Macros for supporting * both Windows and Unix */ /****************************/ -/* Windows support */ +/* Windows support + * + * SPECIAL WINDOWS NOTE + * + * Some of the Win32 API functions expand to fooA or fooW depending on + * whether UNICODE or _UNICODE are defined. You MUST explicitly use + * the A version of the functions to force char * behavior until we + * work out a scheme for proper Windows Unicode support. + * + * If you do not do this, people will be unable to incorporate our + * source code into their own CMake builds if they define UNICODE. + */ + #ifdef H5_HAVE_WIN32_API #define H5PL_PATH_SEPARATOR ";" @@ -49,7 +61,7 @@ #define H5PL_HANDLE HINSTANCE /* Get a handle to a plugin library. Windows: TEXT macro handles Unicode strings */ -#define H5PL_OPEN_DLIB(S) LoadLibraryEx(TEXT(S), NULL, LOAD_WITH_ALTERED_SEARCH_PATH) +#define H5PL_OPEN_DLIB(S) LoadLibraryExA(S, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) /* Get the address of a symbol in dynamic library */ #define H5PL_GET_LIB_FUNC(H,N) GetProcAddress(H,N) @@ -457,17 +469,17 @@ done: static htri_t H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) { - WIN32_FIND_DATA fdFile; - HANDLE hFind; - char *pathname = NULL; - char service[2048]; - htri_t ret_value = FALSE; + WIN32_FIND_DATAA fdFile; + HANDLE hFind; + char *pathname = NULL; + char service[2048]; + htri_t ret_value = FALSE; FUNC_ENTER_STATIC /* Specify a file mask. *.* = We want everything! */ sprintf(service, "%s\\*.dll", dir); - if((hFind = FindFirstFile(service, &fdFile)) == INVALID_HANDLE_VALUE) + if((hFind = FindFirstFileA(service, &fdFile)) == INVALID_HANDLE_VALUE) HGOTO_ERROR(H5E_PLUGIN, H5E_OPENERROR, FAIL, "can't open directory") do { @@ -498,7 +510,7 @@ H5PL__find(H5PL_type_t plugin_type, int type_id, char *dir, const void **info) HDassert(pathname); pathname = (char *)H5MM_xfree(pathname); } /* end if */ - } while(FindNextFile(hFind, &fdFile)); /* Find the next file. */ + } while(FindNextFileA(hFind, &fdFile)); /* Find the next file. */ done: if(hFind) -- cgit v0.12 From 93379cf58fe6caca2ea658703b1b85b0be1a50fb Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Wed, 18 Feb 2015 15:03:45 -0500 Subject: [svn-r26217] Added H5T_PROVISIONAL_mp_H5TENUM_INSERT_F --- fortran/src/hdf5_fortrandll.def.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in index 1be377f..9a6fac5 100644 --- a/fortran/src/hdf5_fortrandll.def.in +++ b/fortran/src/hdf5_fortrandll.def.in @@ -543,7 +543,7 @@ H5T_mp_H5TINSERT_F H5T_mp_H5TPACK_F H5T_mp_H5TARRAY_CREATE_F H5T_mp_H5TENUM_CREATE_F -H5T_mp_H5TENUM_INSERT_F +H5T_PROVISIONAL_mp_H5TENUM_INSERT_F H5T_mp_H5TENUM_NAMEOF_F H5T_mp_H5TENUM_VALUEOF_F H5T_mp_H5TGET_MEMBER_VALUE_F -- cgit v0.12 From 63d38ca75a9527cc427e607ef301e5aa0261936e Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 18 Feb 2015 16:06:47 -0500 Subject: [svn-r26219] Merge r26029 from autotools_rework feature branch. Adds a comment to configure.ac indicating that Cygwin still has problems with srcdir and time. Fixes: HDFFV-9082 Tested on: jam (comment only change) w/ bin/reconfigure --- configure | 5 +++++ configure.ac | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/configure b/configure index 80230c4..3590924 100755 --- a/configure +++ b/configure @@ -7729,6 +7729,11 @@ fi ## Check that time can be used with srcdir. This is okay on most systems, ## but seems to cause problems on Cygwin. ## The solution on Cygwin is not to record execution time for tests. +## +## Note: This is still true as of Cygwin 1.7.32 (Aug 2014) on both 32- +## and 64-bit platforms. Given how long this has been true, it seems +## unlikely to change, but we should probably re-test this periodically. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if srcdir= and time commands work together" >&5 $as_echo_n "checking if srcdir= and time commands work together... " >&6; } diff --git a/configure.ac b/configure.ac index 94cc11b..a17dec8 100644 --- a/configure.ac +++ b/configure.ac @@ -594,6 +594,11 @@ AC_PATH_PROG([TR], [tr]) ## Check that time can be used with srcdir. This is okay on most systems, ## but seems to cause problems on Cygwin. ## The solution on Cygwin is not to record execution time for tests. +## +## Note: This is still true as of Cygwin 1.7.32 (Aug 2014) on both 32- +## and 64-bit platforms. Given how long this has been true, it seems +## unlikely to change, but we should probably re-test this periodically. + AC_MSG_CHECKING([if srcdir= and time commands work together]) AC_SUBST([TIME]) -- cgit v0.12 From 79d94c7bb74d28884b3f666a5922a317ef907398 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Wed, 18 Feb 2015 16:17:15 -0500 Subject: [svn-r26222] call H5close before MPI_Finalize() and close some objects that could be potentially left open. --- testpar/t_pflush2.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/testpar/t_pflush2.c b/testpar/t_pflush2.c index 743a3d3..e450f75 100644 --- a/testpar/t_pflush2.c +++ b/testpar/t_pflush2.c @@ -101,13 +101,17 @@ check_file(char* name, hid_t fapl) if(H5Dclose(dset) < 0) goto error; if(H5Fclose(file) < 0) goto error; if(H5Pclose(plist) < 0) goto error; + if(H5Sclose(space) < 0) goto error; return 0; error: H5E_BEGIN_TRY { - H5Fclose(file); H5Pclose(plist); + H5Gclose(groups); + H5Dclose(dset); + H5Fclose(file); + H5Sclose(space); } H5E_END_TRY; return 1; } @@ -205,6 +209,9 @@ main(int argc, char* argv[]) puts(" Test not compatible with current Virtual File Driver"); } + /* close HDF5 library */ + H5close(); + MPI_Finalize(); return 0; -- cgit v0.12 From 32c030ad2b2451d6d71c029f1915c5149434b034 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Wed, 18 Feb 2015 16:37:25 -0500 Subject: [svn-r26223] add another H5close before finalize so with-mpe does not fail. --- tools/perform/perf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/perform/perf.c b/tools/perform/perf.c index 7d329f0..58db6cc 100644 --- a/tools/perform/perf.c +++ b/tools/perform/perf.c @@ -390,7 +390,10 @@ die_jar_jar_die: free(tmp); if (opt_correct) free(tmp2); - + + /* close HDF5 library */ + H5close(); + MPI_Finalize(); return(0); -- cgit v0.12 From a7f70203b41e52942c67e07b927291cc2a03ff8c Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 19 Feb 2015 00:24:09 -0500 Subject: [svn-r26225] Removes broken open() call work-around that was specific to the now unsupported Code Warrior compiler. Also removes the H5_NO_SHARED_WRITING symbol from the pubconf file. Fixes: HDFFV-9080 Tested on: jam only, after bin/reconfigure (all platforms should see no source changes) --- config/cmake/H5pubconf.h.in | 3 --- configure | 10 ---------- configure.ac | 9 --------- src/H5config.h.in | 3 --- test/tfile.c | 2 -- vms/src/h5pubconf.h | 3 --- 6 files changed, 30 deletions(-) diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in index 8235c54..05058d2 100644 --- a/config/cmake/H5pubconf.h.in +++ b/config/cmake/H5pubconf.h.in @@ -540,9 +540,6 @@ /* Define if deprecated public API symbols are disabled */ #cmakedefine H5_NO_DEPRECATED_SYMBOLS @H5_NO_DEPRECATED_SYMBOLS@ -/* Define if shared writing must be disabled (CodeWarrior only) */ -#cmakedefine H5_NO_SHARED_WRITING @H5_NO_SHARED_WRITING@ - /* Name of package */ #define H5_PACKAGE "@HDF5_PACKAGE@" diff --git a/configure b/configure index 3590924..c56bce8 100755 --- a/configure +++ b/configure @@ -28340,16 +28340,6 @@ $as_echo "#define HAVE_FILTER_SCALEOFFSET 1" >>confdefs.h done fi -## ---------------------------------------------------------------------- -## This is defined only when we're using CodeWarrior, since it has a -## broken "open()" call. -# -if test 1 = 2; then - -$as_echo "#define NO_SHARED_WRITING 1" >>confdefs.h - -fi - ## -------------------------------------------------------------------------- ## Should the Default Virtual File Driver be compiled? ## diff --git a/configure.ac b/configure.ac index a17dec8..aff469f 100644 --- a/configure.ac +++ b/configure.ac @@ -2531,15 +2531,6 @@ if test -n "$FILTERS"; then done fi -## ---------------------------------------------------------------------- -## This is defined only when we're using CodeWarrior, since it has a -## broken "open()" call. -# -if test 1 = 2; then - AC_DEFINE([NO_SHARED_WRITING], [1], - [Define if shared writing must be disabled (CodeWarrior only)]) -fi - ## -------------------------------------------------------------------------- ## Should the Default Virtual File Driver be compiled? ## diff --git a/src/H5config.h.in b/src/H5config.h.in index cc8a59c..eb18a5e 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -470,9 +470,6 @@ /* Define if deprecated public API symbols are disabled */ #undef NO_DEPRECATED_SYMBOLS -/* Define if shared writing must be disabled (CodeWarrior only) */ -#undef NO_SHARED_WRITING - /* Name of package */ #undef PACKAGE diff --git a/test/tfile.c b/test/tfile.c index 4bef41c..5de035a 100644 --- a/test/tfile.c +++ b/test/tfile.c @@ -3652,9 +3652,7 @@ test_file(void) test_file_create(); /* Test file creation(also creation templates)*/ test_file_open(); /* Test file opening */ -#ifndef H5_NO_SHARED_WRITING test_file_close(); /* Test file close behavior */ -#endif /* H5_NO_SHARED_WRITING */ test_get_file_id(); /* Test H5Iget_file_id */ test_get_obj_ids(); /* Test H5Fget_obj_ids for Jira Issue 8528 */ test_file_perm(); /* Test file access permissions */ diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index 6cb2612..acb95c8 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -488,9 +488,6 @@ /* Define if deprecated public API symbols are disabled */ /* #undef H5_NO_DEPRECATED_SYMBOLS */ -/* Define if shared writing must be disabled (CodeWarrior only) */ -#define H5_NO_SHARED_WRITING 1 - /* Name of package */ #define H5_PACKAGE "hdf5" -- cgit v0.12 From a3f987daa959f9f051344d7323b2c15d45ce8386 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 19 Feb 2015 08:57:48 -0500 Subject: [svn-r26230] Add def file comment when it is F2003 --- fortran/src/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 8c1b45a..22a091e 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -11,6 +11,8 @@ if (WIN32) endif (NOT H5_HAVE_PARALLEL) if (NOT HDF5_ENABLE_F2003) set (H5_NOF03EXP ";") + else (NOT HDF5_ENABLE_F2003) + set (H5_F03EXP ";") endif (NOT HDF5_ENABLE_F2003) configure_file (${HDF5_F90_SRC_SOURCE_DIR}/hdf5_fortrandll.def.in ${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def @ONLY) endif (MSVC) -- cgit v0.12 From 3a03c275e92d37cec8ec8e108c6af96cd32f47cd Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Thu, 19 Feb 2015 09:02:36 -0500 Subject: [svn-r26233] Disable h5tenum_insert_f if F2003 is enabled. --- fortran/src/hdf5_fortrandll.def.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in index 9a6fac5..48fb343 100644 --- a/fortran/src/hdf5_fortrandll.def.in +++ b/fortran/src/hdf5_fortrandll.def.in @@ -543,7 +543,6 @@ H5T_mp_H5TINSERT_F H5T_mp_H5TPACK_F H5T_mp_H5TARRAY_CREATE_F H5T_mp_H5TENUM_CREATE_F -H5T_PROVISIONAL_mp_H5TENUM_INSERT_F H5T_mp_H5TENUM_NAMEOF_F H5T_mp_H5TENUM_VALUEOF_F H5T_mp_H5TGET_MEMBER_VALUE_F @@ -560,6 +559,7 @@ H5T_mp_H5TGET_CREATE_PLIST_F H5T_mp_H5TCOMPILER_CONV_F H5T_mp_H5TGET_NATIVE_TYPE_F @H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TCONVERT_F +@H5_F03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F @H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F90 @H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F03 ; H5Z -- cgit v0.12 From 9ecbdc858c8b187dce5166e6210fcaad474a6f74 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 19 Feb 2015 09:03:23 -0500 Subject: [svn-r26234] Removed VMS support from the library. A tag (vms_last_support_trunk) was created just before the VMS files were deleted. --- vms/COPYING | 16 - vms/build.com | 65 --- vms/c++/examples/check.com | 53 --- vms/c++/examples/make.com | 79 ---- vms/c++/src/make.com | 85 ---- vms/c++/test/check.com | 23 -- vms/c++/test/make.com | 49 --- vms/examples/check.com | 31 -- vms/examples/make.com | 79 ---- vms/fortran/examples/check.com | 94 ----- vms/fortran/examples/make.com | 117 ------ vms/fortran/src/make.com | 75 ---- vms/fortran/test/check.com | 26 -- vms/fortran/test/make.com | 69 ---- vms/install.com | 166 -------- vms/make.com | 145 ------- vms/src/h5pubconf.h | 716 ---------------------------------- vms/src/make.com | 76 ---- vms/test/H5srcdir_str.h | 22 -- vms/test/check.com | 271 ------------- vms/test/make.com | 358 ----------------- vms/tools/h5copy/check_h5copy.com | 110 ------ vms/tools/h5copy/make.com | 40 -- vms/tools/h5diff/check_h5diff.com | 337 ---------------- vms/tools/h5diff/make.com | 48 --- vms/tools/h5dump/check_h5dump.com | 353 ----------------- vms/tools/h5dump/make.com | 41 -- vms/tools/h5import/check_h5import.com | 227 ----------- vms/tools/h5import/make.com | 46 --- vms/tools/h5jam/check_h5jam.com | 159 -------- vms/tools/h5jam/make.com | 67 ---- vms/tools/h5ls/check.com | 70 ---- vms/tools/h5ls/check_h5ls.com | 165 -------- vms/tools/h5ls/make.com | 39 -- vms/tools/h5repack/check_h5repack.com | 197 ---------- vms/tools/h5repack/make.com | 55 --- vms/tools/h5stat/make.com | 39 -- vms/tools/lib/make.com | 34 -- vms/tools/misc/make.com | 90 ----- vms/tools/testfiles/tattr-3.ddl | 13 - vms/tools/testfiles/tdset-2.ddl | 17 - vms/tools/testfiles/tgroup-2.ddl | 47 --- vms/tools/testfiles/tperror.ddl | 9 - 43 files changed, 4818 deletions(-) delete mode 100644 vms/COPYING delete mode 100644 vms/build.com delete mode 100644 vms/c++/examples/check.com delete mode 100644 vms/c++/examples/make.com delete mode 100644 vms/c++/src/make.com delete mode 100644 vms/c++/test/check.com delete mode 100644 vms/c++/test/make.com delete mode 100644 vms/examples/check.com delete mode 100644 vms/examples/make.com delete mode 100644 vms/fortran/examples/check.com delete mode 100644 vms/fortran/examples/make.com delete mode 100644 vms/fortran/src/make.com delete mode 100644 vms/fortran/test/check.com delete mode 100644 vms/fortran/test/make.com delete mode 100644 vms/install.com delete mode 100644 vms/make.com delete mode 100644 vms/src/h5pubconf.h delete mode 100644 vms/src/make.com delete mode 100644 vms/test/H5srcdir_str.h delete mode 100644 vms/test/check.com delete mode 100644 vms/test/make.com delete mode 100644 vms/tools/h5copy/check_h5copy.com delete mode 100644 vms/tools/h5copy/make.com delete mode 100644 vms/tools/h5diff/check_h5diff.com delete mode 100644 vms/tools/h5diff/make.com delete mode 100644 vms/tools/h5dump/check_h5dump.com delete mode 100644 vms/tools/h5dump/make.com delete mode 100644 vms/tools/h5import/check_h5import.com delete mode 100644 vms/tools/h5import/make.com delete mode 100644 vms/tools/h5jam/check_h5jam.com delete mode 100644 vms/tools/h5jam/make.com delete mode 100644 vms/tools/h5ls/check.com delete mode 100644 vms/tools/h5ls/check_h5ls.com delete mode 100644 vms/tools/h5ls/make.com delete mode 100644 vms/tools/h5repack/check_h5repack.com delete mode 100644 vms/tools/h5repack/make.com delete mode 100644 vms/tools/h5stat/make.com delete mode 100644 vms/tools/lib/make.com delete mode 100644 vms/tools/misc/make.com delete mode 100644 vms/tools/testfiles/tattr-3.ddl delete mode 100644 vms/tools/testfiles/tdset-2.ddl delete mode 100644 vms/tools/testfiles/tgroup-2.ddl delete mode 100644 vms/tools/testfiles/tperror.ddl diff --git a/vms/COPYING b/vms/COPYING deleted file mode 100644 index 6903daf..0000000 --- a/vms/COPYING +++ /dev/null @@ -1,16 +0,0 @@ - - Copyright by The HDF Group and - The Board of Trustees of the University of Illinois. - All rights reserved. - - The files and subdirectories in this directory are 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://www.hdfgroup.org/HDF5/doc/Copyright.html. If you do not - have access to either file, you may request a copy from - help@hdfgroup.org. - diff --git a/vms/build.com b/vms/build.com deleted file mode 100644 index c6b972a..0000000 --- a/vms/build.com +++ /dev/null @@ -1,65 +0,0 @@ -$!# -$!# 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 builds C, Fortran, C++ HDF5 libraries and runs the tests -$! Specify location of the top HDF5 source directory -$ -$ hdf5top == "disk$user:[hdfgroup.hdf5]" -$ len = F$LENGTH(hdf5top) -$ tmp = F$EXTRACT(0, len-1, hdf5top) -$ hdf5vms = tmp + ".VMS]" -$ hdf5ctest = tmp + ".TEST]" -$ hdf5f90test = tmp + ".FORTRAN.TEST]" -$ hdf5cxxtest = tmp + ".C__.TEST]" -$ hdf5toolstest = tmp + ".TOOLS.TESTFILES]" -$ hdf5toolstest_h5diff = tmp + ".TOOLS.H5DIFF.TESTFILES]" -$ hdf5toolstest_h5repack = tmp + ".TOOLS.H5REPACK.TESTFILES]" -$ hdf5toolstest_h5copy = tmp + ".TOOLS.H5COPY.TESTFILES]" -$ hdf5toolstest_h5import = tmp + ".TOOLS.H5IMPORT.TESTFILES]" -$ hdf5toolstest_h5jam = tmp + ".TOOLS.H5JAM.TESTFILES]" -$ set def 'hdf5vms' -$@make -$ set def 'hdf5ctest' -$@check -$ set def 'hdf5f90test' -$@check -$ set def 'hdf5cxxtest' -$@check -$ set def 'hdf5toolstest' -$ copy [-.h5dump]check_h5dump.com check_h5dump.com -$ copy [-.h5ls]check_h5ls.com check_h5ls.com -$@check_h5dump.com -$@check_h5ls.com -$ set def 'hdf5toolstest_h5diff' -$ copy [-]check_h5diff.com check_h5diff.com -$@check_h5diff.com -$ set def 'hdf5toolstest_h5repack' -$ copy [-]check_h5repack.com check_h5repack.com -$@check_h5repack.com -$! -$ set def 'hdf5toolstest_h5copy' -$ copy [-]check_h5copy.com check_h5copy.com -$@check_h5copy.com -$! -$ set def 'hdf5toolstest_h5import' -$ copy [.-]check_h5import.com check_h5import.com -$@check_h5import.com -$! -$ set def 'hdf5toolstest_h5jam' -$ copy [.-]check_h5jam.com check_h5jam.com -$@check_h5jam.com -$ -$ exit diff --git a/vms/c++/examples/check.com b/vms/c++/examples/check.com deleted file mode 100644 index 0149819..0000000 --- a/vms/c++/examples/check.com +++ /dev/null @@ -1,53 +0,0 @@ -$!# -$!# 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. -$!# -$! -$! Command file to run C++ examples -$! -$! -$ type sys$input - - Running create -$ run create -$! -$ type sys$input - - Running readdata -$ run readdata -$! -$ type sys$input - - Running writedata -$ run writedata -$! -$ type sys$input - - Running compound -$ run compound -$! -$ type sys$input - - Running extend_ds -$ run extend_ds -$! -$ type sys$input - - Running chunks -$ run chunks -$! -$ type sys$input - - Running h5group -$ run h5group -$ exit diff --git a/vms/c++/examples/make.com b/vms/c++/examples/make.com deleted file mode 100644 index 45d74ce..0000000 --- a/vms/c++/examples/make.com +++ /dev/null @@ -1,79 +0,0 @@ -$!# -$!# 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. -$!# -$! -$! Make HDF5 C++ examples -$! -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS/include=zlib_dir" -$ ccc := cxx 'cxxopt /include=([-.-.include]) -$! -$! -$ cxxobj= "chunks.cxx, compound.cxx, create.cxx, extend_ds.cxx, h5group.cxx, "+- - "readdata.cxx, writedata.cxx" -$! -$! -$ ccc 'cxxobj -$ type sys$input - - Creating chunks -$ cxxlink chunks, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating compound -$ cxxlink compound, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating create -$ cxxlink create, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating extend_ds -$ cxxlink extend_ds, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating h5group -$ cxxlink h5group, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating readdata -$ cxxlink readdata, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - - Creating writedata -$ cxxlink writedata, - - [-.-.lib]hdf5_cplus.olb/lib, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input -$! -$ exit diff --git a/vms/c++/src/make.com b/vms/c++/src/make.com deleted file mode 100644 index 37525bc..0000000 --- a/vms/c++/src/make.com +++ /dev/null @@ -1,85 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C++ library -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS" -$ ccc := cxx 'cxxopt /include=([-.-.src]) -$! -$! type sys$input -$! Creating HDF5 C++ library -$! -$ lib/create/object hdf5_cplus.olb -$ ccc H5AbstractDs.cxx -$ lib/insert/object hdf5_cplus H5AbstractDs -$ ccc H5ArrayType.cxx -$ lib/insert/object hdf5_cplus H5ArrayType -$ ccc H5AtomType.cxx -$ lib/insert/object hdf5_cplus H5AtomType -$ ccc H5Attribute.cxx -$ lib/insert/object hdf5_cplus H5Attribute -$ ccc H5CommonFG.cxx -$ lib/insert/object hdf5_cplus H5CommonFG -$ ccc H5CompType.cxx -$ lib/insert/object hdf5_cplus H5CompType -$ ccc H5DataSet.cxx -$ lib/insert/object hdf5_cplus H5DataSet -$ ccc H5DataSpace.cxx -$ lib/insert/object hdf5_cplus H5DataSpace -$ ccc H5DataType.cxx -$ lib/insert/object hdf5_cplus H5DataType -$ ccc H5DcreatProp.cxx -$ lib/insert/object hdf5_cplus H5DcreatProp -$ ccc H5DxferProp.cxx -$ lib/insert/object hdf5_cplus H5DxferProp -$ ccc H5EnumType.cxx -$ lib/insert/object hdf5_cplus H5EnumType -$ ccc H5Exception.cxx -$ lib/insert/object hdf5_cplus H5Exception -$ ccc H5FaccProp.cxx -$ lib/insert/object hdf5_cplus H5FaccProp -$ ccc H5FcreatProp.cxx -$ lib/insert/object hdf5_cplus H5FcreatProp -$ ccc H5File.cxx -$ lib/insert/object hdf5_cplus H5File -$ ccc H5FloatType.cxx -$ lib/insert/object hdf5_cplus H5FloatType -$ ccc H5Group.cxx -$ lib/insert/object hdf5_cplus H5Group -$ ccc H5IdComponent.cxx -$ lib/insert/object hdf5_cplus H5IdComponent -$ ccc H5IntType.cxx -$ lib/insert/object hdf5_cplus H5IntType -$ ccc H5Library.cxx -$ lib/insert/object hdf5_cplus H5Library -$ ccc H5Object.cxx -$ lib/insert/object hdf5_cplus H5Object -$ ccc H5PredType.cxx -$ lib/insert/object hdf5_cplus H5PredType -$ ccc H5PropList.cxx -$ lib/insert/object hdf5_cplus H5PropList -$ ccc H5StrType.cxx -$ lib/insert/object hdf5_cplus H5StrType -$ ccc H5VarLenType.cxx -$ lib/insert/object hdf5_cplus H5VarLenType -$! -$ type sys$input - Done -$ exit diff --git a/vms/c++/test/check.com b/vms/c++/test/check.com deleted file mode 100644 index cd523c3..0000000 --- a/vms/c++/test/check.com +++ /dev/null @@ -1,23 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run C++ tests -$! -$ type sys$input - Running C++ tests -$! -$ run testhdf5 -$ exit diff --git a/vms/c++/test/make.com b/vms/c++/test/make.com deleted file mode 100644 index 7016a18..0000000 --- a/vms/c++/test/make.com +++ /dev/null @@ -1,49 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C++ library tests -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! cxxopt = "/float=ieee_float/standard=strict_ansi/define=H5_VMS" -$ -$ ccc := cxx 'cxxopt /include=([-.-.src], [-.-.test], [-.src]) -$! -$! -$! -$ ccc h5cpputil -$ ccc dsets -$ ccc tattr -$ ccc tcompound -$ ccc testhdf5 -$ ccc tfile -$ ccc tfilter -$ ccc th5s -$ ccc tlinks -$ ccc trefer -$ ccc ttypes -$ ccc tvlstr -$ type sys$input - Creating testhdf5 -$ cxxlink testhdf5, dsets, h5cpputil, tattr, tcompound, tfile, tfilter, th5s, - - tlinks, trefer, ttypes, tvlstr, - - [-.src]hdf5_cplus.olb/lib, [-.-.test]libh5test.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Done -$ exit diff --git a/vms/examples/check.com b/vms/examples/check.com deleted file mode 100644 index e78dcf5..0000000 --- a/vms/examples/check.com +++ /dev/null @@ -1,31 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$ type sys$input - Running examples -$ run h5_write -$ run h5_read -$ run h5_extend_write -$ run h5_chunk_read -$ run h5_compound -$ run h5_group -$ run h5_select -$ run h5_attribute -$ run h5_mount -$ run h5_reference -$ run h5_ref2reg -$ run h5_drivers -$ exit diff --git a/vms/examples/make.com b/vms/examples/make.com deleted file mode 100644 index 2de398e..0000000 --- a/vms/examples/make.com +++ /dev/null @@ -1,79 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 C examples -$! -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ ccopt = "/float=ieee_float/nowarnings/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.include]) -$ type sys$input - Compiling C examples -$! -$ cobj= "h5_write.c, h5_read.c, h5_extend_write.c, h5_chunk_read.c, "+- - "h5_compound.c, h5_group.c, h5_select.c, h5_attribute.c, "+- - "h5_mount.c, h5_ref2reg.c, h5_reference.c, h5_drivers.c " -$! -$ ccc 'cobj -$ -$ type sys$input - Creating h5_write -$ link h5_write, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_read -$ link h5_read, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_extend_write -$ link h5_extend_write, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_chunk_read -$ link h5_chunk_read, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_compound -$ link h5_compound, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_group -$ link h5_group, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_select -$ link h5_select, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_attribute -$ link h5_attribute, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_mount -$ link h5_mount, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_reference -$ link h5_reference, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_ref2reg -$ link h5_ref2reg, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Creating h5_drivers -$ link h5_drivers, - - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ exit diff --git a/vms/fortran/examples/check.com b/vms/fortran/examples/check.com deleted file mode 100644 index 63c1c25..0000000 --- a/vms/fortran/examples/check.com +++ /dev/null @@ -1,94 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run Fortran examples; examples need to run in a defined -$! order due to file dependencies. -$! -$ type sys$input - - - Running Fortran examples - -$ type sys$input - - Running dsetexample -$ run dsetexample -$ -$ type sys$input - - Running fileexample -$ run fileexample -$ -$ type sys$input - - Running rwdsetexample -$ run rwdsetexample -$ -$ type sys$input - - Running attrexample -$ run attrexample -$ -$ type sys$input - - Running groupexample -$ run groupexample -$ -$ type sys$input - - Running grpsexample -$ run grpsexample -$ -$ type sys$input - - Running grpdsetexample -$ run grpdsetexample -$ -$ type sys$input - - Running hyperslab -$ run hyperslab -$ -$ type sys$input - - Running selectele -$ run selectele -$ -$ type sys$input - - Running grpit -$ run grpit -$ -$ type sys$input - - Running refobjexample -$ run refobjexample -$ -$ type sys$input - - Running refregexample -$ run refregexample -$ -$ type sys$input - - Running mountexample -$ run mountexample -$ -$ type sys$input - - Running compound -$ run compound -$ exit diff --git a/vms/fortran/examples/make.com b/vms/fortran/examples/make.com deleted file mode 100644 index 6c5bfe7..0000000 --- a/vms/fortran/examples/make.com +++ /dev/null @@ -1,117 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran examples -$! -$ fcopt = "/float=ieee_float/define=H5_VMS" -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$ fff := fortran 'fcopt /module=[-.-.include] -$ -$ type sys$input - Compiling HDF5 Fortran examples -$! -$ ffiles="dsetexample.f90, fileexample.f90, rwdsetexample.f90, "+- - "attrexample.f90, groupexample.f90, grpsexample.f90, "+- - "grpdsetexample.f90, hyperslab.f90, selectele.f90, grpit.f90,"+- - "refobjexample.f90, refregexample.f90, mountexample.f90,"+- - "compound.f90" -$! -$ fff 'ffiles -$ type sys$input - - Creating dsetexample -$ link dsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating fileexample -$ link fileexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating rwdsetexample -$ link rwdsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating attrexample -$ link attrexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating groupexample -$ link groupexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpsexample -$ link grpsexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpdsetexample -$ link grpdsetexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating hyperslab -$ link hyperslab ,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating selectele -$ link selectele,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating grpit -$ link grpit,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating refobjexample -$ link refobjexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating refregexample -$ link refregexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating mountexample -$ link mountexample,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - - Creating compound -$ link compound,- - [-.-.lib]hdf5_fortran.olb/lib,- - [-.-.lib]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ exit diff --git a/vms/fortran/src/make.com b/vms/fortran/src/make.com deleted file mode 100644 index 5ad89ff..0000000 --- a/vms/fortran/src/make.com +++ /dev/null @@ -1,75 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran library -$! -$! The thre two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$! fcopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$ ccc := cc 'ccopt /include=[-.-.src] -$ fff := fortran 'fcopt -$ type sys$input - Creating and running H5test_kind to generate H5fortran_detect.f90 -$! -$ fff H5test_kind_sizeof.f90 -$ link H5test_kind_sizeof -$ define/user_mode sys$output H5fortran_detect.f90 -$ run H5test_kind_sizeof -$! -$ type sys$input - Creating and running H5fortran_detect.f90 to generate H5fort_type_defines.h -$! -$ fff H5fortran_detect.f90 -$ link H5fortran_detect -$ define/user_mode sys$output H5fort_type_defines.h -$ run H5fortran_detect -$! -$ type sys$input - Creating and running H5match_types to generate H5fortran_types.f90 -$! -$ ccc H5match_types.c -$ link H5match_types -$ run H5match_types -$! -$! -$ type sys$input - Creating HDF5 Fortran library -$! -$ cobj="H5f90kit, H5_f, H5Af, H5Df, H5Ef, H5Ff, H5Gf, "+- - "H5If, H5Lf, H5Of, H5Pf, H5Rf, H5Sf, H5Tf, H5Zf" -$ ffiles= "H5_ff.f90, H5Aff.f90, H5Dff.f90, H5Eff.f90,"+- - "H5Lff.f90, H5Off.f90,"+- - "H5Fff.f90, H5Gff.f90, H5Iff.f90, H5Pff.f90, H5Rff.f90, H5Sff.f90,"+- - "H5Tff.f90, H5Zff.f90, H5_DBLE_InterfaceInclude.f90, HDF5.f90" -$ fobj="H5f90global, "+- - "H5fortran_types, H5_ff, H5Aff, H5Dff, H5Eff,"+- - "H5Fff, H5Gff, H5Iff, H5Lff, H5Off, H5Pff, H5Rff, H5Sff,"+- - "H5Tff, H5Zff, H5_DBLE_InterfaceInclude, HDF5" -$! -$ ccc 'cobj -$ fff H5fortran_types.f90 -$ fff H5f90global.f90 -$ -$ fff 'ffiles -$ library/create []hdf5_fortran 'cobj -$ library/replace []hdf5_fortran 'fobj -$ type sys$input - Done -$ exit diff --git a/vms/fortran/test/check.com b/vms/fortran/test/check.com deleted file mode 100644 index 0a53e20..0000000 --- a/vms/fortran/test/check.com +++ /dev/null @@ -1,26 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Command file to run Fortran tests -$! -$! -$ type sys$input - Running Fortran tests -$ run fortranlib_test -$ run fortranlib_test_1_8 -$ run fflush1 -$ run fflush2 -$ exit diff --git a/vms/fortran/test/make.com b/vms/fortran/test/make.com deleted file mode 100644 index 478c64c..0000000 --- a/vms/fortran/test/make.com +++ /dev/null @@ -1,69 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 Fortran tests -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$! fcopt = "/float=ieee_float/define=H5_VMS/debug/nooptimize/include=zlib_dir" -$ ccc := cc 'ccopt /include=[-.-.src] -$ fff := fortran 'fcopt /module=[-.src] -$ -$ type sys$input - Creating HDF5 Fortran tests -$! -$ cobj="t " -$ ffiles="fortranlib_test.f90, tH5F.f90, tH5D.f90, "+- - "tH5R.f90, tH5S.f90, tH5T.f90, tH5VL.f90, tH5Z.f90, tH5Sselect.f90,"+- - "tH5P.f90, tH5A.f90, tH5I.f90, tH5G.f90, tH5E.f90, tf.f90" -$ ffiles18="fortranlib_test_1_8.f90, tH5F.f90, tH5O.f90,"+- - "tH5A_1_8.f90, tH5G_1_8.f90" - -$ fobj="fortranlib_test, tH5F, tH5D, "+- - "tH5R, tH5S, tH5T, tH5VL, tH5Z, tH5Sselect,"+- - "tH5P, tH5A, tH5I, tH5G, tH5E, tf" -$ fobj18="fortranlib_test_1_8, tH5F, tH5O, tH5A_1_8, tH5G_1_8" -$! -$ ccc 'cobj -$ fff 'ffiles -$ fff 'ffiles18 -$ fff fflush1.f90 -$ fff fflush2.f90 -$ library/create []h5test_fortran t, tf -$ link fflush1,h5test_fortran.olb/lib,- - [-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link fflush2,h5test_fortran.olb/lib,- - [-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link/exec=fortranlib_test.exe - - fortranlib_test.obj, tH5F.obj, tH5D.obj, - - tH5R.obj, tH5S.obj, tH5T.obj, tH5VL.obj, tH5Z.obj, tH5Sselect.obj, - - tH5P.obj, tH5A.obj, tH5I.obj, tH5G.obj, tH5E.obj,- - h5test_fortran.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ link/exec=fortranlib_test_1_8.exe - - fortranlib_test_1_8.obj, tH5F.obj, tH5O.obj, tH5A_1_8.obj, tH5G_1_8.obj,- - h5test_fortran.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.src]hdf5_fortran.olb/lib,- - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created HDF5 Fortran tests -$! -$ exit diff --git a/vms/install.com b/vms/install.com deleted file mode 100644 index f1f9304..0000000 --- a/vms/install.com +++ /dev/null @@ -1,166 +0,0 @@ -$!# -$!# 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 command file installs built binaries, header files, examples and -$! scripts under [.hdf5] directory in the main distribution -$! -$ -$! -$! -$ hdf5top = F$DIRECTORY() -$ len = F$LENGTH(hdf5top) -$ hdf5top_dir = F$EXTRACT(0, len-4, hdf5top) -$! -$ hdf5src = hdf5top_dir + "SRC]" -$ hdf5examples = hdf5top_dir + "EXAMPLES]" -$ hdf5tools_h5copy = hdf5top_dir + "TOOLS.H5COPY]" -$ hdf5tools_h5diff = hdf5top_dir + "TOOLS.H5DIFF]" -$ hdf5tools_h5dump = hdf5top_dir + "TOOLS.H5DUMP]" -$ hdf5tools_h5ls = hdf5top_dir + "TOOLS.H5LS]" -$ hdf5tools_h5repack = hdf5top_dir + "TOOLS.H5REPACK]" -$ hdf5tools_h5jam = hdf5top_dir + "TOOLS.H5JAM]" -$ hdf5tools_h5import = hdf5top_dir + "TOOLS.H5IMPORT]" -$ hdf5tools_h5stat = hdf5top_dir + "TOOLS.H5STAT]" -$ hdf5tools_h5misc = hdf5top_dir + "TOOLS.H5MISC]" -$ hdf5fortran_examples = hdf5top_dir + "FORTRAN.EXAMPLES]" -$ hdf5fortran_src = hdf5top_dir + "FORTRAN.SRC]" -$ hdf5cxx_src = hdf5top_dir + "C__.SRC]" -$ hdf5cxx_examples = hdf5top_dir + "C__.EXAMPLES]" -$! -$ hdf5install = hdf5top_dir + "HDF5]" -$ hdf5install_include = hdf5top_dir + "HDF5.INCLUDE]" -$ hdf5install_examples = hdf5top_dir + "HDF5.EXAMPLES]" -$ hdf5install_examples_c = hdf5top_dir + "HDF5.EXAMPLES.C]" -$ hdf5install_examples_f90 = hdf5top_dir + "HDF5.EXAMPLES.F90]" -$ hdf5install_examples_cxx = hdf5top_dir + "HDF5.EXAMPLES.CXX]" -$ hdf5install_lib = hdf5top_dir + "HDF5.LIB]" -$ hdf5install_bin = hdf5top_dir + "HDF5.BIN]" -$ -$ if F$SEARCH(hdf5install) .NES. "" -$ then write sys$output "''hdf5install' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install'..." -$ create/dir 'hdf5install' -$ endif -$ -$ if F$SEARCH(hdf5install_include) .NES. "" -$ then write sys$output "''hdf5install_include' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_include'..." -$ create/dir 'hdf5install_include' -$ endif -$ if F$SEARCH(hdf5install_lib) .NES. "" -$ then write sys$output "''hdf5install_lib' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_lib'..." -$ create/dir 'hdf5install_lib' -$ endif -$ if F$SEARCH(hdf5install_bin) .NES. "" -$ then write sys$output "''hdf5install_bin' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_bin'..." -$ create/dir 'hdf5install_bin' -$ endif -$ if F$SEARCH(hdf5install_examples) .NES. "" -$ then write sys$output "''hdf5install_examples' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples'..." -$ create/dir 'hdf5install_examples' -$ endif -$ if F$SEARCH(hdf5install_examples_c) .NES. "" -$ then write sys$output "''hdf5install_examples_c' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_c'..." -$ create/dir 'hdf5install_examples_c' -$ endif -$ if F$SEARCH(hdf5install_examples_f90) .NES. "" -$ then write sys$output "''hdf5install_examples_f90' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_f90'..." -$ create/dir 'hdf5install_examples_f90' -$ endif -$ if F$SEARCH(hdf5install_examples_cxx) .NES. "" -$ then write sys$output "''hdf5install_examples_cxx' directory exists, will not create" -$ else -$ write sys$output "Creating ''hdf5install_examples_cxx'..." -$ create/dir 'hdf5install_examples_cxx' -$ endif - -$! -$ write sys$output "Installing C library and header files" -$ set def 'hdf5src' -$ copy HDF5.olb 'hdf5install_lib' -$ copy *.h 'hdf5install_include' -$ del 'hdf5install_include'*private*.*;* -$! -$ write sys$output "Installing Fortran library module files" -$ set def 'hdf5fortran_src' -$ copy HDF5_FORTRAN.olb 'hdf5install_lib' -$ copy *.F90$MOD 'hdf5install_include' -$! -$ write sys$output "Installing C++ library and header files" -$ set def 'hdf5cxx_src' -$ copy HDF5_CPLUS.olb 'hdf5install_lib' -$ copy *.h 'hdf5install_include' -$! -$ write sys$output "Installing utilties" -$ set def 'hdf5tools_h5copy' -$ copy h5copy.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5diff' -$ copy h5diff.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5dump' -$ copy h5dump.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5repack' -$ copy h5repack.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5ls' -$ copy h5ls.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5jam' -$ copy h5jam.exe 'hdf5install_bin' -$ copy h5unjam.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5import' -$ copy h5import.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5stat' -$ copy h5stat.exe 'hdf5install_bin' -$! -$ set def 'hdf5tools_h5misc' -$ copy h5debug.exe 'hdf5install_bin' -$ copy h5mkgrp.exe 'hdf5install_bin' -$! -$ write sys$output "Installing examples" -$ set def 'hdf5examples' -$ copy *.c 'hdf5install_examples_c' -$! -$ set def 'hdf5fortran_examples' -$ copy *.f90 'hdf5install_examples_f90' -$! -$ set def 'hdf5cxx_examples' -$ copy *.cpp 'hdf5install_examples_cxx' -$ rename 'hdf5install_examples_cxx'*.cpp 'hdf5install_examples_cxx'*.cxx -$ -$ -$! -$ set def 'hdf5top' -$ copy [.examples]*.com 'hdf5install_examples_c' -$ copy [.fortran.examples]*.com 'hdf5install_examples_f90' -$ copy [.c__.examples]*.com 'hdf5install_examples_cxx' -$ exit diff --git a/vms/make.com b/vms/make.com deleted file mode 100644 index 4be8784..0000000 --- a/vms/make.com +++ /dev/null @@ -1,145 +0,0 @@ -$!# -$!# 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 copies all make files from the VMS directory to the -$! source directories and builds libraries, tests, and utilties -$! -$ copy [.c__.src]make.com [-.c__.src] -$ copy [.c__.test]*.com [-.c__.test] -$ copy [.fortran.src]make.com [-.fortran.src] -$ copy [.fortran.test]*.com [-.fortran.test] -$ copy [.src]make.com [-.src] -$ copy [.src]h5pubconf.h [-.src] -$ copy [.test]*.com [-.test] -$ copy [.tools.h5copy]*.com [-.tools.h5copy] -$ copy [.tools.h5dump]*.com [-.tools.h5dump] -$ copy [.tools.h5ls]*.com [-.tools.h5ls] -$ copy [.tools.h5diff]*.com [-.tools.h5diff] -$ copy [.tools.h5repack]*.com [-.tools.h5repack] -$ copy [.tools.h5import]*.com [-.tools.h5import] -$ copy [.tools.h5jam]*.com [-.tools.h5jam] -$ copy [.tools.h5stat]*.com [-.tools.h5stat] -$ copy [.tools.lib]make.com [-.tools.lib] -$ copy [.tools.testfiles]*.ddl [-.tools.testfiles] -$ copy [.tools.misc]make.com [-.tools.misc] -$! -$! Define location of ZLIB library. If you do not have it on your system, download -$! source code from http://www.zlib.net/, build and install on your system -$ define zlib_dir disk$user:[hdfgroup.zlib-1_2_5_ieee] -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3-ieee] -$! -$! Set up compilation flags here -$! Do not remove define=H5_VMS and standard=strict_ansi qualifiers. -$! -$ ccopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/include=zlib_dir" -$ fcopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/include=zlib_dir" -$ cxxopt == "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/debug/nooptimize/"+- - "standard=strict_ansi/include=zlib_dir" -$! -$! -$ hdf5top = F$DIRECTORY() -$ len = F$LENGTH(hdf5top) -$ hdf5top_dir = F$EXTRACT(0, len-4, hdf5top) -$! -$ hdf5src = hdf5top_dir + "SRC]" -$ hdf5test = hdf5top_dir + "TEST]" -$ hdf5examples = hdf5top_dir + "EXAMPLES]" -$ hdf5tools_lib = hdf5top_dir + "TOOLS.LIB]" -$ hdf5tools_h5copy = hdf5top_dir + "TOOLS.H5COPY]" -$ hdf5tools_h5diff = hdf5top_dir + "TOOLS.H5DIFF]" -$ hdf5tools_h5dump = hdf5top_dir + "TOOLS.H5DUMP]" -$ hdf5tools_h5import = hdf5top_dir + "TOOLS.H5IMPORT]" -$ hdf5tools_h5jam = hdf5top_dir + "TOOLS.H5JAM]" -$ hdf5tools_h5ls = hdf5top_dir + "TOOLS.H5LS]" -$ hdf5tools_h5repack = hdf5top_dir + "TOOLS.H5REPACK]" -$ hdf5tools_h5stat = hdf5top_dir + "TOOLS.H5STAT]" -$ hdf5tools_misc = hdf5top_dir + "TOOLS.MISC]" -$ hdf5fortran_examples = hdf5top_dir + "FORTRAN.EXAMPLES]" -$ hdf5fortran_src = hdf5top_dir + "FORTRAN.SRC]" -$ hdf5fortran_test = hdf5top_dir + "FORTRAN.TEST]" -$ hdf5cxx_src = hdf5top_dir + "C__.SRC]" -$ hdf5cxx_test = hdf5top_dir + "C__.TEST]" -$ hdf5cxx_examples = hdf5top_dir + "C__.EXAMPLES]" -$! -$ write sys$output "Building C library" -$ set def 'hdf5src' -$ @make.com -$! -$! -$ write sys$output "Building C library tests" -$ set def 'hdf5test' -$ @make.com -$! -$ write sys$output "Building tools library" -$ set def 'hdf5tools_lib' -$ @make.com -$! -$ write sys$output "Building h5copy" -$ set def 'hdf5tools_h5copy' -$ @make.com -$! -$ write sys$output "Building h5diff" -$ set def 'hdf5tools_h5diff' -$ @make.com -$! -$ write sys$output "Building h5dump" -$ set def 'hdf5tools_h5dump' -$ @make.com -$! -$ write sys$output "Building h5import" -$ set def 'hdf5tools_h5import' -$ @make.com -$! -$ write sys$output "Building h5jam" -$ set def 'hdf5tools_h5jam' -$ @make.com -$! -$ write sys$output "Building h5ls" -$ set def 'hdf5tools_h5ls' -$ @make.com -$! -$ write sys$output "Building h5repack" -$ set def 'hdf5tools_h5repack' -$ @make.com -$! -$ write sys$output "Building h5stat" -$ set def 'hdf5tools_h5stat' -$ @make.com -$! -$ write sys$output "Building misc" -$ set def 'hdf5tools_misc' -$ @make.com -$! -$ write sys$output "Building Fortran library" -$ set def 'hdf5fortran_src' -$ @make.com -$! -$ write sys$output "Building Fortran library tests" -$ set def 'hdf5fortran_test' -$ @make.com -$! -$ write sys$output "Building C++ library" -$ set def 'hdf5cxx_src' -$ copy *.cpp *.cxx -$ @make.com -$! -$ write sys$output "Building C++ library tests" -$ set def 'hdf5cxx_test' -$ copy *.cpp *.cxx -$ @make.com -$! -$ set def 'hdf5top' -$ exit diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h deleted file mode 100644 index acb95c8..0000000 --- a/vms/src/h5pubconf.h +++ /dev/null @@ -1,716 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * 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. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* src/H5config.h. Generated from H5config.h.in by configure. */ -/* src/H5config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -/* #undef H5_AC_APPLE_UNIVERSAL_BUILD */ - -/* Define if your system generates wrong code for log2 routine. */ -/* #undef H5_BAD_LOG2_CODE_GENERATED */ - -/* Define if the memory buffers being written to disk should be cleared before - writing. */ -#define H5_CLEAR_MEMORY 1 - -/* Define if your system can handle converting denormalized floating-point - values. */ -#define H5_CONVERT_DENORMAL_FLOAT 1 - -/* Define if C++ compiler recognizes offsetof */ -#define H5_CXX_HAVE_OFFSETOF 1 - -/* Define the default virtual file driver to compile */ -#define H5_DEFAULT_VFD H5FD_SEC2 - -/* Define if `dev_t' is a scalar */ -#define H5_DEV_T_IS_SCALAR 1 - -/* Define to dummy `main' function (if any) required to link to the Fortran - libraries. */ -/* #undef H5_FC_DUMMY_MAIN */ - -/* Define if F77 and FC dummy `main' functions are identical. */ -/* #undef H5_FC_DUMMY_MAIN_EQ_F77 */ - -/* Define to a macro mangling the given C identifier (in lower and upper - case), which must not contain underscores, for linking with Fortran. */ -/* #undef H5_FC_FUNC */ - -/* As FC_FUNC, but for C identifiers containing underscores. */ -/* #undef H5_FC_FUNC_ */ - -/* Define if your system can handle overflow converting floating-point to - integer values. */ -#define H5_FP_TO_INTEGER_OVERFLOW_WORKS 1 - -/* Define if your system roundup accurately converting floating-point to - unsigned long long values. */ -#define H5_FP_TO_ULLONG_ACCURATE 1 - -/* Define if your system has right maximum convert floating-point to unsigned - long long values. */ -#define H5_FP_TO_ULLONG_RIGHT_MAXIMUM 1 - -/* Define if gettimeofday() populates the tz pointer passed in */ -/* #undef H5_GETTIMEOFDAY_GIVES_TZ */ - -/* Define to 1 if you have the `alarm' function. */ -#define H5_HAVE_ALARM 1 - -/* Define if the __attribute__(()) extension is present */ -/* #undef H5_HAVE_ATTRIBUTE */ - -/* Define to 1 if you have the `BSDgettimeofday' function. */ -/* #undef H5_HAVE_BSDGETTIMEOFDAY */ - -/* Define if the compiler understands C99 designated initialization of structs - and unions */ -#define H5_HAVE_C99_DESIGNATED_INITIALIZER 1 - -/* Define if the compiler understands the __func__ keyword */ -#define H5_HAVE_C99_FUNC 1 - -/* Define to 1 if you have the `clock_gettime' function. */ -#define H5_HAVE_CLOCK_GETTIME 1 - -/* Define if the function stack tracing code is to be compiled in */ -/* #undef H5_HAVE_CODESTACK */ - -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -/* #undef H5_HAVE_DECL_TZNAME */ - -/* Define to 1 if you have the `difftime' function. */ -#define H5_HAVE_DIFFTIME 1 - -/* Define if the direct I/O virtual file driver should be compiled */ -/* #undef H5_HAVE_DIRECT */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_DIRENT_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_DLFCN_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_DMALLOC_H */ - -/* Define if library information should be embedded in the executables */ -/* #undef H5_HAVE_EMBEDDED_LIBINFO */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_FEATURES_H */ - -/* Define if support for deflate (zlib) filter is enabled */ -#define H5_HAVE_FILTER_DEFLATE 1 - -/* Define if support for Fletcher32 checksum is enabled */ -#define H5_HAVE_FILTER_FLETCHER32 1 - -/* Define if support for nbit filter is enabled */ -#define H5_HAVE_FILTER_NBIT 1 - -/* Define if support for scaleoffset filter is enabled */ -#define H5_HAVE_FILTER_SCALEOFFSET 1 - -/* Define if support for shuffle filter is enabled */ -#define H5_HAVE_FILTER_SHUFFLE 1 - -/* Define if support for szip filter is enabled */ -/* #undef H5_HAVE_FILTER_SZIP */ - -/* Define to 1 if you have the `fork' function. */ -/* #undef H5_HAVE_FORK */ - -/* Define to 1 if you have the `frexpf' function. */ -#define H5_HAVE_FREXPF 1 - -/* Define to 1 if you have the `frexpl' function. */ -#define H5_HAVE_FREXPL 1 - -/* Define to 1 if you have the `fseeko' function. */ -#define H5_HAVE_FSEEKO 1 - -/* Define to 1 if you have the `fseek64' function. */ -/* #undef H5_HAVE_FSEEKO64 */ - -/* Define to 1 if you have the `fstat64' function. */ -/* #undef H5_HAVE_FSTAT64 */ - -/* Define to 1 if you have the `ftello' function. */ -#define H5_HAVE_FTELLO 1 - -/* Define to 1 if you have the `ftruncate64' function. */ -/* #undef H5_HAVE_FTRUNCATE64 */ - -/* Define if the compiler understands the __FUNCTION__ keyword */ -/* #undef H5_HAVE_FUNCTION */ - -/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */ -/* #undef H5_HAVE_GETCONSOLESCREENBUFFERINFO */ - -/* Define to 1 if you have the `gethostname' function. */ -#define H5_HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getpwuid' function. */ -/* #undef H5_HAVE_GETPWUID */ - -/* Define to 1 if you have the `getrusage' function. */ -/* #undef H5_HAVE_GETRUSAGE */ - -/* Define to 1 if you have the `gettextinfo' function. */ -/* #undef H5_HAVE_GETTEXTINFO */ - -/* Define to 1 if you have the `gettimeofday' function. */ -#define H5_HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the `get_fpc_csr' function. */ -/* #undef H5_HAVE_GET_FPC_CSR */ - -/* Define if library will contain instrumentation to detect correct - optimization operation */ -#define H5_HAVE_INSTRUMENTED_LIBRARY 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `ioctl' function. */ -#define H5_HAVE_IOCTL 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_IO_H */ - -/* Define to 1 if you have the `dl' library (-ldl). */ -#define H5_HAVE_LIBDL 1 - -/* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ -/* #undef H5_HAVE_LIBDMALLOC */ - -/* Define to 1 if you have the `lmpe' library (-llmpe). */ -/* #undef H5_HAVE_LIBLMPE */ - -/* Define to 1 if you have the `m' library (-lm). */ -#define H5_HAVE_LIBM 1 - -/* Define to 1 if you have the `mpe' library (-lmpe). */ -/* #undef H5_HAVE_LIBMPE */ - -/* Define to 1 if you have the `mpi' library (-lmpi). */ -/* #undef H5_HAVE_LIBMPI */ - -/* Define to 1 if you have the `mpich' library (-lmpich). */ -/* #undef H5_HAVE_LIBMPICH */ - -/* Define to 1 if you have the `mpio' library (-lmpio). */ -/* #undef H5_HAVE_LIBMPIO */ - -/* Define to 1 if you have the `nsl' library (-lnsl). */ -/* #undef H5_HAVE_LIBNSL */ - -/* Define to 1 if you have the `pthread' library (-lpthread). */ -/* #undef H5_HAVE_LIBPTHREAD */ - -/* Define to 1 if you have the `socket' library (-lsocket). */ -/* #undef H5_HAVE_LIBSOCKET */ - -/* Define to 1 if you have the `sz' library (-lsz). */ -/* #undef H5_HAVE_LIBSZ */ - -/* Define to 1 if you have the `z' library (-lz). */ -/* #undef H5_HAVE_LIBZ */ - -/* Define to 1 if you have the `longjmp' function. */ -#define H5_HAVE_LONGJMP 1 - -/* Define to 1 if you have the `lseek64' function. */ -/* #undef H5_HAVE_LSEEK64 */ - -/* Define to 1 if you have the `lstat' function. */ -/* #undef H5_HAVE_LSTAT */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_MACH_MACH_TIME_H */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_MEMORY_H */ - -/* Define if we have MPE support */ -/* #undef H5_HAVE_MPE */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_MPE_H */ - -/* Define if `MPI_Comm_c2f' and `MPI_Comm_f2c' exists */ -/* #undef H5_HAVE_MPI_MULTI_LANG_Comm */ - -/* Define if `MPI_Info_c2f' and `MPI_Info_f2c' exists */ -/* #undef H5_HAVE_MPI_MULTI_LANG_Info */ - -/* Define if we have parallel support */ -/* #undef H5_HAVE_PARALLEL */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_PTHREAD_H */ - -/* Define to 1 if you have the `random' function. */ -#define H5_HAVE_RANDOM 1 - -/* Define to 1 if you have the `rand_r' function. */ -/* #define H5_HAVE_RAND_R 1 */ - -/* Define to 1 if you have the `setjmp' function. */ -#define H5_HAVE_SETJMP 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SETJMP_H 1 - -/* Define to 1 if you have the `setsysinfo' function. */ -/* #undef H5_HAVE_SETSYSINFO */ - -/* Define to 1 if you have the `siglongjmp' function. */ -#define H5_HAVE_SIGLONGJMP 1 - -/* Define to 1 if you have the `signal' function. */ -#define H5_HAVE_SIGNAL 1 - -/* Define to 1 if you have the `sigprocmask' function. */ -/* #undef H5_HAVE_SIGPROCMASK */ - -/* Define to 1 if you have the `sigsetjmp' function. */ -/* #undef H5_HAVE_SIGSETJMP */ - -/* Define to 1 if you have the `snprintf' function. */ -#define H5_HAVE_SNPRINTF 1 - -/* Define to 1 if you have the `srandom' function. */ -#define H5_HAVE_SRANDOM 1 - -/* Define to 1 if you have the `stat64' function. */ -/* #undef H5_HAVE_STAT64 */ - -/* Define if `struct stat' has the `st_blocks' field */ -/* #undef H5_HAVE_STAT_ST_BLOCKS */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_STDDEF_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_STDINT_H */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strdup' function. */ -#define H5_HAVE_STRDUP 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_STRING_H 1 - -/* Define if `struct text_info' is defined */ -/* #undef H5_HAVE_STRUCT_TEXT_INFO */ - -/* Define if `struct timezone' is defined */ -/* #undef H5_HAVE_STRUCT_TIMEZONE */ - -/* Define to 1 if `tm_zone' is member of `struct tm'. */ -#define H5_HAVE_STRUCT_TM_TM_ZONE 1 - -/* Define if `struct videoconfig' is defined */ -/* #undef H5_HAVE_STRUCT_VIDEOCONFIG */ - -/* Define to 1 if you have the `symlink' function. */ -/* #undef H5_HAVE_SYMLINK */ - -/* Define to 1 if you have the `system' function. */ -#define H5_HAVE_SYSTEM 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_SYS_FPU_H */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_IOCTL_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_SYS_PROC_H */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_SYS_SYSINFO_H */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_TIMEB_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_SZLIB_H */ - -/* Define if we have thread safe support */ -/* #undef H5_HAVE_THREADSAFE */ - -/* Define if `timezone' is a global variable */ -#define H5_HAVE_TIMEZONE 1 - -/* Define if the ioctl TIOCGETD is defined */ -#define H5_HAVE_TIOCGETD 1 - -/* Define if the ioctl TIOGWINSZ is defined */ -#define H5_HAVE_TIOCGWINSZ 1 - -/* Define to 1 if you have the `tmpfile' function. */ -#define H5_HAVE_TMPFILE 1 - -/* Define if `tm_gmtoff' is a member of `struct tm' */ -/* #undef H5_HAVE_TM_GMTOFF */ - -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#define H5_HAVE_TM_ZONE 1 - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -/* #undef H5_HAVE_TZNAME */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_UNISTD_H 1 - -/* Define to 1 if you have the `asprintf' function. */ -/* #undef H5_HAVE_ASPRINTF */ - -/* Define to 1 if you have the `vasprintf' function. */ -/* #undef H5_HAVE_VASPRINTF */ - -/* Define to 1 if you have the `vsnprintf' function. */ -#define H5_HAVE_VSNPRINTF 1 - -/* Define to 1 if you have the `waitpid' function. */ -#define H5_HAVE_WAITPID 1 - -/* Define if your system has OpenVMS path name. This macro is added by hand. */ -#define H5_HAVE_VMS_PATH 1 - -/* Define if your system has window style path name. */ -/* #undef H5_HAVE_WINDOW_PATH */ - -/* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_WINSOCK2_H */ - -/* Define to 1 if you have the header file. */ -#define H5_HAVE_ZLIB_H 1 - -/* Define to 1 if you have the `_getvideoconfig' function. */ -/* #undef H5_HAVE__GETVIDEOCONFIG */ - -/* Define to 1 if you have the `_scrsize' function. */ -/* #undef H5_HAVE__SCRSIZE */ - -/* Define if `__tm_gmtoff' is a member of `struct tm' */ -/* #undef H5_HAVE___TM_GMTOFF */ - -/* Define if your system can't handle converting floating-point values to long - long. */ -/* #undef H5_HW_FP_TO_LLONG_NOT_WORKS */ - -/* Define if HDF5's high-level library headers should be included in hdf5.h */ -#define H5_INCLUDE_HL 1 - -/* Define if your system can accurately convert from integers to long double - values. */ -#define H5_INTEGER_TO_LDOUBLE_ACCURATE 1 - -/* Define if your system can convert long double to integers accurately. */ -#define H5_LDOUBLE_TO_INTEGER_ACCURATE 1 - -/* Define if your system can convert from long double to integer values. */ -#define H5_LDOUBLE_TO_INTEGER_WORKS 1 - -/* Define if your system can convert long double to (unsigned) long long - values correctly. */ -#define H5_LDOUBLE_TO_LLONG_ACCURATE 1 - -/* Define if your system converts long double to (unsigned) long values with - special algorithm. */ -/* #undef H5_LDOUBLE_TO_LONG_SPECIAL */ - -/* Define if your system can convert long double to unsigned int values - correctly. */ -#define H5_LDOUBLE_TO_UINT_ACCURATE 1 - -/* Define if your system can compile long long to floating-point casts. */ -#define H5_LLONG_TO_FP_CAST_WORKS 1 - -/* Define if your system can convert (unsigned) long long to long double - values correctly. */ -#define H5_LLONG_TO_LDOUBLE_CORRECT 1 - -/* Define if your system can convert (unsigned) long to long double values - with special algorithm. */ -/* #undef H5_LONG_TO_LDOUBLE_SPECIAL */ - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define H5_LT_OBJDIR ".libs/" - -/* Define if the metadata trace file code is to be compiled in */ -/* #undef H5_METADATA_TRACE_FILE */ - -/* Define if we can violate pointer alignment restrictions */ -#define H5_NO_ALIGNMENT_RESTRICTIONS 1 - -/* Define if deprecated public API symbols are disabled */ -/* #undef H5_NO_DEPRECATED_SYMBOLS */ - -/* Name of package */ -#define H5_PACKAGE "hdf5" - -/* Define to the address where bug reports for this package should be sent. */ -#define H5_PACKAGE_BUGREPORT "help@hdfgroup.org" - -/* Define to the full name of this package. */ -#define H5_PACKAGE_NAME "HDF5" - -/* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.215" - -/* Define to the one symbol short name of this package. */ -#define H5_PACKAGE_TARNAME "hdf5" - -/* Define to the home page for this package. */ -#define H5_PACKAGE_URL "" - -/* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.215" - -/* Width for printf() for type `long long' or `__int64', use `ll' */ -#define H5_PRINTF_LL_WIDTH "ll" - -/* The size of `char', as computed by sizeof. */ -#define H5_SIZEOF_CHAR 1 - -/* The size of `double', as computed by sizeof. */ -#define H5_SIZEOF_DOUBLE 8 - -/* The size of `float', as computed by sizeof. */ -#define H5_SIZEOF_FLOAT 4 - -/* The size of `int', as computed by sizeof. */ -#define H5_SIZEOF_INT 4 - -/* The size of `int16_t', as computed by sizeof. */ -#define H5_SIZEOF_INT16_T 2 - -/* The size of `int32_t', as computed by sizeof. */ -#define H5_SIZEOF_INT32_T 4 - -/* The size of `int64_t', as computed by sizeof. */ -#define H5_SIZEOF_INT64_T 8 - -/* The size of `int8_t', as computed by sizeof. */ -#define H5_SIZEOF_INT8_T 1 - -/* The size of `int_fast16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST16_T 0 */ - -/* The size of `int_fast32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST32_T 0 */ - -/* The size of `int_fast64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST64_T 0 */ - -/* The size of `int_fast8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_FAST8_T 0 */ - -/* The size of `int_least16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST16_T 0 */ - -/* The size of `int_least32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST32_T 0 */ - -/* The size of `int_least64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST64_T 0 */ - -/* The size of `int_least8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_INT_LEAST8_T 0 */ - -/* The size of `long', as computed by sizeof. */ -#define H5_SIZEOF_LONG 4 - -/* The size of `long double', as computed by sizeof. */ -#define H5_SIZEOF_LONG_DOUBLE 16 - -/* The size of `long long', as computed by sizeof. */ -#define H5_SIZEOF_LONG_LONG 8 - -/* The size of `off64_t', as computed by sizeof. */ -#define H5_SIZEOF_OFF64_T 0 - -/* The size of `off_t', as computed by sizeof. */ -#define H5_SIZEOF_OFF_T 8 - -/* The size of `ptrdiff_t', as computed by sizeof. */ -#define H5_SIZEOF_PTRDIFF_T 4 - -/* The size of `short', as computed by sizeof. */ -#define H5_SIZEOF_SHORT 2 - -/* The size of `size_t', as computed by sizeof. */ -#define H5_SIZEOF_SIZE_T 4 - -/* The size of `ssize_t', as computed by sizeof. */ -#define H5_SIZEOF_SSIZE_T 4 - -/* The size of `uint16_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT16_T 2 - -/* The size of `uint32_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT32_T 4 - -/* The size of `uint64_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT64_T 8 - -/* The size of `uint8_t', as computed by sizeof. */ -#define H5_SIZEOF_UINT8_T 1 - -/* The size of `uint_fast16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST16_T 0 */ - -/* The size of `uint_fast32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST32_T 0 */ - -/* The size of `uint_fast64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST64_T 0 */ - -/* The size of `uint_fast8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_FAST8_T 0 */ - -/* The size of `uint_least16_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST16_T 0 */ - -/* The size of `uint_least32_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST32_T 0 */ - -/* The size of `uint_least64_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST64_T 0 */ - -/* The size of `uint_least8_t', as computed by sizeof. */ -/* #define H5_SIZEOF_UINT_LEAST8_T 0 */ - -/* The size of `unsigned', as computed by sizeof. */ -#define H5_SIZEOF_UNSIGNED 4 - -/* The size of `__int64', as computed by sizeof. */ -#define H5_SIZEOF___INT64 0 - -/* Define to 1 if you have the ANSI C header files. */ -#define H5_STDC_HEADERS 1 - -/* Define if strict file format checks are enabled */ -/* #undef H5_STRICT_FORMAT_CHECKS */ - -/* Define if your system supports pthread_attr_setscope(&attribute, - PTHREAD_SCOPE_SYSTEM) call. */ -#define H5_SYSTEM_SCOPE_THREADS 1 - -/* Define to 1 if you can safely include both and . */ -#define H5_TIME_WITH_SYS_TIME 1 - -/* Define to 1 if your declares `struct tm'. */ -/* #undef H5_TM_IN_SYS_TIME */ - -/* Define if your system can compile unsigned long long to floating-point - casts. */ -#define H5_ULLONG_TO_FP_CAST_WORKS 1 - -/* Define if your system can convert unsigned long long to long double with - correct precision. */ -#define H5_ULLONG_TO_LDOUBLE_PRECISION 1 - -/* Define if your system accurately converting unsigned long to float values. - */ -/* #undef H5_ULONG_TO_FLOAT_ACCURATE */ - -/* Define if your system can accurately convert unsigned (long) long values to - floating-point values. */ -#define H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE 1 - -/* Define using v1.6 public API symbols by default */ -/* #define H5_USE_16_API_DEFAULT 1 */ - -/* Define if a memory checking tool will be used on the library, to cause - library to be very picky about memory operations and also disable the - internal free list manager code. */ -/* #undef H5_USING_MEMCHECKER */ - -/* Version number of package */ -#define H5_VERSION "1.9.215" - -/* Define if vsnprintf() returns the correct value for formatted strings that - don't fit into size allowed */ -#define H5_VSNPRINTF_WORKS 1 - -/* Data accuracy is prefered to speed during data conversions */ -#define H5_WANT_DATA_ACCURACY 1 - -/* Check exception handling functions during data conversions */ -#define H5_WANT_DCONV_EXCEPTION 1 - -/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -/* #undef H5_WORDS_BIGENDIAN */ - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef H5__FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef H5__LARGE_FILES */ - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef H5_const */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef H5_inline */ -#endif - -/* Define to `long int' if does not define. */ -/* #undef H5_off_t */ - -/* Define to `long' if does not define. */ -/* #undef H5_ptrdiff_t */ - -/* Define to `unsigned long' if does not define. */ -/* #undef H5_size_t */ - -/* Define to `long' if does not define. */ -/* #undef H5_ssize_t */ -#define H5_HAVE_FILE_VERSIONS 1 -#define H5_CANNOT_OPEN_TWICE 1 diff --git a/vms/src/make.com b/vms/src/make.com deleted file mode 100644 index 397d543..0000000 --- a/vms/src/make.com +++ /dev/null @@ -1,76 +0,0 @@ -$!# -$!# Copyright by The HDF Group. -$!# Copyright by the Board of Trustees of the University of Illinois. -$!# All rights reserved. -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 library -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/include=zlib_dir" -$ ccc := cc 'ccopt -$ ccc h5detect.c -$ link h5detect -$ type sys$input - Running h5detect to create h5tinit.c -$ define/user_mode sys$output h5tinit.c -$ run h5detect -$! -$ ccc h5make_libsettings.c -$ link h5make_libsettings -$ type sys$input - Running h5make_libsettings to create H5lib_settings.h -$ define/user_mode sys$output H5lib_settings.h -$ run h5make_libsettings -$! -$ type sys$input - Creating HDF5 library -$! -$ cobj= "H5, H5checksum, H5dbg, H5system, H5timer, H5trace,"+- - "H5Abtree2, H5A, H5AC, H5Adense, H5Adeprec, H5Aint, H5Atest, H5B2, H5B2cache,"+- - "H5B2dbg, H5B2hdr, H5B2int, H5B2stat, H5B2test, H5B, H5Bcache, H5Bdbg, H5C, H5CS,"+- - "H5Dbtree, H5D, H5Dchunk, H5Dcompact, H5Dcontig, H5Ddbg, H5Ddeprec,"+- - "H5Defl, H5Dfill, H5Dint, H5Dio, H5Dlayout, H5Dmpio, H5Doh, H5Dscatgath, H5Dselect, H5Dtest,"+- - "H5EA, H5EAcache, H5EAdbg, H5EAdblkpage, H5EAdblock, H5EAhdr, H5EAiblock, H5EAint,"+- - "H5EAsblock, H5EAstat, H5EAtest, H5E, H5Edeprec, H5Eint,"+- - "H5FA, H5FAcache, H5FAdbg, H5FAdblkpage, H5FAdblock, H5FAhdr, H5FAstat, H5FAtest,"+- - "H5Faccum, H5F, H5Fcwfs, H5Fdbg, H5Fdeprec, H5FD, H5FDcore, H5FDdirect, H5FDfamily, H5FDint, H5FDlog, "+- - "H5FDmpi, H5FDmpio, H5FDmulti, H5FDsec2, H5FDspace, H5FDstdio, H5FDwindows,"+- - "H5Fefc, H5Ffake, H5Fio, H5FL, H5Fmount, H5Fmpi, H5FO, H5Fquery, H5FS, H5FScache, H5FSdbg,"+- - "H5Fsfile, H5FSsection, H5FSstat, H5FStest, H5Fsuper, H5Fsuper_cache, H5Ftest,"+- - "H5Gbtree2, H5G, H5Gcache, H5Gcompact, H5Gdense, H5Gdeprec, H5Gent, H5Gint, H5Glink, H5Gloc,"+- - "H5Gname, H5Gnode, H5Gobj, H5Goh, H5Groot, H5Gstab, H5Gtest, H5Gtraverse,"+- - "H5HFbtree2, H5HF, H5HFcache, H5HFdbg, H5HFdblock, H5HFdtable, H5HFhdr, H5HFhuge, H5HFiblock,"+- - "H5HFiter, H5HFman, H5HFsection, H5HFspace, H5HFstat, H5HFtest, H5HFtiny,"+- - "H5HG, H5HGcache, H5HGdbg, H5HGquery, H5HL, H5HLcache, H5HLdbg, H5HLint, H5HP, H5I, H5Itest, H5L, H5Lexternal" -$ cobj1= "H5MFaggr, H5MF, H5MFdbg, H5MFsection, H5MM,"+- - "H5MP, H5MPtest, H5Oainfo, H5Oalloc, H5Oattr, H5Oattribute, H5Obogus, H5Obtreek,"+- - "H5O, H5Ocache, H5Ochunk, H5Ocont, H5Ocopy, H5Odbg, H5Odrvinfo, H5Odtype, H5Oefl, H5Ofill, H5Ofsinfo,"+- - "H5Oginfo, H5Olayout, H5Olinfo, H5Olink, H5Omessage, H5Omtime, H5Oname, H5Onull, H5Opline,"+- - "H5Orefcount, H5Osdspace, H5Oshared, H5Oshmesg, H5Ostab, H5Otest, H5Ounknown,"+- - "H5Pacpl, H5P, H5Pdapl, H5Pdcpl, H5Pdeprec, H5Pdxpl, H5Pencdec, H5Pfapl, H5Pfcpl, H5Pfmpl, H5Pgcpl, H5Pint,"+- - "H5Plapl, H5Plcpl, H5Pocpl, H5Pocpypl, H5Pstrcpl, H5Ptest,"+- - "H5R, H5UC, H5Rdeprec, H5RS, H5Sall, H5S, H5Sdbg, H5Shyper, H5SL, H5SMbtree2, H5SM, H5SMcache,"+- - "H5SMmessage, H5Smpio, H5SMtest, H5Snone, H5Spoint, H5Sselect, H5ST, H5Stest,"+- - "H5Tarray, H5Tbit, H5T, H5Tcommit, H5Tcompound, H5Tconv, H5Tcset, H5Tdbg, H5Tdeprec, H5Tenum,"+- - "H5Tfields, H5Tfixed, H5Tfloat, H5Tinit, H5Tnative, H5Toffset, H5Toh, H5Topaque, H5Torder,"+- - "H5Tpad, H5Tprecis, H5TS, H5Tstrpad, H5Tvisit, H5Tvlen, H5V, H5WB, H5Z,"+- - "H5Zdeflate, H5Zfletcher32, H5Znbit, H5Zscaleoffset, H5Zshuffle, H5Zszip, H5Ztrans" -$! -$ ccc 'cobj -$ ccc 'cobj1 -$ library/create []hdf5 -$ library/insert []hdf5 'cobj -$ library/insert []hdf5 'cobj1 -$ type sys$input - Done -$! diff --git a/vms/test/H5srcdir_str.h b/vms/test/H5srcdir_str.h deleted file mode 100644 index 2eb1a39..0000000 --- a/vms/test/H5srcdir_str.h +++ /dev/null @@ -1,22 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * 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. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* If you are reading this file and it has a '.h' suffix, it was automatically - * generated from the '.in' version. Make changes there. But for OpenVMS, this - * file is created by hand. - */ - -/* Set the 'srcdir' path from configure time */ -static const char *config_srcdir = "[-.test]"; diff --git a/vms/test/check.com b/vms/test/check.com deleted file mode 100644 index 5a3c945..0000000 --- a/vms/test/check.com +++ /dev/null @@ -1,271 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Run HDF5 C tests -$! -$ type sys$input - Running tests -$! define sys$output check_vms.out -$ -$ type sys$input -------- Running testhdf5 ------- -$ run testhdf5 -$ type sys$input - -$ type sys$input -------- Running accum ------- -$ run accum -$ type sys$input - -$ type sys$input -------- Running app_ref ------- -$ run app_ref -$ type sys$input - -$ type sys$input -------- Running big ------- -$ run big -$ type sys$input - -$ type sys$input -------- Running bittests ------- -$ run bittests -$ type sys$input - -$ type sys$input -------- Running btree2 ------- -$ run btree2 -$ type sys$input - -$ type sys$input -------- Running cache_api ------- -$ run cache_api -$ type sys$input - -$ type sys$input -------- Running cache ------- -$ run cache -$ type sys$input - -$ type sys$input -------- Running cache_tagging ------- -$ run cache_tagging -$ type sys$input - -$ type sys$input -------- Running chunk_info ------- -$ run chunk_info -$ type sys$input - -$ type sys$input -------- Running cmpd_dset ------- -$ run cmpd_dset -$ type sys$input - -$ type sys$input -------- Running cross_read ------- -$ run cross_read -$ type sys$input - -$ type sys$input -------- Running dangle ------- -$ run dangle -$ type sys$input - -$ type sys$input -------- Running dsets ------- -$ run dsets -$ type sys$input - -$ type sys$input -------- Running dt_arith ------- -$ run dt_arith -$ type sys$input - -$ type sys$input -------- Running dtransform ------- -$ run dtransform -$ type sys$input - -$ type sys$input -------- Running dtypes ------- -$ run dtypes -$ type sys$input - -$ type sys$input -------- Running earray ------- -$ run earray -$ type sys$input - -$! Skip this test for now because it opens the same file many times. -$! Please see Issue 7620 in Jira about it. -$! type sys$input -$! ------- Running efc ------- -$! run efc -$! type sys$input - -$ type sys$input -------- Running enum ------- -$ run enum -$ type sys$input - -$ type sys$input -------- Running extend ------- -$ run extend -$ type sys$input - -$ type sys$input -------- Running external ------- -$ run external -$ type sys$input - -$ type sys$input -------- Running fheap ------- -$ run fheap -$ type sys$input - -$ type sys$input -------- Running fillval ------- -$ run fillval -$ type sys$input - -$ type sys$input -------- Running filter_fail ------- -$ run filter_fail -$ type sys$input - -$ type sys$input -------- Running flush1 ------- -$ run flush1 -$ type sys$input - -$ type sys$input -------- Running flush2 ------- -$ run flush2 -$ type sys$input - -$ type sys$input -------- Running freespace ------- -$ run freespace -$ type sys$input - -$ type sys$input -------- Running getname ------- -$ run getname -$ type sys$input - -$ type sys$input -------- Running gheap ------- -$ run gheap -$ type sys$input - -$ type sys$input -------- Running hyperslab ------- -$ run hyperslab -$ type sys$input - -$ type sys$input -------- Running istore ------- -$ run istore -$ type sys$input - -$ type sys$input -------- Running lheap ------- -$ run lheap -$ type sys$input - -$ type sys$input -------- Running links ------- -$ run links -$ type sys$input - -$ type sys$input -------- Running links_env ------- -$ run links_env -$ type sys$input - -$ type sys$input -------- Running mf ------- -$ run mf -$ type sys$input - -$ type sys$input -------- Running mount ------- -$ run mount -$ type sys$input - -$ type sys$input -------- Running mtime ------- -$ run mtime -$ type sys$input - -$ type sys$input -------- Running ntypes ------- -$ run ntypes -$ type sys$input - -$ type sys$input -------- Running objcopy ------- -$ run objcopy -$ type sys$input - -$ type sys$input -------- Running ohdr ------- -$ run ohdr -$ type sys$input - -$ type sys$input -------- Running pool ------- -$ run pool -$ type sys$input - -$ type sys$input -------- Running reserved ------- -$ run reserved -$ type sys$input - -$ type sys$input -------- Running set_extent ------- -$ run set_extent -$ type sys$input - -$ type sys$input -------- Running space_overflow ------- -$ run space_overflow -$ type sys$input - -$ type sys$input -------- Running stab ------- -$ run stab -$ type sys$input - -$ type sys$input -------- Running testmeta ------- -$ run testmeta -$ type sys$input - -$ type sys$input -------- Running unlink ------- -$ run unlink -$ type sys$input - -$ type sys$input -------- Running vfd ------- -$ run vfd -$ type sys$input - -------- Testing completed ------- -$ exit diff --git a/vms/test/make.com b/vms/test/make.com deleted file mode 100644 index 22479c6..0000000 --- a/vms/test/make.com +++ /dev/null @@ -1,358 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 library tests -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=(_LARGEFILE,H5_VMS)/include=zlib_dir" -$! -$ ccc := cc 'ccopt /include=([-.src]) -$ type sys$input - Creating testhdf5 -$! -$ cobj= "h5test.c, testframe.c, testhdf5.c, tarray.c, tattr.c, tcheck_version., tchecksum.c,"+- - "tconfig.c, tcoords.c, tfile.c, tgenprop.c, th5o.c, th5s.c, theap.c, tid.c,"+- - "titerate.c, tmeta.c, tmisc.c, trefer.c, trefstr.c, tselect.c, tskiplist.c,"+- - "tsohm.c, ttime.c, ttst.c, tunicode.c, tvlstr.c, tvltypes.c, cache_common.c" -$! -$ ccc 'cobj -$ library/create/replace []libh5test h5test, testframe, cache_common -$ type sys$input - Creating libh5test -$ link testhdf5,tarray,tattr,tcheck_version,tchecksum,tconfig, - - tcoords,tfile,tgenprop,th5o,th5s,theap,tid,titerate, - - tmeta,tmisc,trefer,trefstr, - - tselect,tskiplist,tsohm,ttime,ttst,tunicode,tvlstr,tvltypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ -$! a new test -$ type sys$input - Creating accum test -$ ccc accum -$ link accum, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating app_ref test -$ ccc app_ref -$ link app_ref, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating big test -$ ccc big -$ link big, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating bittests test -$ ccc bittests -$ link bittests, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating btree2 test -$ ccc btree2 -$ link btree2, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache_api test -$ ccc cache_api -$ link cache_api, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache test -$ ccc cache -$ link cache, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cache_common test -$ ccc cache_common -$ link cache_common, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating cache_tagging tests -$ ccc cache_tagging -$ link cache_tagging, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating chunk_info test -$ ccc chunk_info -$ link chunk_info, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cmpd_dset test -$ ccc cmpd_dset -$ link cmpd_dset, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating cross_read test -$ ccc cross_read -$ link cross_read, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dangle test -$ ccc dangle -$ link dangle, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dsets tests -$ ccc dsets -$ link dsets, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dt_arith test -$ ccc dt_arith -$ link dt_arith, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dtransform test -$ ccc dtransform -$ link dtransform, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating dtypes test -$ ccc dtypes -$ link dtypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating earray test -$ ccc earray -$ link earray, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating efc test -$ ccc efc -$ link efc, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating enum test -$ ccc enum -$ link enum, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating err_compat test -$ ccc err_compat -$ link err_compat, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating error_test test -$ ccc error_test -$ link error_test, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating extend test -$ ccc extend -$ link extend, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating external test -$ ccc external -$ link external, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating fheap test -$ ccc fheap -$ link fheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating fillval test -$ ccc fillval -$ link fillval, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating filter_fail test -$ ccc filter_fail -$ link filter_fail, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating flush1 test -$ ccc flush1 -$ link flush1, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating flush2 test -$ ccc flush2 -$ link flush2, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating freespace test -$ ccc freespace -$ link freespace, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating getname test -$ ccc getname -$ link getname, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating gheap test -$ ccc gheap -$ link gheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating hyperslab test -$ ccc hyperslab -$ link hyperslab, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating istore test -$ ccc istore -$ link istore, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating lheap test -$ ccc lheap -$ link lheap, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating links test -$ ccc links -$ link links, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating links_env test -$ ccc links_env -$ link links_env, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mf test -$ ccc mf -$ link mf, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mount test -$ ccc mount -$ link mount, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating mtime test -$ ccc mtime -$ link mtime, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating ntypes test -$ ccc ntypes -$ link ntypes, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating objcopy test -$ ccc objcopy -$ link objcopy, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating ohdr test -$ ccc ohdr -$ link ohdr, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating pool test -$ ccc pool -$ link pool, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating reserved test -$ ccc reserved -$ link reserved, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating set_extent test -$ ccc set_extent -$ link set_extent, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating space_overflow test -$ ccc space_overflow -$ link space_overflow, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating stab test -$ ccc stab -$ link stab, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$! a new test -$ type sys$input - Creating testmeta test -$ ccc testmeta -$ link testmeta, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating unlink test -$ ccc unlink -$ link unlink, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Creating vfd test -$ ccc vfd -$ link vfd, - - libh5test.olb/lib,[-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$! -$ type sys$input - Done with tests compilation -$ exit diff --git a/vms/tools/h5copy/check_h5copy.com b/vms/tools/h5copy/check_h5copy.com deleted file mode 100644 index df83c88..0000000 --- a/vms/tools/h5copy/check_h5copy.com +++ /dev/null @@ -1,110 +0,0 @@ -$!# -$!# 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 command file tests h5copy utility. The command file has to -$ ! run in the [hdf5-top.tools.h5copy.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5copy utiltity -=================================== - -$ ! -$ ! Define h5copy symbols -$ ! -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ h5copy_dir = temp + "]" -$ h5copy :== $sys$disk:'h5copy_dir'h5copy.exe -$ ! -$ ! -$ ! h5copy tests -$ ! -$ - -$ !# copy files -$ write sys$output "Test copying various forms of datasets" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s simple -d simple" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s chunk -d chunk" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compact -d compact" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compound -d compound" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compressed -d compressed" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s named_vl -d named_vl" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s nested_vl -d nested_vl" -$ ! -$ write sys$output " " -$ write sys$output "Test copying dataset within group in source file to root of destination" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_dsets/simple -d simple_top" -$ write sys$output " " -$ write sys$output "Test copying & renaming dataset" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s compound -d rename" -$! -$ write sys$output " " -$ write sys$output "Test copying empty, 'full' & 'nested' groups" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_empty -d grp_empty" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d grp_dsets" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s grp_nested -d grp_nested" -$! -$ write sys$output " " -$ write sys$output "Test copying dataset within group in source file to group in destination" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -v -s /grp_dsets/simple -d /grp_dsets/simple_group" -$! write sys$output "Test copying & renaming group" -$! CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d grp_rename -$! write sys$output "Test copying full group hierarchy into group in destination file" -$! CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -v -s grp_dsets -d /grp_rename/grp_dsets" -$! -$ write sys$output " " -$ write sys$output "Test copying objects into group hier. that doesn't exist yet in destination file" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s simple -d /A/B1/simple" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s simple -d /A/B2/simple2" -$ CALL TOOLTEST "-i h5copytst.h5 -o out.h5 -vp -s /grp_dsets/simple -d /C/D/simple" -$!CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -vp -s /grp_dsets -d /E/F/grp_dsets" -$!CALL TOOLTEST_FAIL "-i h5copytst.h5 -o out.h5 -vp -s /grp_nested -d /G/H/grp_nested" -$! -$ del *out.h5;* -$ ! -$TOOLTEST: SUBROUTINE - -$ -$ begin = "Testing h5copy" -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$error h5copy_temp.err -$ ON ERROR THEN CONTINUE -$ h5copy 'P1 -$ deassign sys$error -$ if F$SEARCH("h5copy_temp.err") .EQS. "" -$ then -$ result = "PASSED" -$ line = F$FAO("!16AS !53AS !70AS", begin, P1, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!16AS !52AS !69AS", begin, P1, result) -$ endif -$ ! -$ ! Delete error file if any print test result -$ ! -$ if F$SEARCH ("*.err;*") .NES. "" -$ then -$ del *.err;* -$ endif -$ ! -$ write sys$output line -$ ! -$ENDSUBROUTINE diff --git a/vms/tools/h5copy/make.com b/vms/tools/h5copy/make.com deleted file mode 100644 index 1a95f58..0000000 --- a/vms/tools/h5copy/make.com +++ /dev/null @@ -1,40 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5copy tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5copy -$! -$ cobj= " h5copy " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5copy.exe - - h5copy, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5copy -$! -$! -$ exit diff --git a/vms/tools/h5diff/check_h5diff.com b/vms/tools/h5diff/check_h5diff.com deleted file mode 100644 index 5a0ef46..0000000 --- a/vms/tools/h5diff/check_h5diff.com +++ /dev/null @@ -1,337 +0,0 @@ -$!# -$!# 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 command file tests h5diff utility. The command file has to -$ ! run in the [hdf5-top.tools.h5diff.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5diff utiltity -=================================== - -$ ! Define h5diff symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ h5diff_dir = temp + "]" -$ h5diff :== $sys$disk:'h5diff_dir'h5diff.exe -$ ! - -$ ! -$ ! h5diff tests -$ ! -$ -$!# 1.0 -$ CALL TOOLTEST h5diff_10.txt "-h" -$! -$!# 1.1 normal mode -$ CALL TOOLTEST h5diff_11.txt "h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.2 normal mode with objects -$ CALL TOOLTEST h5diff_12.txt "h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2" -$! -$!# 1.3 report mode -$ CALL TOOLTEST h5diff_13.txt "-r h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.4 report mode with objects -$ CALL TOOLTEST h5diff_14.txt "-r h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2" -$! -$!# 1.5 with -d -$ CALL TOOLTEST h5diff_15.txt " --report --delta=5 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 1.6.1 with -p (int) -$ CALL TOOLTEST h5diff_16_1.txt "-v -p 0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset5 g1/dset6" -$! -$!# 1.6.2 with -p (unsigned long long) -$ CALL TOOLTEST h5diff_16_2.txt "--verbose --relative=0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset7 g1/dset8" -$! -$!# 1.6.3 with -p (int) -$ CALL TOOLTEST h5diff_16_3.txt "-v -p 0.02 h5diff_basic1.h5 h5diff_basic1.h5 g1/dset9 g1/dset10" -$! -$!# 1.7 verbose mode -$ CALL TOOLTEST h5diff_17.txt "-v h5diff_basic1.h5 h5diff_basic2.h5" -$! -$!# 1.8 quiet mode -$ CALL TOOLTEST h5diff_18.txt "-q h5diff_basic1.h5 h5diff_basic2.h5" -$! -$! -$!# ############################################################################## -$!# # not comparable types -$!# ############################################################################## -$! -$!# 2.0 -$ CALL TOOLTEST h5diff_20.txt "-v h5diff_types.h5 h5diff_types.h5 dset g1" -$ -$!# 2.1 -$ CALL TOOLTEST h5diff_21.txt "-v h5diff_types.h5 h5diff_types.h5 dset l1" -$! -$!# 2.2 -$ CALL TOOLTEST h5diff_22.txt "-v h5diff_types.h5 h5diff_types.h5 dset t1" -$! -$!# ############################################################################## -$!# # compare groups, types, links (no differences and differences) -$!# ############################################################################## -$! -$!# 2.3 -$ CALL TOOLTEST h5diff_23.txt "-v h5diff_types.h5 h5diff_types.h5 g1 g1" -$! -$!# 2.4 -$ CALL TOOLTEST h5diff_24.txt "-v h5diff_types.h5 h5diff_types.h5 t1 t1" -$! -$!# 2.5 -$ CALL TOOLTEST h5diff_25.txt "-v h5diff_types.h5 h5diff_types.h5 l1 l1" -$! -$!# 2.6 -$ CALL TOOLTEST h5diff_26.txt "-v h5diff_types.h5 h5diff_types.h5 g1 g2" -$! -$!# 2.7 -$ CALL TOOLTEST h5diff_27.txt "-v h5diff_types.h5 h5diff_types.h5 t1 t2" -$! -$!# 2.8 -$ CALL TOOLTEST h5diff_28.txt "-v h5diff_types.h5 h5diff_types.h5 l1 l2" -$! -$! -$! -$!# ############################################################################## -$!# # Dataset types -$!# ############################################################################## -$ -$!# 5.0 -$ CALL TOOLTEST h5diff_50.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset0a dset0b" -$! -$!# 5.1 -$ CALL TOOLTEST h5diff_51.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset1a dset1b" -$! -$!# 5.2 -$ CALL TOOLTEST h5diff_52.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset2a dset2b" -$! -$!# 5.3 -$ CALL TOOLTEST h5diff_53.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset3a dset4b" -$! -$!# 5.4 -$ CALL TOOLTEST h5diff_54.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset4a dset4b" -$! -$!# 5.5 -$ CALL TOOLTEST h5diff_55.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset5a dset5b" -$! -$!# 5.6 -$ CALL TOOLTEST h5diff_56.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset6a dset6b" -$! -$!# 5.7 -$ CALL TOOLTEST h5diff_57.txt "-v h5diff_dtypes.h5 h5diff_dtypes.h5 dset7a dset7b" -$! -$!# 5.8 (region reference) -$ CALL TOOLTEST h5diff_58.txt "-v h5diff_dset1.h5 h5diff_dset2.h5 refreg" -$! -$!# ############################################################################## -$!# # Error messages -$!# ############################################################################## -$! -$! -$!# 6.0: Check if the command line number of arguments is less than 3 -$ CALL TOOLTEST h5diff_600.txt "h5diff_basic1.h5" -$! -$!# ############################################################################## -$!# # -d -$!# ############################################################################## -$! -$! -$!# 6.3: negative value -$ CALL TOOLTEST h5diff_603.txt "-d -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.4: zero -$ CALL TOOLTEST h5diff_604.txt "-d 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.5: non number -$ CALL TOOLTEST h5diff_605.txt "-d u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.6: hexadecimal -$ CALL TOOLTEST h5diff_606.txt "-d 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.7: string -$ CALL TOOLTEST h5diff_607.txt "-d """1""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.8: repeated option -$ CALL TOOLTEST h5diff_608.txt "-d 1 -d 2 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.9: number larger than biggest difference -$ CALL TOOLTEST h5diff_609.txt "-d 200 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.10: number smaller than smallest difference -$ CALL TOOLTEST h5diff_610.txt "-d 1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$! -$!# ############################################################################## -$!# # -p -$!# ############################################################################## -$! -$! -$! -$!# 6.12: negative value -$ CALL TOOLTEST h5diff_612.txt "-p -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.13: zero -$ CALL TOOLTEST h5diff_613.txt "-p 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.14: non number -$ CALL TOOLTEST h5diff_614.txt "-p u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.15: hexadecimal -$ CALL TOOLTEST h5diff_615.txt "-p 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.16: string -$! CALL TOOLTEST h5diff_616.txt "-p """0.21""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.17: repeated option -$ CALL TOOLTEST h5diff_617.txt "-p 0.21 -p 0.22 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.18: number larger than biggest difference -$ CALL TOOLTEST h5diff_618.txt "-p 2 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.19: number smaller than smallest difference -$ CALL TOOLTEST h5diff_619.txt "-p 0.005 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$! -$! -$!# ############################################################################## -$!# # -n -$!# ############################################################################## -$! -$! -$! -$!# 6.21: negative value -$ CALL TOOLTEST h5diff_621.txt "-n -4 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.22: zero -$ CALL TOOLTEST h5diff_622.txt "-n 0 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.23: non number -$ CALL TOOLTEST h5diff_623.txt "-n u h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.24: hexadecimal -$ CALL TOOLTEST h5diff_624.txt "-n 0x1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.25: string -$ CALL TOOLTEST h5diff_625.txt "-n """2""" h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.26: repeated option -$ CALL TOOLTEST h5diff_626.txt "-n 2 -n 3 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.27: number larger than biggest difference -$ CALL TOOLTEST h5diff_627.txt "--count=200 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# 6.28: number smaller than smallest difference -$ CALL TOOLTEST h5diff_628.txt "-n 1 h5diff_basic1.h5 h5diff_basic2.h5 g1/dset3 g1/dset4" -$! -$!# ############################################################################## -$!# 6.29 non valid files -$!# ############################################################################## -$! This test is disabled in the C test script. -$! CALL TOOLTEST h5diff_629.txt "file1.h6 file2.h6" -$! -$!# ############################################################################## -$!# 7. attributes -$!# ############################################################################## -$! -$ CALL TOOLTEST h5diff_70.txt "-v h5diff_attr1.h5 h5diff_attr2.h5" -$! -$!# ############################################################################## -$!# 8. all dataset datatypes -$!# ############################################################################## -$! -$ CALL TOOLTEST h5diff_80.txt "-v h5diff_dset1.h5 h5diff_dset2.h5" -$! -$!# 9. compare a file with itself -$! -$ CALL TOOLTEST h5diff_90.txt "-v h5diff_basic2.h5 h5diff_basic2.h5" -$! -$! 10. read by hyperslab, print indexes -$ CALL TOOLTEST h5diff_100.txt "-v h5diff_hyper1.h5 h5diff_hyper2.h5" -$! -$! 11. floating point comparison -$ CALL TOOLTEST h5diff_101.txt "-v h5diff_basic1.h5 h5diff_basic1.h5 g1/d1 g1/d2" -$ CALL TOOLTEST h5diff_102.txt "-v h5diff_basic1.h5 h5diff_basic1.h5 g1/fp1 g1/fp2" -$! -$! -$! -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5diffout" -$ actual_err = base + "h5differr" -$ -$ begin = "Testing h5diff " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ ON ERROR THEN CONTINUE -$ h5diff 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5diff_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5diff_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5diff_temp.dif h5diff.log -$ append/new_version 'actual' h5diff_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5differr;* -$ endif -$ del *.h5diffout;* -$ del h5diff_temp.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5diff/make.com b/vms/tools/h5diff/make.com deleted file mode 100644 index c1e0078..0000000 --- a/vms/tools/h5diff/make.com +++ /dev/null @@ -1,48 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VAX/VMX systems. -$! -$! Make h5diff tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$! -$ cobj= "h5diff_main, h5diff_common, h5diffgentest" - -$! -$ ccc 'cobj -$ type sys$input - Creating h5diffgentest ... -$ link/exe=h5diffgentest.exe - - h5diffgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5difftest - -$ -$ type sys$input - Creating h5diff ... -$ link/exe=h5diff.exe - - h5diff_main, h5diff_common, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5diff - -$! -$ exit diff --git a/vms/tools/h5dump/check_h5dump.com b/vms/tools/h5dump/check_h5dump.com deleted file mode 100644 index 2c34731..0000000 --- a/vms/tools/h5dump/check_h5dump.com +++ /dev/null @@ -1,353 +0,0 @@ -$!# -$!# 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 command file tests h5dump utility. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5dump utiltity -=================================== - -$ -$ ! -$ ! Define h5dump symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-10, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ ! -$ ! h5dump tests -$ ! -$ -$ -$ -$ ! Test for displaying groups -$ CALL TOOLTEST tgroup-1.ddl "tgroup.h5" -$ ! Test for displaying the selected groups -$ CALL TOOLTEST tgroup-2.ddl "--group=/g2 --group / -g /y tgroup.h5" -$ ! Test for displaying simple space datasets -$ CALL TOOLTEST tdset-1.ddl "tdset.h5" -$ ! Test for displaying selected datasets -$ CALL TOOLTEST tdset-2.ddl "-"""H""" -d dset1 -d /dset2 --dataset=dset3 tdset.h5" -$ ! Test for displaying attributes -$ CALL TOOLTEST tattr-1.ddl "tattr.h5" -$ ! Test for displaying the selected attributes of string type and scalar space -$ CALL TOOLTEST tattr-2.ddl "-a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5" -$ ! Test for header and error messages -$ CALL TOOLTEST tattr-3.ddl "--header -a /attr2 --attribute=/attr tattr.h5" -$ ! Test for displaying attributes in shared datatype (also in group and dataset) -$ CALL TOOLTEST tnamed_dtype_attr.ddl "tnamed_dtype_attr.h5" -$ -$ ! Test for displaying soft links -$ CALL TOOLTEST tslink-1.ddl "tslink.h5" -$ ! Test for displaying the selected link -$ CALL TOOLTEST tslink-2.ddl "-l slink2 tslink.h5" -$ -$ ! Tests for hard links -$ CALL TOOLTEST thlink-1.ddl "thlink.h5" -$ CALL TOOLTEST thlink-2.ddl "-d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 thlink.h5" -$ CALL TOOLTEST thlink-3.ddl "-d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 thlink.h5" -$ CALL TOOLTEST thlink-4.ddl "-g /g1 thlink.h5" -$ CALL TOOLTEST thlink-5.ddl "-d /dset1 -g /g2 -d /g1/dset2 thlink.h5" -$ -$ ! Tests for compound data types -$ CALL TOOLTEST tcomp-1.ddl "tcompound.h5" -$ ! test for named data types -$ CALL TOOLTEST tcomp-2.ddl "-t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5" -$ ! Test for unamed type -$ CALL TOOLTEST tcomp-3.ddl "-t /#6632 -g /group2 tcompound.h5" -$ ! Test complicated compound datatype -$ CALL TOOLTEST tcomp-4.ddl "tcompound_complex.h5" -$ -$ ! Test for the nested compound type -$ CALL TOOLTEST tnestcomp-1.ddl "tnestedcomp.h5" -$ -$ ! test for options -$ CALL TOOLTEST tall-1.ddl "tall.h5" -$ CALL TOOLTEST tall-2.ddl "--header -g /g1/g1.1 -a attr2 tall.h5" -$ CALL TOOLTEST tall-3.ddl "-d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5" -$ -$ ! Test for loop detection -$ CALL TOOLTEST tloop-1.ddl "tloop.h5" -$ -$ ! Test for string -$ CALL TOOLTEST tstr-1.ddl "tstr.h5" -$ CALL TOOLTEST tstr-2.ddl "tstr2.h5" -$ -$ ! Test for file created by Lib SAF team -$ CALL TOOLTEST tsaf.ddl "tsaf.h5" -$ -$ ! Test for file with variable length data -$ CALL TOOLTEST tvldtypes1.ddl "tvldtypes1.h5" -$ CALL TOOLTEST tvldtypes2.ddl "tvldtypes2.h5" -$ CALL TOOLTEST tvldtypes3.ddl "tvldtypes3.h5" -$ CALL TOOLTEST tvldtypes4.ddl "tvldtypes4.h5" -$ CALL TOOLTEST tvldtypes5.ddl "tvldtypes5.h5" -$ -$ ! Test for file with variable length string data -$ CALL TOOLTEST tvlstr.ddl "tvlstr.h5" -$ -$ ! Test for files with array data -$ CALL TOOLTEST tarray1.ddl "tarray1.h5" -$ CALL TOOLTEST tarray2.ddl "tarray2.h5" -$ CALL TOOLTEST tarray3.ddl "tarray3.h5" -$ CALL TOOLTEST tarray4.ddl "tarray4.h5" -$ CALL TOOLTEST tarray5.ddl "tarray5.h5" -$ CALL TOOLTEST tarray6.ddl "tarray6.h5" -$ CALL TOOLTEST tarray7.ddl "tarray7.h5" -$ -$ ! Test for files with empty data -$ CALL TOOLTEST tempty.ddl "tempty.h5" -$ -$ ! Test for files with groups that have comments -$ CALL TOOLTEST tgrp_comments.ddl "tgrp_comments.h5" -$ -$ ! Test the --filedriver flag -$ CALL TOOLTEST tsplit_file.ddl "--filedriver=split tsplit_file" -$ CALL TOOLTEST tfamily.ddl "--filedriver=family tfamily%05d.h5" -$ CALL TOOLTEST tmulti.ddl "--filedriver=multi tmulti" -$ -$ ! Test for files with group names which reach > 1024 bytes in size -$ CALL TOOLTEST tlarge_objname.ddl "-w157 tlarge_objname.h5" -$ -$ ! Test '-A' to suppress data but print attr's -$ CALL TOOLTEST tall-2A.ddl "-"""A""" tall.h5" -$ -$ ! Test '-r' to print attributes in ASCII instead of decimal -$ CALL TOOLTEST tall-2B.ddl "-"""A""" -r tall.h5" -$ -$ ! Test Subsetting -$ CALL TOOLTEST tall-4s.ddl "--dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5" -$ CALL TOOLTEST tall-5s.ddl "-d /g1/g1.1/dset1.1.2[0;2;10;] tall.h5" -$ CALL TOOLTEST tdset-3s.ddl "-d /dset1[1,1;;;] tdset.h5" -$! CALL TOOLTEST tdset-3s.ddl "-d """/"dset"1[;3,2;4,4;1,4]""" tdset2.h5" -$ -$ ! Test printing characters in ASCII instead of decimal -$ CALL TOOLTEST tchar1.ddl "-r tchar.h5" -$ -$ ! Test failure handling -$ ! Missing file name -$ CALL TOOLTEST "tnofilename.ddl" -$ -$ ! rev. 2004 -$ -$ ! Tests for super block -$ CALL TOOLTEST tboot1.ddl "-"""H""" -"""B""" -d dset tfcontents1.h5" -$ CALL TOOLTEST tboot2.ddl "-"""B""" tfcontents2.h5" -$ -$ ! Test -p with a non existing dataset -$ CALL TOOLTEST tperror.ddl "-p -d bogus tfcontents1.h5" -$ -$ ! Test for file contents -$ CALL TOOLTEST tcontents.ddl "-n tfcontents1.h5" -$ -$ ! Tests for storage layout -$ ! Compact -$ CALL TOOLTEST tcompact.ddl "-"""H""" -p -d compact tfilters.h5" -$ ! Contiguous -$ CALL TOOLTEST tcontiguos.ddl "-"""H""" -p -d contiguous tfilters.h5" -$ ! Chunked -$ CALL TOOLTEST tchunked.ddl "-"""H""" -p -d chunked tfilters.h5" -$ ! External -$ CALL TOOLTEST texternal.ddl "-"""H""" -p -d external tfilters.h5" -$ -$ ! Fill values -$ CALL TOOLTEST tfill.ddl "-p tfvalues.h5" -$ -$ ! Several datatype, with references , print path -$ CALL TOOLTEST treference.ddl "tattr2.h5" -$ -$ ! Escape/not escape non printable characters -$ CALL TOOLTEST tstringe.ddl "-e tstr3.h5" -$ CALL TOOLTEST tstring.ddl "tstr3.h5" -$ ! Char data as ASCII with non escape -$ CALL TOOLTEST tstring2.ddl "-r -d str4 tstr3.h5" -$ -$ ! Array indices print/not print -$ CALL TOOLTEST tindicesyes.ddl "taindices.h5" -$ CALL TOOLTEST tindicesno.ddl "-y taindices.h5" -$ ! User defined -$ CALL TOOLTEST tuserfilter.ddl "-"""H""" -p -d myfilter tfilters.h5" -$ -$ ! Test for displaying dataset and attribute of null space -$ CALL TOOLTEST tnullspace.ddl "tnullspace.h5" -$ -$ ! Test for displaying objects with very long names -$ !CALL TOOLTEST tlonglinks.ddl "tlonglinks.h5" -$ -$ ! Test for long double (some systems do not have long double) -$ ! CALL TOOLTEST tldouble.ddl "tldouble.h5" -$ -$ ! Test for vms -$ CALL TOOLTEST tvms.ddl "tvms.h5" -$ -$ !test for binary output -$ CALL TOOLTEST1 tbin1.ddl "-d integer -o out1.bin -b """LE""" tbinary.h5" -$ CALL TOOLTEST1 tbin2.ddl "-d float -o out2.bin -b """BE""" tbinary.h5" -$ CALL TOOLTEST1 tbin4.ddl "-d double -o out4.bin -b """FILE""" tbinary.h5" -$ -$ ! Test for dataset region references -$ CALL TOOLTEST tdatareg.ddl "tdatareg.h5" -$ -$ ! tests for group creation order "1" tracked, "2" name, root tracked -$ CALL TOOLTEST tordergr1.ddl "--group=1 --sort_by=creation_order --sort_order=ascending tordergr.h5" -$ CALL TOOLTEST tordergr2.ddl "--group=1 --sort_by=creation_order --sort_order=descending tordergr.h5" -$ CALL TOOLTEST tordergr3.ddl "-g 2 -q name -z ascending tordergr.h5" -$ CALL TOOLTEST tordergr4.ddl "-g 2 -q name -z descending tordergr.h5" -$ CALL TOOLTEST tordergr5.ddl "-q creation_order tordergr.h5" -$ -$ ! Tests for attribute order -$ CALL TOOLTEST torderattr1.ddl "-"""H""" --sort_by=name --sort_order=ascending torderattr.h5" -$ CALL TOOLTEST torderattr2.ddl "-"""H""" --sort_by=name --sort_order=descending torderattr.h5" -$ CALL TOOLTEST torderattr3.ddl "-"""H""" --sort_by=creation_order --sort_order=ascending torderattr.h5" -$ CALL TOOLTEST torderattr4.ddl "-"""H""" --sort_by=creation_order --sort_order=descending torderattr.h5" -$ ! -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5dumpout" -$ actual_err = base + "h5dumperr" -$ -$ begin = "Testing h5dump " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ write sys$output "#############################" -$ write sys$output "Expected output for 'h5dump ''P2''" -$ write sys$output "#############################" -$ ON ERROR THEN CONTINUE -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5dump_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5dump_temp.dif h5dump.log -$ append/new_version 'actual' h5dump_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5dumperr;* -$ endif -$ del *.h5dumpout;* -$ del h5dump_temp.dif;* -$ ! -$ENDSUBROUTINE -$ -$TOOLTEST1: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-3,P1) -$ actual = base + "h5dumpout" -$ actual_err = base + "h5dumperr" -$ -$ begin = "Testing h5dump " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ ON ERROR THEN CONTINUE -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5dump_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append/new_version h5dump_temp.dif h5dump.log -$ append/new_version 'actual' h5dump_output.txt -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ del *.h5dumperr;* -$ endif -$ del *.h5dumpout;* -$ del h5dump_temp.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5dump/make.com b/vms/tools/h5dump/make.com deleted file mode 100644 index 612b524..0000000 --- a/vms/tools/h5dump/make.com +++ /dev/null @@ -1,41 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5dump tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ cobj= "h5dump.c, h5dumpgentest.c " -$ ccc 'cobj -$ type sys$input - Creating h5dumpgentest ... -$ link h5dumpgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5dumpgentest -$ type sys$input - Creating h5dump ... -$ link h5dump, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5dump -$! -$ exit diff --git a/vms/tools/h5import/check_h5import.com b/vms/tools/h5import/check_h5import.com deleted file mode 100644 index 96c2d07..0000000 --- a/vms/tools/h5import/check_h5import.com +++ /dev/null @@ -1,227 +0,0 @@ -$!# -$!# 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 command file tests h5import utility. The command file has to -$ ! run in the [hdf5-top.tools.h5import.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5import utiltity -=================================== - -$ ! Define symbols -$ ! -$ -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-19, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ h5import_dir = temp + "H5IMPORT]" -$ h5import :== $sys$disk:'h5import_dir'h5import.exe -$ h5importtest :== $sys$disk:'h5import_dir'h5importtest.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5dump -$ ! -$ create h5import.log -$ ! -$ ! h5import tests -$ ! -$ ! Run h5importtest to create input files -$ ! -$ run [.-]h5importtest -$ ! -$ type sys$input - Testing ASCII I32 rank 3 - Output BE -$ CALL TOOLTEST "txtin16.txt -c txtin32.conf -o" txtin32.h5 -$ ! -$ type sys$input - Testing ASCII I16 rank 3 - Output LE - CHUNKED - extended -$ CALL TOOLTEST "txtin16.txt -c txtin16.conf -o" txtin16.h5 -$ ! -$ type sys$input - Testing ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed -$ CALL TOOLTEST "txtin16.txt -c txtin8.conf -o" txtin8.h5 -$ ! -$ type sys$input - Testing ASCII UI32 - rank 3 - Output BE -$ CALL TOOLTEST "txtuin32.txt -c txtuin32.conf -o" txtuin32.h5 -$ ! -$ type sys$input - Testing ASCII UI16 - rank 2 - Output LE+Chunked+Compressed -$ CALL TOOLTEST "txtuin32.txt -c txtuin16.conf -o" txtuin16.h5 -$ ! -$ type sys$input - Testing ASCII F32 - rank 3 - Output LE -$ CALL TOOLTEST "txtfp32.txt -c txtfp32.conf -o" txtfp32.h5 -$ ! -$ type sys$input - Testing ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed -$ CALL TOOLTEST "txtfp64.txt -c txtfp64.conf -o" txtfp64.h5 -$ ! -$ type sys$input - Testing BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed -$ CALL TOOLTEST "binfp64.bin -c binfp64.conf -o" binfp64.h5 -$ ! -$ type sys$input - Testing BINARY I16 - rank 3 - Output order LE + CHUNKED + extended -$ CALL TOOLTEST "binin16.bin -c binin16.conf -o" binin16.h5 -$ ! -$ type sys$input - Testing BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed -$ CALL TOOLTEST "binin8.bin -c binin8.conf -o" binin8.h5 -$ ! -$ type sys$input - - Testing BINARY I32 - rank 3 - Output BE + CHUNKED -$ CALL TOOLTEST "binin32.bin -c binin32.conf -o" binin32.h5 -$ ! -$ type sys$input - Testing BINARY UI16 - rank 3 - Output byte BE + CHUNKED -$ CALL TOOLTEST "binuin16.bin -c binuin16.conf -o" binuin16.h5 -$ ! -$ type sys$input - Testing BINARY UI32 - rank 3 - Output LE + CHUNKED -$ CALL TOOLTEST "binuin32.bin -c binuin32.conf -o" binuin32.h5 -$ ! -$ type sys$input - Testing STR -$ CALL TOOLTEST "txtstr.txt -c txtstr.conf -o" txtstr.h5 -$ ! -$ type sys$input - Testing BINARY I8 CR LF EOF -$ CALL TOOLTEST "binin8w.bin -c binin8w.conf -o" binin8w.h5 -$ ! -$ type sys$input - Testing ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE -$ CALL TOOLTEST "in64.txt -c textpfe.conf -o" test15.h5 -$ -$ -$ ! Delete temporary files -$ del *_out.h5;* -$ del *.h5importtxt;* -$ del b*.h5;* -$ del txti*.h5;* -$ del *.dif;* -$ ! -$ -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P2) -$ base = F$EXTRACT(0,len-3,P2) -$ actual = base + "_out.h5" -$ actual_dump = base + "out.h5importtxt" -$ actual_dump_err = base + "out.h5importerr" -$ expected_dump = base + ".h5importtxt" -$ expected_dump_err = base + ".h5importerr" -$ -$ begin = "Testing" -$ ! -$ ! Run h5import with output in the 'actual' file -$ ! -$ ON ERROR THEN CONTINUE -$ h5import 'P1 'actual' -$ define/nolog sys$output 'actual_dump' -$ define/nolog sys$error 'actual_dump_err' -$ ! -$ ! Dump the atual and expected files -$ ! -$ h5dump 'actual' -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_dump_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_dump_err' 'actual_dump' -$ set message/text/facility/identification/severity -$ endif -$ define/nolog sys$output 'expected_dump' -$ define/nolog sys$error 'expected_dump_err' -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(expected_dump_err) .NES. "" -$ then -$ set message/notex/nofacility/noidentification/noseverity -$ append 'expected_dump_err' 'expected_dump' -$ set message/ntext/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines)- - 'actual_dump' - - 'expected_dump' -$ open/read temp_out h5dump_temp.dif -$ ! -$READ_DATA: -$ read/end_of_file=end_read temp_out record1 -$ ! -$ ! Skip blank lines -$ ! -$ if record1 .EQS. "" then goto READ_DATA -$ ! -$ ! Find record with "Number" and exit the loop -$ ! -$ len = F$LENGTH(record1) -$ pos = F$LOCATE("Number", record1) -$ ! -$ if pos .EQ. 0 -$ then -$ err_code = F$EXTRACT(len-1,1,record1) -$ goto END_READ -$ endif -$ ! -$ goto READ_DATA -$ -$ ! -$END_READ: -$ close temp_out -$ ! -$ ! File names are different, so we allow only one difference -$ ! in h5dump -$ if err_code .eqs. "1" -$ then -$ result = "PASSED" -$ line = F$FAO("!8AS !62AS !80AS", begin, P1, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!8AS !61AS !79AS", begin, P1, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5dump_temp.dif h5import.log -$ ! -$ ! -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH(actual_dump_err) .NES. "" -$ then -$ del *out.h5importerr;* -$ endif -$ if F$SEARCH(expected_dump_err) .NES. "" -$ then -$ del *.h5importerr;* -$ endif -$ENDSUBROUTINE diff --git a/vms/tools/h5import/make.com b/vms/tools/h5import/make.com deleted file mode 100644 index 6afbd70..0000000 --- a/vms/tools/h5import/make.com +++ /dev/null @@ -1,46 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5import tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5import ... -$! -$ cobj= "h5import, h5importtest " - -$! -$ ccc 'cobj -$ link h5import,- - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5import - -$! -$ type sys$input - Creating h5importtest ... -$ link h5importtest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5importtest - -$! -$ exit diff --git a/vms/tools/h5jam/check_h5jam.com b/vms/tools/h5jam/check_h5jam.com deleted file mode 100644 index 50be903..0000000 --- a/vms/tools/h5jam/check_h5jam.com +++ /dev/null @@ -1,159 +0,0 @@ -$!# -$!# 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 command file tests h5jam and h5unjam utilities. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5jam utiltity -=================================== - -$ ! -$ ! Define h5jam, h5unjam and h5dump symbols -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-16, current_dir) -$ h5dump_dir = temp + "H5DUMP]" -$ h5dump :== $sys$disk:'h5dump_dir'h5dump.exe -$ temp2 = F$EXTRACT(0, len-11, current_dir) -$ h5jam_dir = temp2 + "]" -$ h5jam :== $sys$disk:'h5jam_dir'h5jam.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5dump -$ ! -$ create h5dump.log -$ ! -$ ! h5jam and h5unjam tests -$ ! -$ -$ CALL H5JAMTEST "-u u10.txt -i" tall.h5 ta2.h5 -$ CALL H5JAMTEST "-u u511.txt -i" tall.h5 ta3.h5 -$ CALL H5JAMTEST "-u u512.txt -i" tall.h5 ta4.h5 -$ CALL H5JAMTEST "-u u513.txt -i" tall.h5 ta5.h5 -$ -$ -$H5JAMTEST: SUBROUTINE -$ -$ len_org = F$LENGTH(P2) -$ base_org = F$EXTRACT(0,len_org-2,P2) -$ len = F$LENGTH(P3) -$ base = F$EXTRACT(0,len-2,P3) -$ actual = base + "out" -$ actual_org = base_org + "org" -$ actual_err = base + "err" -$ actual_err_org = base_org + "err" -$ -$ ON ERROR THEN CONTINUE -$ begin = "Testing h5jam" -$ ! -$ ! Run the test -$ ! -$ h5jam 'P1 'P2 -o 'P3 -$ ! -$ ! Dump the original and result file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ h5dump 'P3 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/ntext/facility/identification/severity -$ endif -$ define/nolog sys$output 'actual_org' -$ define/nolog sys$error 'actual_err_org' -$ h5dump 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err_org) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err_org' 'actual_org' -$ set message/ntext/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5dump_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual_org' - - 'actual' -$ ! -$ ! Delete output file 'P3 -$ ! -$ del 'P3;* -$ open/read temp_out h5dump_temp.dif -$READ_DATA: -$ read/end_of_file=end_read temp_out record1 -$ ! -$ ! Skip blank lines -$ ! -$ if record1 .EQS. "" then goto READ_DATA -$ ! -$ ! Find record with "Number" and exit the loop -$ ! -$ len = F$LENGTH(record1) -$ pos = F$LOCATE("Number", record1) -$ ! -$ if pos .EQ. 0 -$ then -$ err_code = F$EXTRACT(len-1,1,record1) -$ goto END_READ -$ endif -$ ! -$ goto READ_DATA -$ -$ ! -$END_READ: -$ close temp_out -$ -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "1" -$ then -$ result = "PASSED" -$ line = F$FAO("!14AS !14AS !7AS !2AS !25AS !100AS", begin, P1, P2, - - "-o", P3, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!14AS !14AS !7AS !2AS !25AS !99AS", begin, P1, P2, - - "-o", P3, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5dump_temp.dif h5dump.log -$ ! -$ ! Delete temporary files -$ ! -$! del *.out;* -$! del *.org;* -$! del *.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5jam/make.com b/vms/tools/h5jam/make.com deleted file mode 100644 index d57b5e9..0000000 --- a/vms/tools/h5jam/make.com +++ /dev/null @@ -1,67 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5ls tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5jam -$! -$ cobj= "h5jam, h5unjam, tellub, getub, h5jamgentest" - -$! -$ ccc 'cobj -$ type sys$input - Creating tellub -$ link tellub - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created tellub -$ type sys$input - Creating getub -$ link getub - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created getub -$! -$! -$ type sys$input - Creating h5jamgentest -$ link h5jamgentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5jamgentest -$! -$ type sys$input - Creating h5jam -$ link h5jam, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5jam -$! -$ type sys$input - Creating h5junam -$ link h5unjam, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5unjam -$! -$ exit diff --git a/vms/tools/h5ls/check.com b/vms/tools/h5ls/check.com deleted file mode 100644 index b44dedc..0000000 --- a/vms/tools/h5ls/check.com +++ /dev/null @@ -1,70 +0,0 @@ -$!# -$!# 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. -$!# -$! -$! h5ls testing script -$! -$ define sys$output h5ls.out -$ define sys$error h5ls.err -$ h5ls :== $sys$sysusers:[pourmale.hdf5.tools.h5ls]h5ls.exe - -$ h5ls -w80 -h -$ h5ls -w80 -help -$ h5ls -w80 -? - -$! test simple command -$ h5ls -w80 tall.h5 -$ h5ls -w80 -r -d tall.h5 -$ h5ls -w80 tgroup.h5 - -$! test for displaying groups -$ h5ls -w80 -r -g tgroup.h5 - -$! test for displaying simple space datasets -$ h5ls -w80 -r -d tdset.h5 - -$! test for displaying soft links -$ h5ls -w80 -r tslink.h5 - -$! tests for hard links -$ h5ls -w80 thlink.h5 - -$! tests for compound data types -$ h5ls -w80 -r -d tcompound.h5 - -$!test for the nested compound type -$ h5ls -w80 -r -d tnestedcomp.h5 - -$! test for loop detection -$ h5ls -w80 -r -d tloop.h5 - -$! test for string -$ h5ls -w80 -r -d tstr.h5 - -$! test test file created from lib SAF team -$ h5ls -w80 -r -d tsaf.h5 - -$! test for variable length data types -$ h5ls -w80 -r -d tvldtypes1.h5 - -$! test for array data types -$ h5ls -w80 -r -d tarray1.h5 - -$! test for empty data -$ h5ls -w80 -d tempty.h5 - -$! test for all dataset types written to attributes -$! enable -S for avoiding printing NATIVE types -$ h5ls -w80 -v -S tattr2.h5 - diff --git a/vms/tools/h5ls/check_h5ls.com b/vms/tools/h5ls/check_h5ls.com deleted file mode 100644 index e155afa..0000000 --- a/vms/tools/h5ls/check_h5ls.com +++ /dev/null @@ -1,165 +0,0 @@ -$!# -$!# 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 command file tests h5ls utility. The command file has to -$ ! run in the [hdf5-top.tools.testfiles] directory. -$ ! -$ type sys$input - -=================================== - Testing h5ls utiltity -=================================== - -$ -$ ! -$ ! Define h5ls symbol -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-10, current_dir) -$ h5ls_dir = temp + "H5LS]" -$ h5ls :== $sys$disk:'h5ls_dir'h5ls.exe -$ ! -$ ! Define output for diff command that compares expected and actual -$ ! outputs of h5ls -$ ! -$ create h5ls.log -$ ! -$ ! h5ls tests -$ ! -$ -$ CALL TOOLTEST help-1.ls "-w80 -h" -$ CALL TOOLTEST help-2.ls "-w80 -help" -$ CALL TOOLTEST help-3.ls "-w80 -?" - -$! test simple command -$ CALL TOOLTEST tall-1.ls "-w80 tall.h5" -$ CALL TOOLTEST tall-2.ls "-w80 -r -d tall.h5" -$ CALL TOOLTEST tgroup.ls "-w80 tgroup.h5" - -$! test for displaying groups -$ CALL TOOLTEST tgroup-1.ls "-w80 -r -g tgroup.h5" - -$! test for displaying simple space datasets -$ CALL TOOLTEST tdset-1.ls "-w80 -r -d tdset.h5" - -$! test for displaying soft links -$ CALL TOOLTEST tslink-1.ls "-w80 -r tslink.h5" - -$! tests for hard links -$ CALL TOOLTEST thlink-1.ls "-w80 thlink.h5" - -$! tests for compound data types -$ CALL TOOLTEST tcomp-1.ls "-w80 -r -d tcompound.h5" - -$!test for the nested compound type -$ CALL TOOLTEST tnestcomp-1.ls "-w80 -r -d tnestedcomp.h5" - -$! test for loop detection -$ CALL TOOLTEST tloop-1.ls "-w80 -r -d tloop.h5" - -$! test for string -$ CALL TOOLTEST tstr-1.ls "-w80 -r -d tstr.h5" - -$! test test file created from lib SAF team -$ CALL TOOLTEST tsaf.ls "-w80 -r -d tsaf.h5" - -$! test for variable length data types -$ CALL TOOLTEST tvldtypes1.ls "-w80 -r -d tvldtypes1.h5" - -$! test for array data types -$ CALL TOOLTEST tarray1.ls "-w80 -r -d tarray1.h5" - -$! test for empty data -$ CALL TOOLTEST tempty.ls "-w80 -d tempty.h5" - -$! test for all dataset types written to attributes -$! enable -S for avoiding printing NATIVE types -$! This test will report failure for line 311 of the tattr2.ls file -$! contains -$! Modified: XXXX-XX-XX XX:XX:XX XXX -$! instead of -$! Modified: 2004-07-06 19:36:17 CST -$! UNIX shell script does replacement on the fly in the actual output -$! file; I do not know what can I do on VMS EIP 07/27/06 -$ CALL TOOLTEST tattr2.ls "-w80 -v -"""S""" tattr2.h5" - -$ -$ -$TOOLTEST: SUBROUTINE -$ -$ len = F$LENGTH(P1) -$ base = F$EXTRACT(0,len-2,P1) -$ actual = base + "h5lsout" -$ actual_err = base + "h5lserr" -$ -$ begin = "Testing h5ls " -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$output 'actual' -$ define/nolog sys$error 'actual_err' -$ write sys$output "#############################" -$ write sys$output " output for 'h5ls ''P2''" -$ write sys$output "#############################" -$ ON ERROR THEN CONTINUE -$ h5ls 'P2 -$ deassign sys$output -$ deassign sys$error -$ if F$SEARCH(actual_err) .NES. "" -$ then -$ set message/notext/nofacility/noidentification/noseverity -$ append 'actual_err' 'actual' -$ set message/text/facility/identification/severity -$ endif -$ ! -$ ! Compare the results -$ ! -$ diff/output=h5ls_temp/ignore=(spacing,trailing_spaces,blank_lines) 'actual' 'P1' -$ open/read temp_out h5ls_temp.dif -$ read temp_out record1 -$ close temp_out -$ ! -$ ! Extract error code and format output line -$ ! -$ len = F$LENGTH(record1) -$ err_code = F$EXTRACT(len-1,1,record1) -$ if err_code .eqs. "0" -$ then -$ result = "PASSED" -$ line = F$FAO("!15AS !50AS !70AS", begin, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!15AS !49AS !69AS", begin, P2, result) -$ endif -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! Append the result to the log file -$ ! -$ append h5ls_temp.dif h5ls.log -$ ! -$ ! Delete temporary files -$ ! -$ if F$SEARCH("*.h5lserr;*") then del *.h5lserr;* -$ if F$SEARCH("*.h5lsout;*") then del *.h5lsout;* -$ if F$SEARCH("*.dif;*") then del *.dif;* -$ ! -$ENDSUBROUTINE - diff --git a/vms/tools/h5ls/make.com b/vms/tools/h5ls/make.com deleted file mode 100644 index 51d57c6..0000000 --- a/vms/tools/h5ls/make.com +++ /dev/null @@ -1,39 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5ls tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib]) -$ type sys$input - Creating h5ls -$! -$ cobj= "h5ls.c " - -$! -$ ccc 'cobj -$ type sys$input - Creating h5ls -$ link h5ls, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5ls -$! -$ exit diff --git a/vms/tools/h5repack/check_h5repack.com b/vms/tools/h5repack/check_h5repack.com deleted file mode 100644 index 34c122c..0000000 --- a/vms/tools/h5repack/check_h5repack.com +++ /dev/null @@ -1,197 +0,0 @@ -$!# -$!# 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 command file tests h5repack utility. The command file has to -$ ! run in the [hdf5-top.tools.h5repack.testfiles] directory. -$ ! -$ ! -$ type sys$input - -=================================== - Testing h5repack utiltity -=================================== - -$ ! Define h5repack and h5diff symbols -$ ! -$! set message/notext/nofacility/noidentification/noseverity -$ current_dir = F$DIRECTRY() -$ len = F$LENGTH(current_dir) -$ temp = F$EXTRACT(0, len-11, current_dir) -$ temp1 = F$EXTRACT(0, len-19, current_dir) -$ h5diff_dir = temp1 + "H5DIFF]" -$ h5diff :== $sys$disk:'h5diff_dir'h5diff.exe -$ h5repack_dir = temp + "]" -$ h5repack :== $sys$disk:'h5repack_dir'h5repack.exe -$ ! -$ ! -$ ! h5repack tests -$ ! -$ - -$!# copy files (these files have no filters) -$ CALL TOOLTEST "" h5repack_fill.h5 -$ CALL TOOLTEST "" h5repack_objs.h5 -$ CALL TOOLTEST "" h5repack_attr.h5 -$ CALL TOOLTEST "" h5repack_hlink.h5 -$ CALL TOOLTEST "" h5repack_layout.h5 -$ CALL TOOLTEST "" h5repack_early.h5 - -$! Check repacking file with committed datatypes in odd configurations -$ CALL TOOLTEST "" h5repack_named_dtypes.h5 -$ -$! # use h5repack_layout.h5 to write some filters (this file has no filters) -$ -$! # gzip with individual object -$ CALL TOOLTEST "-f dset1:"""GZIP"""=1 -l dset1:"""CHUNK"""=20x10" h5repack_layout.h5 -$! -$ -$! # gzip for all -$ CALL TOOLTEST "-f """GZIP"""=1" h5repack_layout.h5 -$! -$! # shuffle with individual object -$ CALL TOOLTEST "-f dset2:"""SHUF""" -l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$ -$! -$! -$! # shuffle for all -$ CALL TOOLTEST "-f """SHUF"""" h5repack_layout.h5 -$! -$! # fletcher32 with individual object -$ CALL TOOLTEST "-f dset2:"""FLET""" -l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$! -$! # fletcher32 for all -$ CALL TOOLTEST "-f """FLET"""" h5repack_layout.h5 -$ -$! ########################################################### -$! # the following tests assume the input files have filters -$! ########################################################### -$! -$! # deflate copy -$ CALL TOOLTEST "" h5repack_deflate.h5 -$! -$! # deflate remove -$ CALL TOOLTEST "-f dset_deflate:"""NONE"""" h5repack_deflate.h5 -$! -$! # shuffle copy -$ CALL TOOLTEST "" h5repack_shuffle.h5 -$! -$! # shuffle remove -$ CALL TOOLTEST "-f dset_shuffle:"""NONE"""" h5repack_shuffle.h5 -$! -$! # fletcher32 copy -$ CALL TOOLTEST "" h5repack_fletcher.h5 -$! -$! # fletcher32 remove -$ CALL TOOLTEST "-f dset_fletcher32:"""NONE"""" h5repack_fletcher.h5 -$! -$! # nbit copy -$ CALL TOOLTEST "" h5repack_nbit.h5 -$! -$! # nbit remove -$ CALL TOOLTEST "-f dset_nbit:"""NONE"""" h5repack_nbit.h5 -$! -$! # nbit add -$ CALL TOOLTEST "-f dset_int31:"""NBIT"""" h5repack_nbit.h5 -$! -$! # scaleoffset add -$! CALL TOOLTEST "-f dset_none:"""S+O"""=31" h5repack_scaleoffset.h5 -$! -$! # scaleoffset copy -$! CALL TOOLTEST "" h5repack_scaleoffset.h5 -$! -$! # scaleoffset remove -$! CALL TOOLTEST "-f dset_scaleoffset:"""NONE"""" h5repack_scaleoffset.h5 -$! -$! #limit -$ CALL TOOLTEST "-f """GZIP"""=1 -m 1024" h5repack_layout.h5 -$! -$! -$! -$! ######################################################### -$! # layout options (these files have no filters) -$! ######################################################### -$! -$ CALL TOOLTEST "-l dset2:"""CHUNK"""=20x10" h5repack_layout.h5 -$ CALL TOOLTEST "-l """CHUNK"""=20x10" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset2:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l """CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset2:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l """COMPA"""" h5repack_layout.h5 -$! -$! -$! ################################################################ -$! # layout conversions (file has no filters) -$! ############################################################### -$! -$ CALL TOOLTEST "-l dset_compact:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_compact:"""CHUNK"""=2x5" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_compact:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""CHUNK"""=3x6" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_contiguous:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""COMPA"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""CONTI"""" h5repack_layout.h5 -$ CALL TOOLTEST "-l dset_chunk:"""CHUNK"""=18x13" h5repack_layout.h5 -$! -$! -$! -$TOOLTEST: SUBROUTINE - -$ len = F$LENGTH(P2) -$ base = F$EXTRACT(0,len-3,P2) -$ output_file = base + "_out.h5" -$ output_err = base + ".h5repackerr" -$ output_out = base + ".h5repackout" -$ -$ begin = "Testing h5repack" -$ ! -$ ! Run the test and save output in the 'actual' file -$ ! -$ define/nolog sys$error 'output_err' -$ define/nolog sys$output 'output_out' -$ -$ ON ERROR THEN CONTINUE -$ h5repack 'P1 'P2 'output_file' -$ h5diff 'P2 'output_file' -$ deassign sys$error -$ deassign sys$output -$ if F$SEARCH(output_err) .EQS. "" -$ then -$ result = "PASSED" -$ line = F$FAO("!16AS !40AS !22AS !67AS", begin, P1, P2, result) -$ else -$ result = "*FAILED*" -$ line = F$FAO("!16AS !40AS !22AS !66AS", begin, P1, P2, result) -$ endif - -$ ! -$ ! Print test result -$ ! -$ write sys$output line -$ ! -$ ! -$ ! -$ ! Cleanup temporary files -$ ! -$ if F$SEARCH(output_err) .NES. "" -$ then -$ del *.h5repackerr;* -$ endif -$ del *.h5repackout;* -$ del *_out.h5;* -$ENDSUBROUTINE - - diff --git a/vms/tools/h5repack/make.com b/vms/tools/h5repack/make.com deleted file mode 100644 index 0de0e2b..0000000 --- a/vms/tools/h5repack/make.com +++ /dev/null @@ -1,55 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5repack tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5repack ... -$! -$ cobj= " h5repack_main, h5repack, h5repack_copy, h5repack_refs," +- - "h5repack_filters, h5repack_opttable, h5repack_parse, " +- - "h5repack_verify, h5repacktst" - -$! -$ ccc 'cobj -$ link/exe=h5repack.exe - - h5repack_main, h5repack, h5repack_copy, h5repack_refs, h5repack_filters, - - h5repack_opttable, h5repack_parse, - - h5repack_verify, - - [-.lib]libh5tools.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5repack - -$ type sys$input - Creating h5repacktst ... -$ link/exe=h5repacktst.exe - - h5repacktst, - - h5repack, h5repack_copy, h5repack_refs, h5repack_filters, - - h5repack_opttable, h5repack_parse, - - h5repack_verify, - - [-.lib]libh5tools.olb/lib,[-.-.test]libh5test.olb/lib, - - [-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Finished h5repacktst -$! -$ exit diff --git a/vms/tools/h5stat/make.com b/vms/tools/h5stat/make.com deleted file mode 100644 index a822aaa..0000000 --- a/vms/tools/h5stat/make.com +++ /dev/null @@ -1,39 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make h5stat tool -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5stat -$! -$ cobj= " h5stat " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5stat.exe - - h5stat, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5stat -$! -$! -$ exit diff --git a/vms/tools/lib/make.com b/vms/tools/lib/make.com deleted file mode 100644 index 8e9ff47..0000000 --- a/vms/tools/lib/make.com +++ /dev/null @@ -1,34 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make HDF5 tools library -$! -$! ccopt = "/float=ieee_float" -$ ccc := cc 'ccopt /include=([-.-.src]) -$! -$ type sys$input - Creating HDF5 Tools library -$! -$ cobj="h5tools, h5tools_str, h5tools_utils, h5diff, h5diff_array, "+- - "h5diff_attr, h5diff_dset, h5diff_util, h5trav,"+- - "h5tools_filters, h5tools_ref, h5tools_type" -$! -$ ccc 'cobj -$ library/create []libh5tools 'cobj -$ type sys$input - Created HDF5 tools library -$! -$ exit diff --git a/vms/tools/misc/make.com b/vms/tools/misc/make.com deleted file mode 100644 index ed2d061..0000000 --- a/vms/tools/misc/make.com +++ /dev/null @@ -1,90 +0,0 @@ -$!# -$!# 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. -$!# -$! Makefile for VMS systems. -$! -$! Make miscellaneous tools -$! -$! The next two lines should be uncommented only when building by hand in the -$! current directory. Use build.com in the vms directory to build -$! the distribution. Make sure that location of the zlib library is correct. -$! define zlib_dir sys$sysusers:[pourmal.zlib-1_2_3] -$! ccopt = "/float=ieee_float/define=H5_VMS/include=zlib_dir" -$ ccc := cc 'ccopt /include=([-.-.src], [-.lib], [-.-.test]) -$ type sys$input - Creating h5debug -$! -$ cobj= " h5debug " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5debug.exe - - h5debug, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5debug -$! -$ type sys$input - Creating h5mkgrp -$! -$ cobj= " h5mkgrp " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5mkgrp.exe - - h5mkgrp, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5mkgrp -$! -$ type sys$input - Creating h5repart -$! -$ cobj= " h5repart " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5repart.exe - - h5repart, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5repart -$! -$ cobj= " h5repart_gentest " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=h5repart_gentest.exe - - h5repart_gentest, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created h5repart_gentest -$! -$ type sys$input - Creating repart_test -$! -$ cobj= " repart_test " -$! -$ ccc 'cobj -$ type sys$input -$ link/exe=repart_test.exe - - repart_test, - - [-.lib]libh5tools.olb/lib,[-.-.src]hdf5.olb/lib,zlib_dir:libz.olb/lib -$ type sys$input - Created repart_test -$! -$ type sys$input - Done with misc tools compilation -$! -$ exit diff --git a/vms/tools/testfiles/tattr-3.ddl b/vms/tools/testfiles/tattr-3.ddl deleted file mode 100644 index 8907843..0000000 --- a/vms/tools/testfiles/tattr-3.ddl +++ /dev/null @@ -1,13 +0,0 @@ - -############################# -Expected output for 'h5dump --header -a /attr2 --attribute=/attr tattr.h5' -############################# -HDF5 "tattr.h5" { -ATTRIBUTE "/attr2" { - DATATYPE H5T_STD_I32BE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } -} -ATTRIBUTE "/attr" { -} -} -h5dump error: unable to open attribute "/" diff --git a/vms/tools/testfiles/tdset-2.ddl b/vms/tools/testfiles/tdset-2.ddl deleted file mode 100644 index e6439ae..0000000 --- a/vms/tools/testfiles/tdset-2.ddl +++ /dev/null @@ -1,17 +0,0 @@ - -############################# -Expected output for 'h5dump -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5' -############################# -HDF5 "tdset.h5" { -DATASET "dset1" { - DATATYPE H5T_STD_I32BE - DATASPACE SIMPLE { ( 10, 20 ) / ( 10, 20 ) } -} -DATASET "/dset2" { - DATATYPE H5T_IEEE_F64BE - DATASPACE SIMPLE { ( 30, 20 ) / ( 30, 20 ) } -} -DATASET "dset3" { -} -} -h5dump error: unable to open dataset "dset3" diff --git a/vms/tools/testfiles/tgroup-2.ddl b/vms/tools/testfiles/tgroup-2.ddl deleted file mode 100644 index 120ef2d..0000000 --- a/vms/tools/testfiles/tgroup-2.ddl +++ /dev/null @@ -1,47 +0,0 @@ - -############################# -Expected output for 'h5dump --group=/g2 --group / -g /y tgroup.h5' -############################# -HDF5 "tgroup.h5" { -GROUP "/g2" { - GROUP "g2.1" { - GROUP "g2.1.1" { - } - GROUP "g2.1.2" { - } - GROUP "g2.1.3" { - } - } -} -GROUP "/" { - GROUP "g1" { - GROUP "g1.1" { - } - GROUP "g1.2" { - } - } - GROUP "g2" { - GROUP "g2.1" { - GROUP "g2.1.1" { - } - GROUP "g2.1.2" { - } - GROUP "g2.1.3" { - } - } - } - GROUP "g3" { - GROUP "g3.1" { - } - GROUP "g3.2" { - } - GROUP "g3.3" { - } - GROUP "g3.4" { - } - } -} -GROUP "/y" { -} -} -h5dump error: unable to open group "/y" diff --git a/vms/tools/testfiles/tperror.ddl b/vms/tools/testfiles/tperror.ddl deleted file mode 100644 index 7275907..0000000 --- a/vms/tools/testfiles/tperror.ddl +++ /dev/null @@ -1,9 +0,0 @@ - -############################# -Expected output for 'h5dump -p -d bogus tfcontents1.h5' -############################# -HDF5 "tfcontents1.h5" { -DATASET "bogus" { -} -} -h5dump error: unable to open dataset "bogus" -- cgit v0.12 From fc082e60f3a258cba67ab1a16e11748a31de10eb Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 19 Feb 2015 09:39:33 -0500 Subject: [svn-r26236] Updated the MANIFEST file after deleting VMS support files. Tested on: bin/chkmanifest --- MANIFEST | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/MANIFEST b/MANIFEST index ef06fd9..dcb9f2f 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2385,55 +2385,6 @@ ./hl/c++/test/Makefile.am ./hl/c++/test/Makefile.in -#vms files -./vms/COPYING - -./vms/c++/examples/check.com -./vms/c++/examples/make.com -./vms/c++/src/make.com -./vms/c++/test/check.com -./vms/c++/test/make.com - -./vms/fortran/examples/check.com -./vms/fortran/examples/make.com -./vms/fortran/src/make.com -./vms/fortran/test/check.com -./vms/fortran/test/make.com - -./vms/examples/check.com -./vms/examples/make.com -./vms/src/make.com -./vms/src/h5pubconf.h -./vms/test/check.com -./vms/test/make.com -./vms/test/H5srcdir_str.h - -./vms/build.com -./vms/install.com -./vms/make.com -./vms/tools/h5copy/make.com -./vms/tools/h5copy/check_h5copy.com -./vms/tools/h5dump/make.com -./vms/tools/h5dump/check_h5dump.com -./vms/tools/h5ls/check.com -./vms/tools/h5ls/check_h5ls.com -./vms/tools/h5ls/make.com -./vms/tools/h5diff/check_h5diff.com -./vms/tools/h5diff/make.com -./vms/tools/h5import/check_h5import.com -./vms/tools/h5import/make.com -./vms/tools/h5jam/check_h5jam.com -./vms/tools/h5jam/make.com -./vms/tools/h5repack/check_h5repack.com -./vms/tools/h5repack/make.com -./vms/tools/h5stat/make.com -./vms/tools/lib/make.com -./vms/tools/misc/make.com -./vms/tools/testfiles/tattr-3.ddl -./vms/tools/testfiles/tdset-2.ddl -./vms/tools/testfiles/tgroup-2.ddl -./vms/tools/testfiles/tperror.ddl - # CMake-specific Files ./config/cmake/cacheinit.cmake ./config/cmake/CMakePackageConfigHelpers.cmake -- cgit v0.12 From 3eeed2f1d558bd74c2360b31366e2650026d165f Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Thu, 19 Feb 2015 11:17:16 -0500 Subject: [svn-r26241] Fixed issue with default 8 byte integers using xlf compilers. --- fortran/src/H5Tf.c | 31 ++++++++++++++++--------------- fortran/src/H5Tff_F03.f90 | 6 +++--- fortran/src/H5Tff_F90.f90 | 2 +- fortran/test/tH5T_F03.f90 | 18 +++++++++++------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index b6bcf5f..878119f 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1738,21 +1738,23 @@ nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id) /****if* H5Tf/h5tenum_insert_c * NAME - * h5tenum_insert_c + * h5tenum_insert_c * PURPOSE - * Call H5Tenum_insert to insert a new enumeration datatype member. + * Call H5Tenum_insert to insert a new enumeration datatype member. * INPUTS - * type_id - identifier of the datatype - * name - Name of the new member - * namelen - length of the name - * value - value of the new member + * type_id - identifier of the datatype + * name - Name of the new member + * namelen - length of the name + * value - value 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 - * + * 'value' is no longer cast into an int. If the user passes in an 8 byte integer then + * it should not be cast to an int (which might be 4 bytes). Instead the value + * is written as the size of an int_f. * SOURCE */ @@ -1761,19 +1763,18 @@ nh5tenum_insert_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; - int_f c_value; herr_t error; + int_f c_value; c_namelen = *namelen; c_name = (char *)HD5f2cstring(name, c_namelen); if (c_name == NULL) return ret_value; - c_type_id = (hid_t)*type_id; - c_value = (int)*value; - error = H5Tenum_insert(c_type_id, c_name, &c_value); + c_value = *value; + error = H5Tenum_insert((hid_t)*type_id, c_name, &c_value); + HDfree(c_name); if(error < 0) return ret_value; @@ -2437,7 +2438,7 @@ h5tconvert_c(hid_t_f *src_id, hid_t_f *dst_id, size_t_f *nelmts, void *buf, void * 0 on success, -1 on failure * AUTHOR * M. Scot Breitenfeld - * 2/6/2015 + * February 6, 2015 * * SOURCE */ diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90 index beff717..2c9f212 100644 --- a/fortran/src/H5Tff_F03.f90 +++ b/fortran/src/H5Tff_F03.f90 @@ -118,7 +118,7 @@ CONTAINS END SUBROUTINE h5tconvert_f ! -!****s* (F03) H5T/h5tenaum_insert_f03 +!****s* (F03) H5T/h5tenum_insert_f90 ! ! NAME ! h5tenum_insert_f @@ -146,7 +146,7 @@ CONTAINS IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member - INTEGER, INTENT(IN) :: value !value of the new member + INTEGER, INTENT(IN) :: value ! value of the new member INTEGER, INTENT(OUT) :: hdferr ! Error code !***** INTEGER :: namelen @@ -169,7 +169,7 @@ CONTAINS END SUBROUTINE h5tenum_insert_f90 ! -!****s* (F03) H5T/h5tenaum_insert_f03 +!****s* (F03) H5T/h5tenum_insert_f03 ! ! NAME ! h5tenum_insert_f diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90 index 8540d2b..380fbec 100644 --- a/fortran/src/H5Tff_F90.f90 +++ b/fortran/src/H5Tff_F90.f90 @@ -44,7 +44,7 @@ CONTAINS !****s* H5T/h5tenum_insert_f ! ! NAME -! h5tenaum_insert_f +! h5tenum_insert_f ! ! PURPOSE ! Inserts a new enumeration datatype member. diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.f90 index d9a671c..e019d0f 100644 --- a/fortran/test/tH5T_F03.f90 +++ b/fortran/test/tH5T_F03.f90 @@ -1428,7 +1428,11 @@ SUBROUTINE t_enum(total_error) f_ptr = C_LOC(val(1)) CALL H5Tconvert_f(M_BASET, F_BASET, INT(1,SIZE_T), f_ptr, error) CALL check("H5Tconvert_f",error, total_error) - CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) + IF(i.GE.1)THEN ! test both F90 and F03 APIs + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), f_ptr, error) + ELSE + CALL H5Tenum_insert_f(filetype, TRIM(names(i+1)), val(1), error) + ENDIF CALL check("H5Tenum_insert_f",error, total_error) ENDDO ! @@ -3134,7 +3138,7 @@ SUBROUTINE t_enum_conv(total_error) ENUMERATOR :: E1_RED, E1_GREEN, E1_BLUE, E1_WHITE, E1_BLACK END ENUM - INTEGER :: val + INTEGER(KIND(E1_RED)), TARGET :: val ! Enumerated data array ! Some values are out of range for testing. The library should accept them @@ -3185,19 +3189,19 @@ SUBROUTINE t_enum_conv(total_error) ! Initialize enum data. ! val = E1_RED - CALL H5Tenum_insert_f(dtype, "RED", val, error) + CALL H5Tenum_insert_f(dtype, "RED", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_GREEN - CALL H5Tenum_insert_f(dtype, "GREEN", val, error) + CALL H5Tenum_insert_f(dtype, "GREEN", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_BLUE - CALL H5Tenum_insert_f(dtype, "BLUE", val, error) + CALL H5Tenum_insert_f(dtype, "BLUE", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_WHITE - CALL H5Tenum_insert_f(dtype, "WHITE", val, error) + CALL H5Tenum_insert_f(dtype, "WHITE", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) val = E1_BLACK - CALL H5Tenum_insert_f(dtype, "BLACK", val, error) + CALL H5Tenum_insert_f(dtype, "BLACK", C_LOC(val), error) CALL check("h5tenum_insert_f",error, total_error) ! ! Create dataspace. Setting maximum size to be the current size. -- cgit v0.12 From 5867b6db9ee1dc9ed5db953351dbefe405791f2b Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 20 Feb 2015 08:04:19 -0500 Subject: [svn-r26246] Corrects a regular expression in the bin/trace Perl script that did not match API calls which return a pointer. Fixes: HDFFV-9141 Tested on: h5committest --- bin/trace | 7 ++++--- src/H5Edeprec.c | 2 ++ src/H5FD.c | 1 + src/H5I.c | 3 +++ src/H5P.c | 1 + src/H5Pfapl.c | 1 + src/H5Tfields.c | 1 + src/H5Topaque.c | 1 + 8 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bin/trace b/bin/trace index abd47cd..15e6e05 100755 --- a/bin/trace +++ b/bin/trace @@ -118,7 +118,8 @@ $Source = ""; "H5G_iterate_t" => "x", "H5G_info_t" => "x", "H5I_free_t" => "x", - "H5L_class_t" => "x", + "H5I_search_func_t" => "x", + "H5L_class_t" => "x", "H5L_elink_traverse_t" => "x", "H5L_iterate_t" => "x", "H5MM_allocate_t" => "x", @@ -317,14 +318,14 @@ for $file (@ARGV) { # Make modifications my $original = $Source; - my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[a-z]\w*)*)\s*\n #type + my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[A-Za-z]\w*)*\s*\**)\n #type (H5[A-Z]{0,2}[^_A-Z0-9]\w*) #name \s*\((.*?)\)\s* #args (\{.*?\n\}[^\n]*) #body /rewrite_func($file,$1,$3,$4,$5)/segx; $total_api += $napi; - # If the source changed then print out the new version +# If the source changed then print out the new version if ($original ne $Source) { printf "%s: instrumented %d API function%s\n", $file, $napi, 1==$napi?"":"s"; diff --git a/src/H5Edeprec.c b/src/H5Edeprec.c index 3e9444b..6a83745 100644 --- a/src/H5Edeprec.c +++ b/src/H5Edeprec.c @@ -152,6 +152,7 @@ H5Eget_major(H5E_major_t maj) char *ret_value; /* Return value */ FUNC_ENTER_API_NOCLEAR(NULL) + H5TRACE1("*s", "i", maj); /* Get the message object */ if(NULL == (msg = (H5E_msg_t *)H5I_object_verify(maj, H5I_ERROR_MSG))) @@ -204,6 +205,7 @@ H5Eget_minor(H5E_minor_t min) char *ret_value; /* Return value */ FUNC_ENTER_API_NOCLEAR(NULL) + H5TRACE1("*s", "i", min); /* Get the message object */ if(NULL == (msg = (H5E_msg_t *)H5I_object_verify(min, H5I_ERROR_MSG))) diff --git a/src/H5FD.c b/src/H5FD.c index bbadd33..fc6937e 100644 --- a/src/H5FD.c +++ b/src/H5FD.c @@ -886,6 +886,7 @@ H5FDopen(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr) H5FD_t *ret_value=NULL; FUNC_ENTER_API(NULL) + H5TRACE4("*x", "*sIuia", name, flags, fapl_id, maxaddr); /* Check arguments */ if(H5P_DEFAULT == fapl_id) diff --git a/src/H5I.c b/src/H5I.c index ba1fef2..54b7ecc 100644 --- a/src/H5I.c +++ b/src/H5I.c @@ -883,6 +883,7 @@ H5Iobject_verify(hid_t id, H5I_type_t id_type) void * ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE2("*x", "iIt", id, id_type); if(H5I_IS_LIB_TYPE(id_type)) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, NULL, "cannot call public function on library type") @@ -1023,6 +1024,7 @@ H5Iremove_verify(hid_t id, H5I_type_t id_type) void * ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE2("*x", "iIt", id, id_type); if(H5I_IS_LIB_TYPE(id_type)) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, NULL, "cannot call public function on library type") @@ -1871,6 +1873,7 @@ H5Isearch(H5I_type_t type, H5I_search_func_t func, void *key) void *ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE3("*x", "Itx*x", type, func, key); /* Check arguments */ if(H5I_IS_LIB_TYPE(type)) diff --git a/src/H5P.c b/src/H5P.c index 113203d..ff230ed 100644 --- a/src/H5P.c +++ b/src/H5P.c @@ -1596,6 +1596,7 @@ H5Pget_class_name(hid_t pclass_id) char *ret_value; /* return value */ FUNC_ENTER_API(NULL) + H5TRACE1("*s", "i", pclass_id); /* Check arguments. */ if(NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS))) diff --git a/src/H5Pfapl.c b/src/H5Pfapl.c index 089bfb9..7a44e86 100644 --- a/src/H5Pfapl.c +++ b/src/H5Pfapl.c @@ -920,6 +920,7 @@ H5Pget_driver_info(hid_t plist_id) void *ret_value; /* Return value */ FUNC_ENTER_API(NULL) + H5TRACE1("*x", "i", plist_id); if(NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property list") diff --git a/src/H5Tfields.c b/src/H5Tfields.c index 0e0d4e7..fb186fb 100644 --- a/src/H5Tfields.c +++ b/src/H5Tfields.c @@ -163,6 +163,7 @@ H5Tget_member_name(hid_t type_id, unsigned membno) char *ret_value; FUNC_ENTER_API(NULL) + H5TRACE2("*s", "iIu", type_id, membno); /* Check args */ if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id,H5I_DATATYPE))) diff --git a/src/H5Topaque.c b/src/H5Topaque.c index d68e659..e93bf65 100644 --- a/src/H5Topaque.c +++ b/src/H5Topaque.c @@ -121,6 +121,7 @@ H5Tget_tag(hid_t type_id) char *ret_value; FUNC_ENTER_API(NULL) + H5TRACE1("*s", "i", type_id); /* Check args */ if (NULL == (dt = H5I_object_verify(type_id,H5I_DATATYPE))) -- cgit v0.12 From 6ce3158da700ae63291f37bdd6edb2f4acda70c3 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 20 Feb 2015 08:59:18 -0500 Subject: [svn-r26247] Reverted back from using 'USE MPI' to include 'mpif.h' since windows does not seem to support 'USE MPI'. --- fortran/testpar/hyper.f90 | 2 +- fortran/testpar/mdset.f90 | 2 +- fortran/testpar/ptest.f90 | 3 ++- m4/aclocal_fc.m4 | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fortran/testpar/hyper.f90 b/fortran/testpar/hyper.f90 index a03095a..a2e2e07 100644 --- a/fortran/testpar/hyper.f90 +++ b/fortran/testpar/hyper.f90 @@ -21,8 +21,8 @@ SUBROUTINE hyper(length,do_collective,do_chunk, mpi_size, mpi_rank, nerrors) USE HDF5 USE TH5_MISC - USE mpi IMPLICIT NONE + INCLUDE 'mpif.h' INTEGER, INTENT(in) :: length ! array length LOGICAL, INTENT(in) :: do_collective ! use collective I/O diff --git a/fortran/testpar/mdset.f90 b/fortran/testpar/mdset.f90 index f24c862..7fe431b 100644 --- a/fortran/testpar/mdset.f90 +++ b/fortran/testpar/mdset.f90 @@ -21,8 +21,8 @@ SUBROUTINE multiple_dset_write(length, do_collective, do_chunk, mpi_size, mpi_rank, nerrors) USE HDF5 USE TH5_MISC - USE mpi IMPLICIT NONE + INCLUDE 'mpif.h' INTEGER, INTENT(in) :: length ! array length LOGICAL, INTENT(in) :: do_collective ! use collective I/O diff --git a/fortran/testpar/ptest.f90 b/fortran/testpar/ptest.f90 index 145d084..69594b0 100644 --- a/fortran/testpar/ptest.f90 +++ b/fortran/testpar/ptest.f90 @@ -19,8 +19,9 @@ PROGRAM parallel_test USE hdf5 - USE mpi + IMPLICIT NONE + INCLUDE 'mpif.h' INTEGER :: mpierror ! MPI hdferror flag INTEGER :: hdferror ! HDF hdferror flag diff --git a/m4/aclocal_fc.m4 b/m4/aclocal_fc.m4 index 03bd026..be3336f 100644 --- a/m4/aclocal_fc.m4 +++ b/m4/aclocal_fc.m4 @@ -268,7 +268,7 @@ dnl Try link a simple MPI program. AC_MSG_CHECKING([whether a simple MPI-IO Fortran program can be linked]) AC_LINK_IFELSE([ PROGRAM main - USE mpi + INCLUDE 'mpif.h' INTEGER :: comm, amode, info, fh, ierror CHARACTER(LEN=1) :: filename CALL MPI_File_open( comm, filename, amode, info, fh, ierror) -- cgit v0.12 From 54a36600c0eceb18db3c1d7b4429f75b7c005f10 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 20 Feb 2015 09:48:18 -0500 Subject: [svn-r26249] Removed warnings about NO TRACE from bin/trace script. Fixes: HDFFV-9098 Tested on: jam (bin/trace only - causes no source changes) --- bin/trace | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/bin/trace b/bin/trace index 15e6e05..5d5c5be 100755 --- a/bin/trace +++ b/bin/trace @@ -282,13 +282,9 @@ sub rewrite_func ($$$$$) { # The H5TRACE() statement if ($body =~ /\/\*[ \t]*NO[ \t]*TRACE[ \t]*\*\//) { - if ($body =~ /\s*H5TRACE\d+\s*\(/) { - errmesg $file, $name, "warning: trace info was not updated because of NO TRACE comment"; - } else { - errmesg $file, $name, "warning: trace info was not inserted because of NO TRACE comment"; - } + # Ignored due to NO TRACE comment. } elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) { - # Replaced an H5TRACE macro + # Replaced an H5TRACE macro. } elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*\(.*?\);??)\n/"$1$2$trace"/es) { # Added an H5TRACE macro after a FUNC_ENTER macro. } else { @@ -336,3 +332,6 @@ for $file (@ARGV) { } } } + +printf "Finished processing HDF5 API calls\n" + -- cgit v0.12 From f679b9006dc1a5f0a32626200b943fd8ce5f1a6e Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 20 Feb 2015 12:25:56 -0500 Subject: [svn-r26253] Update CMake with fortran source properties and defines, correct name of hl fortran examples option check --- fortran/test/CMakeLists.txt | 6 +- fortran/test/tf.f90 | 24 ++--- fortran/test/tf_F03.f90 | 10 +-- fortran/test/tf_F08.f90 | 10 +-- hl/fortran/CMakeLists.txt | 4 +- hl/fortran/src/CMakeLists.txt | 6 +- hl/fortran/src/H5DSff.f90 | 18 ++-- hl/fortran/src/H5IMff.f90 | 24 ++--- hl/fortran/src/H5LTff.f90 | 200 +++++++++++++++++++++--------------------- hl/fortran/src/H5TBff.f90 | 48 +++++----- 10 files changed, 178 insertions(+), 172 deletions(-) diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt index 3b235d4..3395906 100644 --- a/fortran/test/CMakeLists.txt +++ b/fortran/test/CMakeLists.txt @@ -10,6 +10,7 @@ INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${ # 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_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} @@ -18,12 +19,14 @@ target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET} H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_C_TEST_LIB_TARGET} PROPERTIES FOLDER libraries/test/fortran + LINKER_LANGUAGE C INTERFACE_INCLUDE_DIRECTORIES "$/include>" ) # See if the F2008 intrinsic STORAGE_SIZE and C_SIZEOF are supported. If not then # fall back to F2003. If F2003 not supported then use F90 for the tests. +set_source_files_properties (tf_F90.f90 tf_F03.f90 tf_F08.f90 tf.f90 PROPERTIES LANGUAGE Fortran) if (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF) add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F08.f90 tf.f90) elseif (HDF5_ENABLE_F2003) @@ -36,7 +39,7 @@ endif (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF) set (SHARED_LINK_FLAGS " ") if (WIN32) if (BUILD_SHARED_LIBS) - set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_DLL) + set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_TEST_DLL) if (MSVC) set (SHARED_LINK_FLAGS "/DLL") endif (MSVC) @@ -53,6 +56,7 @@ target_link_libraries (${HDF5_F90_TEST_LIB_TARGET} H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES FOLDER libraries/test/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$/include>" ) diff --git a/fortran/test/tf.f90 b/fortran/test/tf.f90 index 063e93d..6d5911f 100644 --- a/fortran/test/tf.f90 +++ b/fortran/test/tf.f90 @@ -36,7 +36,7 @@ MODULE TH5_MISC CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: dreal_eq !DEC$endif LOGICAL FUNCTION dreal_eq(a,b) @@ -49,7 +49,7 @@ CONTAINS END FUNCTION dreal_eq !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify_real_kind_7 !DEC$endif SUBROUTINE verify_real_kind_7(string,value,correct_value,total_error) @@ -66,7 +66,7 @@ CONTAINS END SUBROUTINE verify_real_kind_7 !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: write_test_status !DEC$endif SUBROUTINE write_test_status( test_result, test_title, total_error) @@ -105,7 +105,7 @@ CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: check !DEC$endif SUBROUTINE check(string,error,total_error) @@ -119,7 +119,7 @@ CONTAINS END SUBROUTINE check !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify !DEC$endif SUBROUTINE VERIFY(string,value,correct_value,total_error) @@ -133,7 +133,7 @@ CONTAINS END SUBROUTINE verify !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!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) @@ -150,7 +150,7 @@ CONTAINS END SUBROUTINE verify_Fortran_INTEGER_4 !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verifyLogical !DEC$endif SUBROUTINE verifyLogical(string,value,correct_value,total_error) @@ -165,7 +165,7 @@ CONTAINS END SUBROUTINE verifyLogical !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verifyString !DEC$endif SUBROUTINE verifyString(string, value,correct_value,total_error) @@ -203,7 +203,7 @@ CONTAINS SUBROUTINE h5_fixname_f(base_name, full_name, fapl, hdferr) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_fixname_f !DEC$endif USE H5GLOBAL @@ -263,7 +263,7 @@ CONTAINS SUBROUTINE h5_cleanup_f(base_name, fapl, hdferr) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_cleanup_f !DEC$endif USE H5GLOBAL @@ -315,7 +315,7 @@ CONTAINS SUBROUTINE h5_exit_f(status) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_exit_f !DEC$endif IMPLICIT NONE @@ -352,7 +352,7 @@ CONTAINS SUBROUTINE h5_env_nocleanup_f(HDF5_NOCLEANUP) ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_env_nocleanup_f !DEC$endif IMPLICIT NONE diff --git a/fortran/test/tf_F03.f90 b/fortran/test/tf_F03.f90 index 4513783..b3f1399 100644 --- a/fortran/test/tf_F03.f90 +++ b/fortran/test/tf_F03.f90 @@ -66,7 +66,7 @@ MODULE TH5_MISC_PROVISIONAL CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_cmpd !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a) @@ -78,7 +78,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CMPD !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_chr !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a) @@ -90,7 +90,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CHR !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_i !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a) @@ -102,7 +102,7 @@ CONTAINS END FUNCTION H5_SIZEOF_I !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_sp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a) @@ -114,7 +114,7 @@ CONTAINS END FUNCTION H5_SIZEOF_SP !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_dp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a) diff --git a/fortran/test/tf_F08.f90 b/fortran/test/tf_F08.f90 index 5583f3f..20c2859 100644 --- a/fortran/test/tf_F08.f90 +++ b/fortran/test/tf_F08.f90 @@ -65,7 +65,7 @@ MODULE TH5_MISC_PROVISIONAL CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_cmpd !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a) @@ -77,7 +77,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CMPD !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_chr !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a) @@ -89,7 +89,7 @@ CONTAINS END FUNCTION H5_SIZEOF_CHR !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_i !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a) @@ -102,7 +102,7 @@ CONTAINS !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_sp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a) @@ -114,7 +114,7 @@ CONTAINS END FUNCTION H5_SIZEOF_SP !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: h5_sizeof_dp !DEC$endif INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a) diff --git a/hl/fortran/CMakeLists.txt b/hl/fortran/CMakeLists.txt index d32f85f..892169c 100644 --- a/hl/fortran/CMakeLists.txt +++ b/hl/fortran/CMakeLists.txt @@ -9,9 +9,9 @@ add_subdirectory (${HDF5_HL_F90_SOURCE_DIR}/src ${HDF5_HL_F90_BINARY_DIR}/src) #----------------------------------------------------------------------------- # Build the HL Fortran Examples #----------------------------------------------------------------------------- -if (HDF5_BUILD_FORTRAN_EXAMPLES) +if (HDF5_BUILD_EXAMPLES) add_subdirectory (${HDF5_HL_F90_SOURCE_DIR}/examples ${HDF5_HL_F90_BINARY_DIR}/examples) -endif (HDF5_BUILD_FORTRAN_EXAMPLES) +endif (HDF5_BUILD_EXAMPLES) #----------------------------------------------------------------------------- # Testing diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index c3a6562..f188a53 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt @@ -45,6 +45,7 @@ set (HDF5_HL_F90_F_SRCS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTff.f90 ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5IMff.f90 ) +set_source_files_properties (${HDF5_HL_F90_F_SRCS} PROPERTIES LANGUAGE Fortran) add_library (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_F_SRCS}) set (SHARED_LINK_FLAGS " ") @@ -52,8 +53,8 @@ if (BUILD_SHARED_LIBS) if (WIN32) set_property (TARGET ${HDF5_HL_F90_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS - BUILD_HDF5_DLL - ) + BUILD_HDF5_HL_DLL + ) if (MSVC) set (SHARED_LINK_FLAGS "/DLL") endif (MSVC) @@ -72,6 +73,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} ${LIB_TYPE}) set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES FOLDER libraries/hl/fortran + LINKER_LANGUAGE Fortran INTERFACE_INCLUDE_DIRECTORIES "$/include>" ) diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.f90 index 4fbd90a..8cb568e 100644 --- a/hl/fortran/src/H5DSff.f90 +++ b/hl/fortran/src/H5DSff.f90 @@ -48,7 +48,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsset_scale_f !DEC$endif ! @@ -106,7 +106,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsattach_scale_f !DEC$endif ! @@ -159,7 +159,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsdetach_scale_f !DEC$endif ! @@ -213,7 +213,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsis_attached_f !DEC$endif ! @@ -281,7 +281,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsis_scale_f !DEC$endif ! @@ -338,7 +338,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsset_label_f !DEC$endif ! @@ -397,7 +397,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_label_f !DEC$endif ! @@ -455,7 +455,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_scale_name_f !DEC$endif ! @@ -507,7 +507,7 @@ CONTAINS ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5dsget_num_scales_f !DEC$endif ! diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90 index 2a66597..37030ac 100644 --- a/hl/fortran/src/H5IMff.f90 +++ b/hl/fortran/src/H5IMff.f90 @@ -51,7 +51,7 @@ subroutine h5immake_image_8bit_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_image_8bit_f !DEC$endif ! @@ -115,7 +115,7 @@ subroutine h5imread_image_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imread_image_f !DEC$endif ! @@ -175,7 +175,7 @@ subroutine h5immake_image_24bit_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_image_24bit_f !DEC$endif ! @@ -249,7 +249,7 @@ subroutine h5imget_image_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_image_info_f !DEC$endif ! @@ -317,7 +317,7 @@ integer function h5imis_image_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imis_image_f !DEC$endif ! @@ -375,7 +375,7 @@ subroutine h5immake_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5immake_palette_f !DEC$endif ! @@ -436,7 +436,7 @@ subroutine h5imlink_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imlink_palette_f !DEC$endif ! @@ -497,7 +497,7 @@ subroutine h5imunlink_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imunlink_palette_f !DEC$endif ! @@ -561,7 +561,7 @@ subroutine h5imget_npalettes_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_npalettes_f !DEC$endif ! @@ -621,7 +621,7 @@ subroutine h5imget_palette_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_palette_info_f !DEC$endif ! @@ -684,7 +684,7 @@ subroutine h5imget_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imget_palette_f !DEC$endif ! @@ -742,7 +742,7 @@ integer function h5imis_palette_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5imis_palette_f !DEC$endif ! diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 index b06a8fe..8df024e 100644 --- a/hl/fortran/src/H5LTff.f90 +++ b/hl/fortran/src/H5LTff.f90 @@ -163,7 +163,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int1 !DEC$endif ! @@ -229,7 +229,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int2 !DEC$endif ! @@ -297,7 +297,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int3 !DEC$endif ! @@ -360,7 +360,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int4 !DEC$endif ! @@ -423,7 +423,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int5 !DEC$endif ! @@ -486,7 +486,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int6 !DEC$endif ! @@ -549,7 +549,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_int7 !DEC$endif ! @@ -618,7 +618,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float1 !DEC$endif ! @@ -684,7 +684,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float2 !DEC$endif ! @@ -752,7 +752,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float3 !DEC$endif ! @@ -815,7 +815,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float4 !DEC$endif ! @@ -878,7 +878,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float5 !DEC$endif ! @@ -941,7 +941,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float6 !DEC$endif ! @@ -1004,7 +1004,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_float7 !DEC$endif ! @@ -1072,7 +1072,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double1 !DEC$endif ! @@ -1138,7 +1138,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double2 !DEC$endif ! @@ -1206,7 +1206,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double3 !DEC$endif ! @@ -1269,7 +1269,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double4 !DEC$endif ! @@ -1332,7 +1332,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double5 !DEC$endif ! @@ -1395,7 +1395,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double6 !DEC$endif ! @@ -1458,7 +1458,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_f_double7 !DEC$endif ! @@ -1525,7 +1525,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int1 !DEC$endif ! @@ -1588,7 +1588,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int2 !DEC$endif ! @@ -1653,7 +1653,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int3 !DEC$endif ! @@ -1714,7 +1714,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int4 !DEC$endif ! @@ -1775,7 +1775,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int5 !DEC$endif ! @@ -1836,7 +1836,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int6 !DEC$endif ! @@ -1897,7 +1897,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_int7 !DEC$endif ! @@ -1963,7 +1963,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float1 !DEC$endif ! @@ -2026,7 +2026,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float2 !DEC$endif ! @@ -2092,7 +2092,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float3 !DEC$endif ! @@ -2153,7 +2153,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float4 !DEC$endif ! @@ -2214,7 +2214,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float5 !DEC$endif ! @@ -2275,7 +2275,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float6 !DEC$endif ! @@ -2336,7 +2336,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_float7 !DEC$endif ! @@ -2402,7 +2402,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport ::h5ltread_dataset_f_double1 !DEC$endif ! @@ -2465,7 +2465,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double2 !DEC$endif ! @@ -2530,7 +2530,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double3 !DEC$endif ! @@ -2591,7 +2591,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double4 !DEC$endif ! @@ -2652,7 +2652,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double5 !DEC$endif ! @@ -2713,7 +2713,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double6 !DEC$endif ! @@ -2774,7 +2774,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_f_double7 !DEC$endif ! @@ -2839,7 +2839,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_1 !DEC$endif ! @@ -2903,7 +2903,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_2 !DEC$endif ! @@ -2971,7 +2971,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_3 !DEC$endif ! @@ -3034,7 +3034,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_4 !DEC$endif ! @@ -3097,7 +3097,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_5 !DEC$endif ! @@ -3160,7 +3160,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_6 !DEC$endif ! @@ -3223,7 +3223,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_int_f_7 !DEC$endif ! @@ -3290,7 +3290,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_1 !DEC$endif ! @@ -3354,7 +3354,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_2 !DEC$endif ! @@ -3420,7 +3420,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_3 !DEC$endif ! @@ -3482,7 +3482,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_4 !DEC$endif ! @@ -3544,7 +3544,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_5 !DEC$endif ! @@ -3606,7 +3606,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_6 !DEC$endif ! @@ -3668,7 +3668,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_float_f_7 !DEC$endif ! @@ -3735,7 +3735,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_1 !DEC$endif ! @@ -3802,7 +3802,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_2 !DEC$endif ! @@ -3868,7 +3868,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_3 !DEC$endif ! @@ -3930,7 +3930,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_4 !DEC$endif ! @@ -3992,7 +3992,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -4054,7 +4054,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -4116,7 +4116,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 !DEC$endif ! @@ -4181,7 +4181,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_1 !DEC$endif ! @@ -4245,7 +4245,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_2 !DEC$endif ! @@ -4308,7 +4308,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_3 !DEC$endif ! @@ -4367,7 +4367,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_4 !DEC$endif ! @@ -4426,7 +4426,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_5 !DEC$endif ! @@ -4485,7 +4485,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_6 !DEC$endif ! @@ -4544,7 +4544,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_int_f_7 !DEC$endif ! @@ -4608,7 +4608,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_1 !DEC$endif ! @@ -4672,7 +4672,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_2 !DEC$endif ! @@ -4735,7 +4735,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_3 !DEC$endif ! @@ -4794,7 +4794,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_4 !DEC$endif ! @@ -4853,7 +4853,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_5 !DEC$endif ! @@ -4912,7 +4912,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_6 !DEC$endif ! @@ -4971,7 +4971,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_float_f_7 !DEC$endif ! @@ -5034,7 +5034,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_1 !DEC$endif ! @@ -5098,7 +5098,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_2 !DEC$endif ! @@ -5161,7 +5161,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_3 !DEC$endif ! @@ -5220,7 +5220,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_4 !DEC$endif ! @@ -5279,7 +5279,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_5 !DEC$endif ! @@ -5338,7 +5338,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_6 !DEC$endif ! @@ -5397,7 +5397,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_double_f_7 !DEC$endif ! @@ -5460,7 +5460,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltmake_dataset_string_f !DEC$endif ! @@ -5520,7 +5520,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltread_dataset_string_f !DEC$endif ! @@ -5587,7 +5587,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_int_f !DEC$endif ! @@ -5654,7 +5654,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_float_f !DEC$endif ! @@ -5721,7 +5721,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_double_f !DEC$endif ! @@ -5788,7 +5788,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltset_attribute_string_f !DEC$endif ! @@ -5857,7 +5857,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_int_f !DEC$endif ! @@ -5922,7 +5922,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_float_f !DEC$endif ! @@ -5986,7 +5986,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_double_f !DEC$endif ! @@ -6050,7 +6050,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_string_f !DEC$endif ! @@ -6121,7 +6121,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_dataset_ndims_f !DEC$endif ! @@ -6178,7 +6178,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltfind_dataset_f !DEC$endif ! @@ -6236,7 +6236,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_dataset_info_f !DEC$endif ! @@ -6304,7 +6304,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_ndims_f !DEC$endif ! @@ -6371,7 +6371,7 @@ CONTAINS ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltget_attribute_info_f !DEC$endif ! @@ -6434,7 +6434,7 @@ CONTAINS IMPLICIT NONE ! !This definition is needed for Windows DLLs - !DEC$if defined(BUILD_HDF5_DLL) + !DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5ltpath_valid_f !DEC$endif ! diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.f90 index 76bf77c..8d31a93 100644 --- a/hl/fortran/src/H5TBff.f90 +++ b/hl/fortran/src/H5TBff.f90 @@ -96,7 +96,7 @@ SUBROUTINE h5tbmake_table_f(table_title,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbmake_table_f !DEC$endif ! @@ -219,7 +219,7 @@ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_int !DEC$endif ! @@ -295,7 +295,7 @@ SUBROUTINE h5tbwrite_field_name_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_float !DEC$endif ! @@ -373,7 +373,7 @@ SUBROUTINE h5tbwrite_field_name_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_double !DEC$endif ! @@ -449,7 +449,7 @@ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_name_f_string !DEC$endif ! @@ -526,7 +526,7 @@ SUBROUTINE h5tbread_field_name_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_int !DEC$endif ! @@ -602,7 +602,7 @@ SUBROUTINE h5tbread_field_name_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_float !DEC$endif ! @@ -678,7 +678,7 @@ SUBROUTINE h5tbread_field_name_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_double !DEC$endif ! @@ -754,7 +754,7 @@ SUBROUTINE h5tbread_field_name_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_name_f_string !DEC$endif ! @@ -831,7 +831,7 @@ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_int !DEC$endif ! @@ -903,7 +903,7 @@ SUBROUTINE h5tbwrite_field_index_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_float !DEC$endif ! @@ -977,7 +977,7 @@ SUBROUTINE h5tbwrite_field_index_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_double !DEC$endif ! @@ -1049,7 +1049,7 @@ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbwrite_field_index_f_string !DEC$endif ! @@ -1122,7 +1122,7 @@ SUBROUTINE h5tbread_field_index_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport ::h5tbread_field_index_f_int !DEC$endif ! @@ -1194,7 +1194,7 @@ SUBROUTINE h5tbread_field_index_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_float !DEC$endif ! @@ -1266,7 +1266,7 @@ SUBROUTINE h5tbread_field_index_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_double !DEC$endif ! @@ -1338,7 +1338,7 @@ SUBROUTINE h5tbread_field_index_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbread_field_index_f_string !DEC$endif ! @@ -1409,7 +1409,7 @@ SUBROUTINE h5tbinsert_field_f_int(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_int !DEC$endif ! @@ -1483,7 +1483,7 @@ SUBROUTINE h5tbinsert_field_f_float(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_float !DEC$endif ! @@ -1557,7 +1557,7 @@ SUBROUTINE h5tbinsert_field_f_double(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_double !DEC$endif ! @@ -1632,7 +1632,7 @@ SUBROUTINE h5tbinsert_field_f_string(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbinsert_field_f_string !DEC$endif ! @@ -1704,7 +1704,7 @@ SUBROUTINE h5tbdelete_field_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbdelete_field_f !DEC$endif ! @@ -1771,7 +1771,7 @@ SUBROUTINE h5tbget_table_info_f(loc_id,& ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbget_table_info_f !DEC$endif ! @@ -1836,7 +1836,7 @@ SUBROUTINE h5tbget_field_info_f(loc_id,& IMPLICIT NONE ! !This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) +!DEC$if defined(BUILD_HDF5_HL_DLL) !DEC$attributes dllexport :: h5tbget_field_info_f !DEC$endif ! -- cgit v0.12 From 57a1c0b93bc884c0ae4c5a1d469444e8721cc6ed Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 20 Feb 2015 13:30:47 -0500 Subject: [svn-r26254] Changed mpi test to use include 'mpif.h' --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index c56bce8..36ded58 100755 --- a/configure +++ b/configure @@ -27833,7 +27833,7 @@ $as_echo_n "checking whether a simple MPI-IO Fortran program can be linked... " cat > conftest.$ac_ext <<_ACEOF PROGRAM main - USE mpi + INCLUDE 'mpif.h' INTEGER :: comm, amode, info, fh, ierror CHARACTER(LEN=1) :: filename CALL MPI_File_open( comm, filename, amode, info, fh, ierror) -- cgit v0.12 From 42a97ddeffeb02eb40e8dab215df723727fb88a8 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 20 Feb 2015 14:01:19 -0500 Subject: [svn-r26255] Remove file - obsoleted by cmake 3.1 minimum --- MANIFEST | 1 - 1 file changed, 1 deletion(-) diff --git a/MANIFEST b/MANIFEST index dcb9f2f..34c60e4 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2387,7 +2387,6 @@ # CMake-specific Files ./config/cmake/cacheinit.cmake -./config/cmake/CMakePackageConfigHelpers.cmake ./config/cmake/ConversionTests.c ./config/cmake/ConfigureChecks.cmake ./config/cmake/CTestCustom.cmake -- cgit v0.12 From fef1ffe690272d767ea8ca17a18265028d6a2fc6 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 20 Feb 2015 14:01:32 -0500 Subject: [svn-r26256] Remove file - obsoleted by cmake 3.1 minimum --- CMakeInstallation.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake index 04baa2e..a702fc3 100644 --- a/CMakeInstallation.cmake +++ b/CMakeInstallation.cmake @@ -1,4 +1,4 @@ -include (${HDF_RESOURCES_DIR}/CMakePackageConfigHelpers.cmake) +include (CMakePackageConfigHelpers.cmake) #----------------------------------------------------------------------------- # Check for Installation Utilities -- cgit v0.12 From 734f1682254aa422172247ac21e5c61d634aded2 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 20 Feb 2015 15:52:56 -0500 Subject: [svn-r26259] Remove file --- config/cmake/CMakePackageConfigHelpers.cmake | 321 --------------------------- 1 file changed, 321 deletions(-) delete mode 100644 config/cmake/CMakePackageConfigHelpers.cmake diff --git a/config/cmake/CMakePackageConfigHelpers.cmake b/config/cmake/CMakePackageConfigHelpers.cmake deleted file mode 100644 index c6dc141..0000000 --- a/config/cmake/CMakePackageConfigHelpers.cmake +++ /dev/null @@ -1,321 +0,0 @@ -#.rst: -# CMakePackageConfigHelpers -# ------------------------- -# -# Helpers functions for creating config files that can be included by other -# projects to find and use a package. -# -# Adds the :command:`configure_package_config_file()` and -# :command:`write_basic_package_version_file()` commands. -# -# Generating a Package Configuration File -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# .. command:: configure_package_config_file -# -# Create a config file for a project:: -# -# configure_package_config_file( INSTALL_DESTINATION -# [PATH_VARS ... ] -# [NO_SET_AND_CHECK_MACRO] -# [NO_CHECK_REQUIRED_COMPONENTS_MACRO] -# [INSTALL_PREFIX ]) -# -# -# ``configure_package_config_file()`` should be used instead of the plain -# :command:`configure_file()` command when creating the ``Config.cmake`` -# or ``-config.cmake`` file for installing a project or library. It helps -# making the resulting package relocatable by avoiding hardcoded paths in the -# installed ``Config.cmake`` file. -# -# In a ``FooConfig.cmake`` file there may be code like this to make the install -# destinations know to the using project: -# -# .. code-block:: cmake -# -# set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" ) -# set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" ) -# set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" ) -# ...logic to determine installedPrefix from the own location... -# set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" ) -# -# All 4 options shown above are not sufficient, since the first 3 hardcode the -# absolute directory locations, and the 4th case works only if the logic to -# determine the ``installedPrefix`` is correct, and if ``CONFIG_INSTALL_DIR`` -# contains a relative path, which in general cannot be guaranteed. This has the -# effect that the resulting ``FooConfig.cmake`` file would work poorly under -# Windows and OSX, where users are used to choose the install location of a -# binary package at install time, independent from how -# :variable:`CMAKE_INSTALL_PREFIX` was set at build/cmake time. -# -# Using ``configure_package_config_file`` helps. If used correctly, it makes -# the resulting ``FooConfig.cmake`` file relocatable. Usage: -# -# 1. write a ``FooConfig.cmake.in`` file as you are used to -# 2. insert a line containing only the string ``@PACKAGE_INIT@`` -# 3. instead of ``set(FOO_DIR "@SOME_INSTALL_DIR@")``, use -# ``set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")`` (this must be after the -# ``@PACKAGE_INIT@`` line) -# 4. instead of using the normal :command:`configure_file()`, use -# ``configure_package_config_file()`` -# -# -# -# The ```` and ```` arguments are the input and output file, the -# same way as in :command:`configure_file()`. -# -# The ```` given to ``INSTALL_DESTINATION`` must be the destination where -# the ``FooConfig.cmake`` file will be installed to. This path can either be -# absolute, or relative to the ``INSTALL_PREFIX`` path. -# -# The variables ```` to ```` given as ``PATH_VARS`` are the -# variables which contain install destinations. For each of them the macro will -# create a helper variable ``PACKAGE_``. These helper variables must be -# used in the ``FooConfig.cmake.in`` file for setting the installed location. -# They are calculated by ``configure_package_config_file`` so that they are -# always relative to the installed location of the package. This works both for -# relative and also for absolute locations. For absolute locations it works -# only if the absolute location is a subdirectory of ``INSTALL_PREFIX``. -# -# If the ``INSTALL_PREFIX`` argument is passed, this is used as base path to -# calculate all the relative paths. The ```` argument must be an absolute -# path. If this argument is not passed, the :variable:`CMAKE_INSTALL_PREFIX` -# variable will be used instead. The default value is good when generating a -# FooConfig.cmake file to use your package from the install tree. When -# generating a FooConfig.cmake file to use your package from the build tree this -# option should be used. -# -# By default ``configure_package_config_file`` also generates two helper macros, -# ``set_and_check()`` and ``check_required_components()`` into the -# ``FooConfig.cmake`` file. -# -# ``set_and_check()`` should be used instead of the normal ``set()`` command for -# setting directories and file locations. Additionally to setting the variable -# it also checks that the referenced file or directory actually exists and fails -# with a ``FATAL_ERROR`` otherwise. This makes sure that the created -# ``FooConfig.cmake`` file does not contain wrong references. -# When using the ``NO_SET_AND_CHECK_MACRO``, this macro is not generated -# into the ``FooConfig.cmake`` file. -# -# ``check_required_components()`` should be called at the end of -# the ``FooConfig.cmake`` file if the package supports components. This macro -# checks whether all requested, non-optional components have been found, and if -# this is not the case, sets the ``Foo_FOUND`` variable to ``FALSE``, so that -# the package is considered to be not found. It does that by testing the -# ``Foo__FOUND`` variables for all requested required components. -# When using the ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is -# not generated into the ``FooConfig.cmake`` file. -# -# For an example see below the documentation for -# :command:`write_basic_package_version_file()`. -# -# Generating a Package Version File -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# .. command:: write_basic_package_version_file -# -# Create a version file for a project:: -# -# write_basic_package_version_file( -# [VERSION ] -# COMPATIBILITY ) -# -# -# Writes a file for use as ``ConfigVersion.cmake`` file to -# ````. See the documentation of :command:`find_package()` for -# details on this. -# -# ```` is the output filename, it should be in the build tree. -# ```` is the version number of the project to be installed. -# -# If no ``VERSION`` is given, the :variable:`PROJECT_VERSION` variable is used. -# If this hasn't been set, it errors out. -# -# The ``COMPATIBILITY`` mode ``AnyNewerVersion`` means that the installed -# package version will be considered compatible if it is newer or exactly the -# same as the requested version. This mode should be used for packages which -# are fully backward compatible, also across major versions. -# If ``SameMajorVersion`` is used instead, then the behaviour differs from -# ``AnyNewerVersion`` in that the major version number must be the same as -# requested, e.g. version 2.0 will not be considered compatible if 1.0 is -# requested. This mode should be used for packages which guarantee backward -# compatibility within the same major version. -# If ``ExactVersion`` is used, then the package is only considered compatible if -# the requested version matches exactly its own version number (not considering -# the tweak version). For example, version 1.2.3 of a package is only -# considered compatible to requested version 1.2.3. This mode is for packages -# without compatibility guarantees. -# If your project has more elaborated version matching rules, you will need to -# write your own custom ``ConfigVersion.cmake`` file instead of using this -# macro. -# -# Internally, this macro executes :command:`configure_file()` to create the -# resulting version file. Depending on the ``COMPATIBLITY``, either the file -# ``BasicConfigVersion-SameMajorVersion.cmake.in`` or -# ``BasicConfigVersion-AnyNewerVersion.cmake.in`` is used. Please note that -# these two files are internal to CMake and you should not call -# :command:`configure_file()` on them yourself, but they can be used as starting -# point to create more sophisticted custom ``ConfigVersion.cmake`` files. -# -# Example Generating Package Files -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# Example using both :command:`configure_package_config_file` and -# ``write_basic_package_version_file()``: -# -# ``CMakeLists.txt``: -# -# .. code-block:: cmake -# -# set(INCLUDE_INSTALL_DIR include/ ... CACHE ) -# set(LIB_INSTALL_DIR lib/ ... CACHE ) -# set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE ) -# ... -# include(CMakePackageConfigHelpers) -# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake -# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake -# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR) -# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake -# VERSION 1.2.3 -# COMPATIBILITY SameMajorVersion ) -# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake -# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake ) -# -# ``FooConfig.cmake.in``: -# -# .. code-block:: cmake -# -# set(FOO_VERSION x.y.z) -# ... -# @PACKAGE_INIT@ -# ... -# set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") -# set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@") -# -# check_required_components(Foo) - - -#============================================================================= -# Copyright 2012 Alexander Neundorf -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -include(CMakeParseArguments) - -include(WriteBasicConfigVersionFile) - -macro(WRITE_BASIC_PACKAGE_VERSION_FILE) - write_basic_config_version_file(${ARGN}) -endmacro() - -function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile) - set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO) - set(oneValueArgs INSTALL_DESTINATION INSTALL_PREFIX) - set(multiValueArgs PATH_VARS ) - - cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - if(CCF_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"") - endif() - - if(NOT CCF_INSTALL_DESTINATION) - message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()") - endif() - - if(DEFINED CCF_INSTALL_PREFIX) - if(IS_ABSOLUTE "${CCF_INSTALL_PREFIX}") - set(installPrefix "${CCF_INSTALL_PREFIX}") - else() - message(FATAL_ERROR "INSTALL_PREFIX must be an absolute path") - endif() - else() - set(installPrefix "${CMAKE_INSTALL_PREFIX}") - endif() - - if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}") - set(absInstallDir "${CCF_INSTALL_DESTINATION}") - else() - set(absInstallDir "${installPrefix}/${CCF_INSTALL_DESTINATION}") - endif() - - file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${installPrefix}" ) - - foreach(var ${CCF_PATH_VARS}) - if(NOT DEFINED ${var}) - message(FATAL_ERROR "Variable ${var} does not exist") - else() - if(IS_ABSOLUTE "${${var}}") - string(REPLACE "${installPrefix}" "\${PACKAGE_PREFIX_DIR}" - PACKAGE_${var} "${${var}}") - else() - set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}") - endif() - endif() - endforeach() - - get_filename_component(inputFileName "${_inputFile}" NAME) - - set(PACKAGE_INIT " -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was ${inputFileName} ######## - -get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE) -") - - if("${absInstallDir}" MATCHES "^(/usr)?/lib(64)?/.+") - # Handle "/usr move" symlinks created by some Linux distros. - set(PACKAGE_INIT "${PACKAGE_INIT} -# Use original install prefix when loaded through a \"/usr move\" -# cross-prefix symbolic link such as /lib -> /usr/lib. -get_filename_component(_realCurr \"\${CMAKE_CURRENT_LIST_DIR}\" REALPATH) -get_filename_component(_realOrig \"${absInstallDir}\" REALPATH) -if(_realCurr STREQUAL _realOrig) - set(PACKAGE_PREFIX_DIR \"${installPrefix}\") -endif() -unset(_realOrig) -unset(_realCurr) -") - endif() - - if(NOT CCF_NO_SET_AND_CHECK_MACRO) - set(PACKAGE_INIT "${PACKAGE_INIT} -macro(set_and_check _var _file) - set(\${_var} \"\${_file}\") - if(NOT EXISTS \"\${_file}\") - message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\") - endif() -endmacro() -") - endif() - - - if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO) - set(PACKAGE_INIT "${PACKAGE_INIT} -macro(check_required_components _NAME) - foreach(comp \${\${_NAME}_FIND_COMPONENTS}) - if(NOT \${_NAME}_\${comp}_FOUND) - if(\${_NAME}_FIND_REQUIRED_\${comp}) - set(\${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() -") - endif() - - set(PACKAGE_INIT "${PACKAGE_INIT} -####################################################################################") - - configure_file("${_inputFile}" "${_outputFile}" @ONLY) - -endfunction() -- cgit v0.12 From fcd77ffe7ea32017bc00aa7652e7abd91d8b0b89 Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Fri, 20 Feb 2015 16:33:48 -0500 Subject: [svn-r26260] - add an attribute callback to call H5_term_library when MPI_COMM_SELF is destroyed. - add tests for above. - this is a fix for HDFFV-883. tested h5committest --- MANIFEST | 2 + src/H5.c | 80 +++++++++++++++++++++------- testpar/CMakeLists.txt | 2 + testpar/Makefile.am | 5 +- testpar/Makefile.in | 34 +++++++++--- testpar/t_pflush1.c | 11 ++-- testpar/t_pflush2.c | 3 -- testpar/t_prestart.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++ testpar/t_pshutdown.c | 127 +++++++++++++++++++++++++++++++++++++++++++++ testpar/t_shapesame.c | 3 -- testpar/testphdf5.h | 1 + tools/perform/perf.c | 3 -- 12 files changed, 364 insertions(+), 45 deletions(-) create mode 100644 testpar/t_prestart.c create mode 100644 testpar/t_pshutdown.c diff --git a/MANIFEST b/MANIFEST index 34c60e4..cd8133c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1146,6 +1146,8 @@ ./testpar/t_pflush2.c ./testpar/t_prop.c ./testpar/t_shapesame.c +./testpar/t_pshutdown.c +./testpar/t_prestart.c ./testpar/t_span_tree.c ./testpar/testpar.h ./testpar/testphdf5.c diff --git a/src/H5.c b/src/H5.c index af8b668..52dc566 100644 --- a/src/H5.c +++ b/src/H5.c @@ -52,7 +52,9 @@ /* Local Prototypes */ /********************/ static void H5_debug_mask(const char*); - +#ifdef H5_HAVE_PARALLEL +static int H5_mpi_delete_cb(MPI_Comm comm, int keyval, void *attr_val, int *flag); +#endif /*H5_HAVE_PARALLEL*/ /*********************/ /* Package Variables */ @@ -109,6 +111,43 @@ H5_init_library(void) herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI(FAIL) + +#ifdef H5_HAVE_PARALLEL + { + int mpi_initialized; + int mpi_code; + + MPI_Initialized(&mpi_initialized); + +#ifdef H5_HAVE_MPE + /* Initialize MPE instrumentation library. */ + if (!H5_MPEinit_g) + { + int mpe_code; + if (mpi_initialized){ + mpe_code = MPE_Init_log(); + HDassert(mpe_code >=0); + H5_MPEinit_g = TRUE; + } + } +#endif /*H5_HAVE_MPE*/ + + /* add an attribute on MPI_COMM_SELF to call H5_term_library + when it is destroyed, i.e. on MPI_Finalize */ + if (mpi_initialized) { + int key_val; + + if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, + (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, + &key_val, NULL))) + HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code) + + if(MPI_SUCCESS != (mpi_code = MPI_Comm_set_attr(MPI_COMM_SELF, key_val, NULL))) + HMPI_GOTO_ERROR(FAIL, "MPI_Comm_set_attr failed", mpi_code) + } + } +#endif /*H5_HAVE_PARALLEL*/ + /* * Make sure the package information is updated. */ @@ -132,24 +171,6 @@ H5_init_library(void) H5_debug_g.pkg[H5_PKG_V].name = "v"; H5_debug_g.pkg[H5_PKG_Z].name = "z"; -#ifdef H5_HAVE_MPE - /* Initialize MPE instrumentation library. May need to move this - * up earlier if any of the above initialization involves using - * the instrumentation code. - */ - if (!H5_MPEinit_g) - { - int mpe_code; - int mpi_initialized; - MPI_Initialized(&mpi_initialized); - if (mpi_initialized){ - mpe_code = MPE_Init_log(); - HDassert(mpe_code >=0); - H5_MPEinit_g = TRUE; - } - } -#endif - /* * Install atexit() library cleanup routines unless the H5dont_atexit() * has been called. Once we add something to the atexit() list it stays @@ -580,6 +601,27 @@ H5_debug_mask(const char *s) } } /* end H5_debug_mask() */ +#ifdef H5_HAVE_PARALLEL + +/*------------------------------------------------------------------------- + * Function: H5_mpi_delete_cb + * + * Purpose: Callback attribute on MPI_COMM_SELF to terminate the HDF5 + * library when the communicator is destroyed, i.e. on MPI_Finalize. + * + * Return: MPI_SUCCESS + * + * Programmer: Mohamad Chaarawi, February 2015 + * + *------------------------------------------------------------------------- + */ +static int H5_mpi_delete_cb(MPI_Comm UNUSED comm, int UNUSED keyval, void UNUSED *attr_val, int UNUSED *flag) +{ + H5_term_library(); + return MPI_SUCCESS; +} +#endif /*H5_HAVE_PARALLEL*/ + /*------------------------------------------------------------------------- * Function: H5get_libversion diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt index 11437c0..d1db0b7 100644 --- a/testpar/CMakeLists.txt +++ b/testpar/CMakeLists.txt @@ -46,6 +46,8 @@ set (H5P_TESTS t_cache t_pflush1 t_pflush2 + t_pshutdown + t_prestart t_shapesame ) diff --git a/testpar/Makefile.am b/testpar/Makefile.am index 448f745..1eae439 100644 --- a/testpar/Makefile.am +++ b/testpar/Makefile.am @@ -25,7 +25,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/test # Test programs. These are our main targets. # -TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame +TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame check_PROGRAMS = $(TEST_PROG_PARA) @@ -39,7 +39,8 @@ LDADD = $(LIBH5TEST) $(LIBHDF5) # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf +# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. -CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 go +CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 shutdown.h5 go include $(top_srcdir)/config/conclude.am diff --git a/testpar/Makefile.in b/testpar/Makefile.in index 8857d47..959731e 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -112,7 +112,8 @@ CONFIG_HEADER = $(top_builddir)/src/H5config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__EXEEXT_1 = t_mpi$(EXEEXT) testphdf5$(EXEEXT) t_cache$(EXEEXT) \ - t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_shapesame$(EXEEXT) + t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_pshutdown$(EXEEXT) \ + t_prestart$(EXEEXT) t_shapesame$(EXEEXT) t_cache_SOURCES = t_cache.c t_cache_OBJECTS = t_cache.$(OBJEXT) t_cache_LDADD = $(LDADD) @@ -133,6 +134,14 @@ t_pflush2_SOURCES = t_pflush2.c t_pflush2_OBJECTS = t_pflush2.$(OBJEXT) t_pflush2_LDADD = $(LDADD) t_pflush2_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +t_prestart_SOURCES = t_prestart.c +t_prestart_OBJECTS = t_prestart.$(OBJEXT) +t_prestart_LDADD = $(LDADD) +t_prestart_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) +t_pshutdown_SOURCES = t_pshutdown.c +t_pshutdown_OBJECTS = t_pshutdown.$(OBJEXT) +t_pshutdown_LDADD = $(LDADD) +t_pshutdown_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) t_shapesame_SOURCES = t_shapesame.c t_shapesame_OBJECTS = t_shapesame.$(OBJEXT) t_shapesame_LDADD = $(LDADD) @@ -179,10 +188,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ - $(testphdf5_SOURCES) -DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ - $(testphdf5_SOURCES) +SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ + t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) +DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ + t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -687,13 +696,14 @@ TRACE = perl $(top_srcdir)/bin/trace # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf +# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. CHECK_CLEANFILES = *.chkexe *.chklog *.clog MPItest.h5 Para*.h5 \ - CacheTestDummy.h5 go + CacheTestDummy.h5 shutdown.h5 go # Test programs. These are our main targets. # -TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame +TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_file_image.c t_mdset.c \ t_ph5basic.c t_coll_chunk.c t_span_tree.c t_chunk_alloc.c t_filter_read.c \ t_prop.c @@ -782,6 +792,14 @@ t_pflush2$(EXEEXT): $(t_pflush2_OBJECTS) $(t_pflush2_DEPENDENCIES) $(EXTRA_t_pfl @rm -f t_pflush2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_pflush2_OBJECTS) $(t_pflush2_LDADD) $(LIBS) +t_prestart$(EXEEXT): $(t_prestart_OBJECTS) $(t_prestart_DEPENDENCIES) $(EXTRA_t_prestart_DEPENDENCIES) + @rm -f t_prestart$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_prestart_OBJECTS) $(t_prestart_LDADD) $(LIBS) + +t_pshutdown$(EXEEXT): $(t_pshutdown_OBJECTS) $(t_pshutdown_DEPENDENCIES) $(EXTRA_t_pshutdown_DEPENDENCIES) + @rm -f t_pshutdown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_pshutdown_OBJECTS) $(t_pshutdown_LDADD) $(LIBS) + t_shapesame$(EXEEXT): $(t_shapesame_OBJECTS) $(t_shapesame_DEPENDENCIES) $(EXTRA_t_shapesame_DEPENDENCIES) @rm -f t_shapesame$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_shapesame_OBJECTS) $(t_shapesame_LDADD) $(LIBS) @@ -808,7 +826,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prestart.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prop.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pshutdown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_shapesame.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@ diff --git a/testpar/t_pflush1.c b/testpar/t_pflush1.c index ebe5c38..1bcfeb8 100644 --- a/testpar/t_pflush1.c +++ b/testpar/t_pflush1.c @@ -164,12 +164,9 @@ main(int argc, char* argv[]) } /* end else */ /* - * Some systems like Linux with mpich, if you just _exit without MPI_Finalize - * called, it would terminate but left the launching process waiting forever. - * OTHO, some systems like AIX do not like files not closed when MPI_Finalize - * is called. So, we need to get the MPI file handles, close them by hand, - * then MPI_Finalize. Then the _exit is still needed to stop at_exit from - * happening in some systems. + * Some systems like AIX do not like files not closed when MPI_Finalize + * is called. So, we need to get the MPI file handles, close them by hand. + * Then the _exit is still needed to stop at_exit from happening in some systems. * Note that MPIO VFD returns the address of the file-handle in the VFD struct * because MPI_File_close wants to modify the file-handle variable. */ @@ -195,13 +192,11 @@ main(int argc, char* argv[]) fflush(stdout); fflush(stderr); - MPI_Finalize(); HD_exit(0); error: fflush(stdout); fflush(stderr); - MPI_Finalize(); HD_exit(1); } diff --git a/testpar/t_pflush2.c b/testpar/t_pflush2.c index e450f75..03f7c82 100644 --- a/testpar/t_pflush2.c +++ b/testpar/t_pflush2.c @@ -209,9 +209,6 @@ main(int argc, char* argv[]) puts(" Test not compatible with current Virtual File Driver"); } - /* close HDF5 library */ - H5close(); - MPI_Finalize(); return 0; diff --git a/testpar/t_prestart.c b/testpar/t_prestart.c new file mode 100644 index 0000000..8f20842 --- /dev/null +++ b/testpar/t_prestart.c @@ -0,0 +1,138 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * 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. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Programmer: Mohamad Chaarawi + * February 2015 + * + * Purpose: This test opens a file created by the t_pshutdown program + * and makes sure the objects created are there. + */ + +#include "testphdf5.h" + +int nerrors = 0; /* errors count */ + +const char *FILENAME[] = { + "shutdown", + NULL +}; + +int +main (int argc, char **argv) +{ + hid_t file_id, dset_id, grp_id; + hid_t fapl, sid, mem_dataspace; + herr_t ret; + char filename[1024]; + int mpi_size, mpi_rank, ndims, i, j; + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + hsize_t dims[RANK]; + hsize_t start[RANK]; + hsize_t count[RANK]; + hsize_t stride[RANK]; + hsize_t block[RANK]; + DATATYPE *data_array = NULL, *dataptr; /* data buffer */ + + MPI_Init(&argc, &argv); + MPI_Comm_size(comm, &mpi_size); + MPI_Comm_rank(comm, &mpi_rank); + + if(MAINPROCESS) + TESTING("proper shutdown of HDF5 library"); + + /* Set up file access property list with parallel I/O access */ + fapl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((fapl >= 0), "H5Pcreate succeeded"); + ret = H5Pset_fapl_mpio(fapl, comm, info); + VRFY((ret >= 0), ""); + + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + file_id = H5Fopen(filename, H5F_ACC_RDONLY, fapl); + VRFY((file_id >= 0), "H5Fopen succeeded"); + + grp_id = H5Gopen(file_id, "Group", H5P_DEFAULT); + VRFY((grp_id >= 0), "H5Gopen succeeded"); + + dset_id = H5Dopen(grp_id, "Dataset", H5P_DEFAULT); + VRFY((dset_id >= 0), "H5Dopen succeeded"); + + sid = H5Dget_space(dset_id); + VRFY((dset_id >= 0), "H5Dget_space succeeded"); + + ndims = H5Sget_simple_extent_dims(sid, dims, NULL); + VRFY((ndims == 2), "H5Sget_simple_extent_dims succeeded"); + VRFY(dims[0] == ROW_FACTOR*mpi_size, "Wrong dataset dimensions"); + VRFY(dims[1] == COL_FACTOR*mpi_size, "Wrong dataset dimensions"); + + /* allocate memory for data buffer */ + data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); + VRFY((data_array != NULL), "data_array HDmalloc succeeded"); + + /* Each process takes a slabs of rows. */ + block[0] = dims[0]/mpi_size; + block[1] = dims[1]; + stride[0] = block[0]; + stride[1] = block[1]; + count[0] = 1; + count[1] = 1; + start[0] = mpi_rank*block[0]; + start[1] = 0; + + ret = H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block); + VRFY((ret >= 0), "H5Sset_hyperslab succeeded"); + + /* create a memory dataspace independently */ + mem_dataspace = H5Screate_simple (RANK, block, NULL); + VRFY((mem_dataspace >= 0), ""); + + /* write data independently */ + ret = H5Dread(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, + H5P_DEFAULT, data_array); + VRFY((ret >= 0), "H5Dwrite succeeded"); + + dataptr = data_array; + + for (i=0; i < block[0]; i++){ + for (j=0; j < block[1]; j++){ + if(*dataptr != mpi_rank+1) { + printf("Dataset Verify failed at [%lu][%lu](row %lu, col %lu): expect %d, got %d\n", + (unsigned long)i, (unsigned long)j, + (unsigned long)(i+start[0]), (unsigned long)(j+start[1]), + mpi_rank+1, *(dataptr)); + nerrors ++; + } + dataptr++; + } + } + MPI_Finalize(); + HDremove(filename); + + /* release data buffers */ + if(data_array) + HDfree(data_array); + + nerrors += GetTestNumErrs(); + + if(MAINPROCESS) { + if(0 == nerrors) + PASSED() + else + H5_FAILED() + } + + return (nerrors!=0); +} diff --git a/testpar/t_pshutdown.c b/testpar/t_pshutdown.c new file mode 100644 index 0000000..7086aa6 --- /dev/null +++ b/testpar/t_pshutdown.c @@ -0,0 +1,127 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * 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. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Programmer: Mohamad Chaarawi + * February 2015 + * + * Purpose: This test creates a file and a bunch of objects in the + * file and then calls MPI_Finalize without closing anything. The + * library should exercise the attribute callback destroy attached to + * MPI_COMM_SELF and terminate the HDF5 library closing all open + * objects. The t_prestart test will read back the file and make sure + * all created objects are there. + */ + +#include "testphdf5.h" + +int nerrors = 0; /* errors count */ + +const char *FILENAME[] = { + "shutdown", + NULL +}; + +int +main (int argc, char **argv) +{ + hid_t file_id, dset_id, grp_id; + hid_t fapl, sid, mem_dataspace; + hsize_t dims[RANK], i; + herr_t ret; + char filename[1024]; + int mpi_size, mpi_rank; + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + hsize_t start[RANK]; + hsize_t count[RANK]; + hsize_t stride[RANK]; + hsize_t block[RANK]; + DATATYPE *data_array = NULL; /* data buffer */ + + MPI_Init(&argc, &argv); + MPI_Comm_size(comm, &mpi_size); + MPI_Comm_rank(comm, &mpi_rank); + + if(MAINPROCESS) + TESTING("proper shutdown of HDF5 library"); + + /* Set up file access property list with parallel I/O access */ + fapl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((fapl >= 0), "H5Pcreate succeeded"); + ret = H5Pset_fapl_mpio(fapl, comm, info); + VRFY((ret >= 0), ""); + + h5_fixname(FILENAME[0], fapl, filename, sizeof filename); + file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + VRFY((file_id >= 0), "H5Fcreate succeeded"); + grp_id = H5Gcreate(file_id, "Group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + VRFY((grp_id >= 0), "H5Gcreate succeeded"); + + dims[0] = ROW_FACTOR*mpi_size; + dims[1] = COL_FACTOR*mpi_size; + sid = H5Screate_simple (RANK, dims, NULL); + VRFY((sid >= 0), "H5Screate_simple succeeded"); + + dset_id = H5Dcreate2(grp_id, "Dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + VRFY((dset_id >= 0), "H5Dcreate succeeded"); + + /* allocate memory for data buffer */ + data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); + VRFY((data_array != NULL), "data_array HDmalloc succeeded"); + + /* Each process takes a slabs of rows. */ + block[0] = dims[0]/mpi_size; + block[1] = dims[1]; + stride[0] = block[0]; + stride[1] = block[1]; + count[0] = 1; + count[1] = 1; + start[0] = mpi_rank*block[0]; + start[1] = 0; + + /* put some trivial data in the data_array */ + for(i=0 ; i= 0), "H5Sset_hyperslab succeeded"); + + /* create a memory dataspace independently */ + mem_dataspace = H5Screate_simple (RANK, block, NULL); + VRFY((mem_dataspace >= 0), ""); + + /* write data independently */ + ret = H5Dwrite(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, + H5P_DEFAULT, data_array); + VRFY((ret >= 0), "H5Dwrite succeeded"); + + /* release data buffers */ + if(data_array) + HDfree(data_array); + + MPI_Finalize(); + + nerrors += GetTestNumErrs(); + + if(MAINPROCESS) { + if(0 == nerrors) + PASSED() + else + H5_FAILED() + } + + return (nerrors!=0); +} diff --git a/testpar/t_shapesame.c b/testpar/t_shapesame.c index d167687..9088470 100644 --- a/testpar/t_shapesame.c +++ b/testpar/t_shapesame.c @@ -5142,10 +5142,7 @@ int main(int argc, char **argv) printf("Shape Same tests finished with no errors\n"); printf("===================================\n"); } - /* close HDF5 library */ - H5close(); - /* MPI_Finalize must be called AFTER H5close which may use MPI calls */ MPI_Finalize(); /* cannot just return (nerrors) because exit code is limited to 1byte */ diff --git a/testpar/testphdf5.h b/testpar/testphdf5.h index 3597b17..8338ce2 100644 --- a/testpar/testphdf5.h +++ b/testpar/testphdf5.h @@ -301,4 +301,5 @@ int dataset_vrfy(hsize_t start[], hsize_t count[], hsize_t stride[], hsize_t block[], DATATYPE *dataset, DATATYPE *original); void point_set (hsize_t start[], hsize_t count[], hsize_t stride[], hsize_t block[], size_t num_points, hsize_t coords[], int order); + #endif /* PHDF5TEST_H */ diff --git a/tools/perform/perf.c b/tools/perform/perf.c index 58db6cc..1bd33b6 100644 --- a/tools/perform/perf.c +++ b/tools/perform/perf.c @@ -391,9 +391,6 @@ die_jar_jar_die: free(tmp); if (opt_correct) free(tmp2); - /* close HDF5 library */ - H5close(); - MPI_Finalize(); return(0); -- cgit v0.12 From f634105bdb7c494a5ab39291d64c00676c11b476 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Sun, 22 Feb 2015 03:38:18 -0500 Subject: [svn-r26271] Reverse merge of r26260 which was causing daily test failures. Tested on: jam w/ parallel and fortran --- MANIFEST | 2 - src/H5.c | 80 +++++++--------------------- testpar/CMakeLists.txt | 2 - testpar/Makefile.am | 5 +- testpar/Makefile.in | 34 +++--------- testpar/t_pflush1.c | 11 ++-- testpar/t_pflush2.c | 3 ++ testpar/t_prestart.c | 138 ------------------------------------------------- testpar/t_pshutdown.c | 127 --------------------------------------------- testpar/t_shapesame.c | 3 ++ testpar/testphdf5.h | 1 - tools/perform/perf.c | 3 ++ 12 files changed, 45 insertions(+), 364 deletions(-) delete mode 100644 testpar/t_prestart.c delete mode 100644 testpar/t_pshutdown.c diff --git a/MANIFEST b/MANIFEST index cd8133c..34c60e4 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1146,8 +1146,6 @@ ./testpar/t_pflush2.c ./testpar/t_prop.c ./testpar/t_shapesame.c -./testpar/t_pshutdown.c -./testpar/t_prestart.c ./testpar/t_span_tree.c ./testpar/testpar.h ./testpar/testphdf5.c diff --git a/src/H5.c b/src/H5.c index 52dc566..af8b668 100644 --- a/src/H5.c +++ b/src/H5.c @@ -52,9 +52,7 @@ /* Local Prototypes */ /********************/ static void H5_debug_mask(const char*); -#ifdef H5_HAVE_PARALLEL -static int H5_mpi_delete_cb(MPI_Comm comm, int keyval, void *attr_val, int *flag); -#endif /*H5_HAVE_PARALLEL*/ + /*********************/ /* Package Variables */ @@ -111,43 +109,6 @@ H5_init_library(void) herr_t ret_value = SUCCEED; FUNC_ENTER_NOAPI(FAIL) - -#ifdef H5_HAVE_PARALLEL - { - int mpi_initialized; - int mpi_code; - - MPI_Initialized(&mpi_initialized); - -#ifdef H5_HAVE_MPE - /* Initialize MPE instrumentation library. */ - if (!H5_MPEinit_g) - { - int mpe_code; - if (mpi_initialized){ - mpe_code = MPE_Init_log(); - HDassert(mpe_code >=0); - H5_MPEinit_g = TRUE; - } - } -#endif /*H5_HAVE_MPE*/ - - /* add an attribute on MPI_COMM_SELF to call H5_term_library - when it is destroyed, i.e. on MPI_Finalize */ - if (mpi_initialized) { - int key_val; - - if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, - (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, - &key_val, NULL))) - HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code) - - if(MPI_SUCCESS != (mpi_code = MPI_Comm_set_attr(MPI_COMM_SELF, key_val, NULL))) - HMPI_GOTO_ERROR(FAIL, "MPI_Comm_set_attr failed", mpi_code) - } - } -#endif /*H5_HAVE_PARALLEL*/ - /* * Make sure the package information is updated. */ @@ -171,6 +132,24 @@ H5_init_library(void) H5_debug_g.pkg[H5_PKG_V].name = "v"; H5_debug_g.pkg[H5_PKG_Z].name = "z"; +#ifdef H5_HAVE_MPE + /* Initialize MPE instrumentation library. May need to move this + * up earlier if any of the above initialization involves using + * the instrumentation code. + */ + if (!H5_MPEinit_g) + { + int mpe_code; + int mpi_initialized; + MPI_Initialized(&mpi_initialized); + if (mpi_initialized){ + mpe_code = MPE_Init_log(); + HDassert(mpe_code >=0); + H5_MPEinit_g = TRUE; + } + } +#endif + /* * Install atexit() library cleanup routines unless the H5dont_atexit() * has been called. Once we add something to the atexit() list it stays @@ -601,27 +580,6 @@ H5_debug_mask(const char *s) } } /* end H5_debug_mask() */ -#ifdef H5_HAVE_PARALLEL - -/*------------------------------------------------------------------------- - * Function: H5_mpi_delete_cb - * - * Purpose: Callback attribute on MPI_COMM_SELF to terminate the HDF5 - * library when the communicator is destroyed, i.e. on MPI_Finalize. - * - * Return: MPI_SUCCESS - * - * Programmer: Mohamad Chaarawi, February 2015 - * - *------------------------------------------------------------------------- - */ -static int H5_mpi_delete_cb(MPI_Comm UNUSED comm, int UNUSED keyval, void UNUSED *attr_val, int UNUSED *flag) -{ - H5_term_library(); - return MPI_SUCCESS; -} -#endif /*H5_HAVE_PARALLEL*/ - /*------------------------------------------------------------------------- * Function: H5get_libversion diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt index d1db0b7..11437c0 100644 --- a/testpar/CMakeLists.txt +++ b/testpar/CMakeLists.txt @@ -46,8 +46,6 @@ set (H5P_TESTS t_cache t_pflush1 t_pflush2 - t_pshutdown - t_prestart t_shapesame ) diff --git a/testpar/Makefile.am b/testpar/Makefile.am index 1eae439..448f745 100644 --- a/testpar/Makefile.am +++ b/testpar/Makefile.am @@ -25,7 +25,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/test # Test programs. These are our main targets. # -TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame +TEST_PROG_PARA=t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame check_PROGRAMS = $(TEST_PROG_PARA) @@ -39,8 +39,7 @@ LDADD = $(LIBH5TEST) $(LIBHDF5) # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf -# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. -CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 shutdown.h5 go +CHECK_CLEANFILES+=MPItest.h5 Para*.h5 CacheTestDummy.h5 go include $(top_srcdir)/config/conclude.am diff --git a/testpar/Makefile.in b/testpar/Makefile.in index 959731e..8857d47 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -112,8 +112,7 @@ CONFIG_HEADER = $(top_builddir)/src/H5config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__EXEEXT_1 = t_mpi$(EXEEXT) testphdf5$(EXEEXT) t_cache$(EXEEXT) \ - t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_pshutdown$(EXEEXT) \ - t_prestart$(EXEEXT) t_shapesame$(EXEEXT) + t_pflush1$(EXEEXT) t_pflush2$(EXEEXT) t_shapesame$(EXEEXT) t_cache_SOURCES = t_cache.c t_cache_OBJECTS = t_cache.$(OBJEXT) t_cache_LDADD = $(LDADD) @@ -134,14 +133,6 @@ t_pflush2_SOURCES = t_pflush2.c t_pflush2_OBJECTS = t_pflush2.$(OBJEXT) t_pflush2_LDADD = $(LDADD) t_pflush2_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) -t_prestart_SOURCES = t_prestart.c -t_prestart_OBJECTS = t_prestart.$(OBJEXT) -t_prestart_LDADD = $(LDADD) -t_prestart_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) -t_pshutdown_SOURCES = t_pshutdown.c -t_pshutdown_OBJECTS = t_pshutdown.$(OBJEXT) -t_pshutdown_LDADD = $(LDADD) -t_pshutdown_DEPENDENCIES = $(LIBH5TEST) $(LIBHDF5) t_shapesame_SOURCES = t_shapesame.c t_shapesame_OBJECTS = t_shapesame.$(OBJEXT) t_shapesame_LDADD = $(LDADD) @@ -188,10 +179,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ - t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) -DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_prestart.c \ - t_pshutdown.c t_shapesame.c $(testphdf5_SOURCES) +SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ + $(testphdf5_SOURCES) +DIST_SOURCES = t_cache.c t_mpi.c t_pflush1.c t_pflush2.c t_shapesame.c \ + $(testphdf5_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -696,14 +687,13 @@ TRACE = perl $(top_srcdir)/bin/trace # Temporary files # MPItest.h5 is from t_mpi # Para*.h5 are from testphdf -# shutdown.h5 is from t_pshutdown # go is used for debugging. See testphdf5.c. CHECK_CLEANFILES = *.chkexe *.chklog *.clog MPItest.h5 Para*.h5 \ - CacheTestDummy.h5 shutdown.h5 go + CacheTestDummy.h5 go # Test programs. These are our main targets. # -TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_pshutdown t_prestart t_shapesame +TEST_PROG_PARA = t_mpi testphdf5 t_cache t_pflush1 t_pflush2 t_shapesame testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_file_image.c t_mdset.c \ t_ph5basic.c t_coll_chunk.c t_span_tree.c t_chunk_alloc.c t_filter_read.c \ t_prop.c @@ -792,14 +782,6 @@ t_pflush2$(EXEEXT): $(t_pflush2_OBJECTS) $(t_pflush2_DEPENDENCIES) $(EXTRA_t_pfl @rm -f t_pflush2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_pflush2_OBJECTS) $(t_pflush2_LDADD) $(LIBS) -t_prestart$(EXEEXT): $(t_prestart_OBJECTS) $(t_prestart_DEPENDENCIES) $(EXTRA_t_prestart_DEPENDENCIES) - @rm -f t_prestart$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(t_prestart_OBJECTS) $(t_prestart_LDADD) $(LIBS) - -t_pshutdown$(EXEEXT): $(t_pshutdown_OBJECTS) $(t_pshutdown_DEPENDENCIES) $(EXTRA_t_pshutdown_DEPENDENCIES) - @rm -f t_pshutdown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(t_pshutdown_OBJECTS) $(t_pshutdown_LDADD) $(LIBS) - t_shapesame$(EXEEXT): $(t_shapesame_OBJECTS) $(t_shapesame_DEPENDENCIES) $(EXTRA_t_shapesame_DEPENDENCIES) @rm -f t_shapesame$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_shapesame_OBJECTS) $(t_shapesame_LDADD) $(LIBS) @@ -826,9 +808,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pflush2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prestart.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_prop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_pshutdown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_shapesame.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@ diff --git a/testpar/t_pflush1.c b/testpar/t_pflush1.c index 1bcfeb8..ebe5c38 100644 --- a/testpar/t_pflush1.c +++ b/testpar/t_pflush1.c @@ -164,9 +164,12 @@ main(int argc, char* argv[]) } /* end else */ /* - * Some systems like AIX do not like files not closed when MPI_Finalize - * is called. So, we need to get the MPI file handles, close them by hand. - * Then the _exit is still needed to stop at_exit from happening in some systems. + * Some systems like Linux with mpich, if you just _exit without MPI_Finalize + * called, it would terminate but left the launching process waiting forever. + * OTHO, some systems like AIX do not like files not closed when MPI_Finalize + * is called. So, we need to get the MPI file handles, close them by hand, + * then MPI_Finalize. Then the _exit is still needed to stop at_exit from + * happening in some systems. * Note that MPIO VFD returns the address of the file-handle in the VFD struct * because MPI_File_close wants to modify the file-handle variable. */ @@ -192,11 +195,13 @@ main(int argc, char* argv[]) fflush(stdout); fflush(stderr); + MPI_Finalize(); HD_exit(0); error: fflush(stdout); fflush(stderr); + MPI_Finalize(); HD_exit(1); } diff --git a/testpar/t_pflush2.c b/testpar/t_pflush2.c index 03f7c82..e450f75 100644 --- a/testpar/t_pflush2.c +++ b/testpar/t_pflush2.c @@ -209,6 +209,9 @@ main(int argc, char* argv[]) puts(" Test not compatible with current Virtual File Driver"); } + /* close HDF5 library */ + H5close(); + MPI_Finalize(); return 0; diff --git a/testpar/t_prestart.c b/testpar/t_prestart.c deleted file mode 100644 index 8f20842..0000000 --- a/testpar/t_prestart.c +++ /dev/null @@ -1,138 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * 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. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Programmer: Mohamad Chaarawi - * February 2015 - * - * Purpose: This test opens a file created by the t_pshutdown program - * and makes sure the objects created are there. - */ - -#include "testphdf5.h" - -int nerrors = 0; /* errors count */ - -const char *FILENAME[] = { - "shutdown", - NULL -}; - -int -main (int argc, char **argv) -{ - hid_t file_id, dset_id, grp_id; - hid_t fapl, sid, mem_dataspace; - herr_t ret; - char filename[1024]; - int mpi_size, mpi_rank, ndims, i, j; - MPI_Comm comm = MPI_COMM_WORLD; - MPI_Info info = MPI_INFO_NULL; - hsize_t dims[RANK]; - hsize_t start[RANK]; - hsize_t count[RANK]; - hsize_t stride[RANK]; - hsize_t block[RANK]; - DATATYPE *data_array = NULL, *dataptr; /* data buffer */ - - MPI_Init(&argc, &argv); - MPI_Comm_size(comm, &mpi_size); - MPI_Comm_rank(comm, &mpi_rank); - - if(MAINPROCESS) - TESTING("proper shutdown of HDF5 library"); - - /* Set up file access property list with parallel I/O access */ - fapl = H5Pcreate(H5P_FILE_ACCESS); - VRFY((fapl >= 0), "H5Pcreate succeeded"); - ret = H5Pset_fapl_mpio(fapl, comm, info); - VRFY((ret >= 0), ""); - - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - file_id = H5Fopen(filename, H5F_ACC_RDONLY, fapl); - VRFY((file_id >= 0), "H5Fopen succeeded"); - - grp_id = H5Gopen(file_id, "Group", H5P_DEFAULT); - VRFY((grp_id >= 0), "H5Gopen succeeded"); - - dset_id = H5Dopen(grp_id, "Dataset", H5P_DEFAULT); - VRFY((dset_id >= 0), "H5Dopen succeeded"); - - sid = H5Dget_space(dset_id); - VRFY((dset_id >= 0), "H5Dget_space succeeded"); - - ndims = H5Sget_simple_extent_dims(sid, dims, NULL); - VRFY((ndims == 2), "H5Sget_simple_extent_dims succeeded"); - VRFY(dims[0] == ROW_FACTOR*mpi_size, "Wrong dataset dimensions"); - VRFY(dims[1] == COL_FACTOR*mpi_size, "Wrong dataset dimensions"); - - /* allocate memory for data buffer */ - data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); - VRFY((data_array != NULL), "data_array HDmalloc succeeded"); - - /* Each process takes a slabs of rows. */ - block[0] = dims[0]/mpi_size; - block[1] = dims[1]; - stride[0] = block[0]; - stride[1] = block[1]; - count[0] = 1; - count[1] = 1; - start[0] = mpi_rank*block[0]; - start[1] = 0; - - ret = H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block); - VRFY((ret >= 0), "H5Sset_hyperslab succeeded"); - - /* create a memory dataspace independently */ - mem_dataspace = H5Screate_simple (RANK, block, NULL); - VRFY((mem_dataspace >= 0), ""); - - /* write data independently */ - ret = H5Dread(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, - H5P_DEFAULT, data_array); - VRFY((ret >= 0), "H5Dwrite succeeded"); - - dataptr = data_array; - - for (i=0; i < block[0]; i++){ - for (j=0; j < block[1]; j++){ - if(*dataptr != mpi_rank+1) { - printf("Dataset Verify failed at [%lu][%lu](row %lu, col %lu): expect %d, got %d\n", - (unsigned long)i, (unsigned long)j, - (unsigned long)(i+start[0]), (unsigned long)(j+start[1]), - mpi_rank+1, *(dataptr)); - nerrors ++; - } - dataptr++; - } - } - MPI_Finalize(); - HDremove(filename); - - /* release data buffers */ - if(data_array) - HDfree(data_array); - - nerrors += GetTestNumErrs(); - - if(MAINPROCESS) { - if(0 == nerrors) - PASSED() - else - H5_FAILED() - } - - return (nerrors!=0); -} diff --git a/testpar/t_pshutdown.c b/testpar/t_pshutdown.c deleted file mode 100644 index 7086aa6..0000000 --- a/testpar/t_pshutdown.c +++ /dev/null @@ -1,127 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * 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. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Programmer: Mohamad Chaarawi - * February 2015 - * - * Purpose: This test creates a file and a bunch of objects in the - * file and then calls MPI_Finalize without closing anything. The - * library should exercise the attribute callback destroy attached to - * MPI_COMM_SELF and terminate the HDF5 library closing all open - * objects. The t_prestart test will read back the file and make sure - * all created objects are there. - */ - -#include "testphdf5.h" - -int nerrors = 0; /* errors count */ - -const char *FILENAME[] = { - "shutdown", - NULL -}; - -int -main (int argc, char **argv) -{ - hid_t file_id, dset_id, grp_id; - hid_t fapl, sid, mem_dataspace; - hsize_t dims[RANK], i; - herr_t ret; - char filename[1024]; - int mpi_size, mpi_rank; - MPI_Comm comm = MPI_COMM_WORLD; - MPI_Info info = MPI_INFO_NULL; - hsize_t start[RANK]; - hsize_t count[RANK]; - hsize_t stride[RANK]; - hsize_t block[RANK]; - DATATYPE *data_array = NULL; /* data buffer */ - - MPI_Init(&argc, &argv); - MPI_Comm_size(comm, &mpi_size); - MPI_Comm_rank(comm, &mpi_rank); - - if(MAINPROCESS) - TESTING("proper shutdown of HDF5 library"); - - /* Set up file access property list with parallel I/O access */ - fapl = H5Pcreate(H5P_FILE_ACCESS); - VRFY((fapl >= 0), "H5Pcreate succeeded"); - ret = H5Pset_fapl_mpio(fapl, comm, info); - VRFY((ret >= 0), ""); - - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); - VRFY((file_id >= 0), "H5Fcreate succeeded"); - grp_id = H5Gcreate(file_id, "Group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - VRFY((grp_id >= 0), "H5Gcreate succeeded"); - - dims[0] = ROW_FACTOR*mpi_size; - dims[1] = COL_FACTOR*mpi_size; - sid = H5Screate_simple (RANK, dims, NULL); - VRFY((sid >= 0), "H5Screate_simple succeeded"); - - dset_id = H5Dcreate2(grp_id, "Dataset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - VRFY((dset_id >= 0), "H5Dcreate succeeded"); - - /* allocate memory for data buffer */ - data_array = (DATATYPE *)HDmalloc(dims[0]*dims[1]*sizeof(DATATYPE)); - VRFY((data_array != NULL), "data_array HDmalloc succeeded"); - - /* Each process takes a slabs of rows. */ - block[0] = dims[0]/mpi_size; - block[1] = dims[1]; - stride[0] = block[0]; - stride[1] = block[1]; - count[0] = 1; - count[1] = 1; - start[0] = mpi_rank*block[0]; - start[1] = 0; - - /* put some trivial data in the data_array */ - for(i=0 ; i= 0), "H5Sset_hyperslab succeeded"); - - /* create a memory dataspace independently */ - mem_dataspace = H5Screate_simple (RANK, block, NULL); - VRFY((mem_dataspace >= 0), ""); - - /* write data independently */ - ret = H5Dwrite(dset_id, H5T_NATIVE_INT, mem_dataspace, sid, - H5P_DEFAULT, data_array); - VRFY((ret >= 0), "H5Dwrite succeeded"); - - /* release data buffers */ - if(data_array) - HDfree(data_array); - - MPI_Finalize(); - - nerrors += GetTestNumErrs(); - - if(MAINPROCESS) { - if(0 == nerrors) - PASSED() - else - H5_FAILED() - } - - return (nerrors!=0); -} diff --git a/testpar/t_shapesame.c b/testpar/t_shapesame.c index 9088470..d167687 100644 --- a/testpar/t_shapesame.c +++ b/testpar/t_shapesame.c @@ -5142,7 +5142,10 @@ int main(int argc, char **argv) printf("Shape Same tests finished with no errors\n"); printf("===================================\n"); } + /* close HDF5 library */ + H5close(); + /* MPI_Finalize must be called AFTER H5close which may use MPI calls */ MPI_Finalize(); /* cannot just return (nerrors) because exit code is limited to 1byte */ diff --git a/testpar/testphdf5.h b/testpar/testphdf5.h index 8338ce2..3597b17 100644 --- a/testpar/testphdf5.h +++ b/testpar/testphdf5.h @@ -301,5 +301,4 @@ int dataset_vrfy(hsize_t start[], hsize_t count[], hsize_t stride[], hsize_t block[], DATATYPE *dataset, DATATYPE *original); void point_set (hsize_t start[], hsize_t count[], hsize_t stride[], hsize_t block[], size_t num_points, hsize_t coords[], int order); - #endif /* PHDF5TEST_H */ diff --git a/tools/perform/perf.c b/tools/perform/perf.c index 1bd33b6..58db6cc 100644 --- a/tools/perform/perf.c +++ b/tools/perform/perf.c @@ -391,6 +391,9 @@ die_jar_jar_die: free(tmp); if (opt_correct) free(tmp2); + /* close HDF5 library */ + H5close(); + MPI_Finalize(); return(0); -- cgit v0.12