From 8961016fe70e2a05028682220f3ef0e83d503e09 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Tue, 12 Mar 2024 17:35:41 -0700 Subject: Update CMake comment about _POSIX_C_SOURCE (#4124) Was missng the 2008 pread/write info --- config/cmake/ConfigureChecks.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index a004c76..7981b64 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -224,7 +224,9 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") # functionality so clock_gettime and CLOCK_MONOTONIC are defined # correctly. This was later updated to 200112L so that # posix_memalign() is visible for the direct VFD code on Linux - # systems. + # systems. Even later, this was changed to 200809L to support + # pread/pwrite in VFDs. + # # POSIX feature information can be found in the gcc manual at: # http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html set (HDF_EXTRA_C_FLAGS -D_POSIX_C_SOURCE=200809L) -- cgit v0.12 From ca4db46c5abe5b3432b3e7255bbf39265fd9e042 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Wed, 13 Mar 2024 10:02:47 -0500 Subject: Deprecate bin/cmakehdf5 (#4127) * Deprecate bin/cmakehdf5 * Add reference text --- bin/cmakehdf5 | 1 + release_docs/RELEASE.txt | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/bin/cmakehdf5 b/bin/cmakehdf5 index 6d31b34..bdd724f 100755 --- a/bin/cmakehdf5 +++ b/bin/cmakehdf5 @@ -1,4 +1,5 @@ #!/bin/sh +echo "Deprecated: This will be removed in a future release" # Build and Test HDF5 using cmake. # Copyright: The HDF Group, 2012-14 diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 4383c39..8b835e2 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,6 +47,13 @@ New Features Configuration: ------------- + - Deprecate bin/cmakehdf5 script + + With the improvements made in CMake since version 3.23 and the addition + of CMake preset files, this script is no longer necessary. + + See INSTALL_CMake.txt file, Section X: Using CMakePresets.json for compiling + - Overhauled LFS support checks In 2024, we can assume that Large File Support (LFS) exists on all -- cgit v0.12 From cfb1c798b9bbf4dbe875cfc63babfd677d7cddde Mon Sep 17 00:00:00 2001 From: Jouke Witteveen Date: Wed, 13 Mar 2024 16:03:21 +0100 Subject: Don't set the rpath when linking statically (#4125) --- bin/h5cc.in | 42 +++++++++++++++++++++--------------------- c++/src/h5c++.in | 42 +++++++++++++++++++++--------------------- fortran/src/h5fc.in | 28 ++++++++++++++-------------- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/bin/h5cc.in b/bin/h5cc.in index e4d4368..bb290df 100644 --- a/bin/h5cc.in +++ b/bin/h5cc.in @@ -327,27 +327,27 @@ if test "x$do_link" = "xyes"; then fi link_args="$link_args -L${libdir}" - case "$kind" in - gcc|linux*) - # MacOS X doesn't support the "-Wl,-rpath -Wl," style of linker flags. - # It appears to want none of them specified. - case "$host_os" in - darwin*) flag="" ;; - *) flag="-Wl,-rpath -Wl," ;; - esac - ;; - hpux*) flag="-Wl,+b -Wl," ;; - freebsd*|solaris*) flag="-R" ;; - rs6000*|aix*) flag="-L" ;; - sgi) flag="-rpath " ;; - *) flag="" ;; - esac - - if test -n "$flag"; then - shared_link="${flag}${libdir}" - fi - - if test "x$USE_SHARED_LIB" != "xyes"; then + if test "x$USE_SHARED_LIB" = "xyes"; then + case "$kind" in + gcc|linux*) + # MacOS X doesn't support the "-Wl,-rpath -Wl," style of linker flags. + # It appears to want none of them specified. + case "$host_os" in + darwin*) flag="" ;; + *) flag="-Wl,-rpath -Wl," ;; + esac + ;; + hpux*) flag="-Wl,+b -Wl," ;; + freebsd*|solaris*) flag="-R" ;; + rs6000*|aix*) flag="-L" ;; + sgi) flag="-rpath " ;; + *) flag="" ;; + esac + + if test -n "$flag"; then + shared_link="${flag}${libdir}" + fi + else # The "-lhdf5" & "-lhdf5_hl" flags are in here already...This is a static # compile though, so change it to the static version (.a) of the library. new_libraries="" diff --git a/c++/src/h5c++.in b/c++/src/h5c++.in index e666ba9..a5c584c 100644 --- a/c++/src/h5c++.in +++ b/c++/src/h5c++.in @@ -314,27 +314,27 @@ if test "x$do_link" = "xyes"; then fi link_args="$link_args -L${libdir}" - case "$kind" in - gcc|linux*) - # MacOS X doesn't support the "-Wl,-rpath -Wl," style of linker flags. - # It appears to want none of them specified. - case "$host_os" in - darwin*) flag="" ;; - *) flag="-Wl,-rpath -Wl," ;; - esac - ;; - hpux*) flag="-Wl,+b -Wl," ;; - freebsd*|solaris*) flag="-R" ;; - rs6000*|aix*) flag="-L" ;; - sgi) flag="-rpath " ;; - *) flag="" ;; - esac - - if test -n "$flag"; then - shared_link="${flag}${libdir}" - fi - - if test "x$USE_SHARED_LIB" != "xyes"; then + if test "x$USE_SHARED_LIB" = "xyes"; then + case "$kind" in + gcc|linux*) + # MacOS X doesn't support the "-Wl,-rpath -Wl," style of linker flags. + # It appears to want none of them specified. + case "$host_os" in + darwin*) flag="" ;; + *) flag="-Wl,-rpath -Wl," ;; + esac + ;; + hpux*) flag="-Wl,+b -Wl," ;; + freebsd*|solaris*) flag="-R" ;; + rs6000*|aix*) flag="-L" ;; + sgi) flag="-rpath " ;; + *) flag="" ;; + esac + + if test -n "$flag"; then + shared_link="${flag}${libdir}" + fi + else # The "-lhdf5" & "-lhdf5_hl" flags are in here already...This is a static # compile though, so change it to the static version (.a) of the library. new_libraries="" diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in index 6d7329a..f92c523 100644 --- a/fortran/src/h5fc.in +++ b/fortran/src/h5fc.in @@ -308,20 +308,20 @@ if test "x$do_link" = "xyes"; then fi link_args="$link_args -L${libdir}" - case "$host_os" in - linux*) flag="@fortran_linux_linker_option@-rpath -Wl," ;; - hpux*) flag="-Wl,+b -Wl," ;; - freebsd*|solaris*) flag="-R" ;; - rs6000*|aix*) flag="-L" ;; - sgi) flag="-rpath " ;; - *) flag="" ;; - esac - - if test -n "$flag"; then - shared_link="${flag}${libdir}" - fi - - if test "x$USE_SHARED_LIB" != "xyes"; then + if test "x$USE_SHARED_LIB" = "xyes"; then + case "$host_os" in + linux*) flag="@fortran_linux_linker_option@-rpath -Wl," ;; + hpux*) flag="-Wl,+b -Wl," ;; + freebsd*|solaris*) flag="-R" ;; + rs6000*|aix*) flag="-L" ;; + sgi) flag="-rpath " ;; + *) flag="" ;; + esac + + if test -n "$flag"; then + shared_link="${flag}${libdir}" + fi + else # The hdf5 library "-l" flags are in here already. This is a static # compile though, so change it to the static versions (.a) of the libraries. new_libraries="" -- cgit v0.12 From c1f761bcbd2e5b9f13aaf302d9ee75fe8ba98258 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Wed, 13 Mar 2024 10:10:38 -0500 Subject: Remove invalid compile flag (#4129) --- config/cmake/LIBAEC/CMakeLists.txt | 2 +- config/cmake/ZLIB/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/cmake/LIBAEC/CMakeLists.txt b/config/cmake/LIBAEC/CMakeLists.txt index 379902b..11f7941 100644 --- a/config/cmake/LIBAEC/CMakeLists.txt +++ b/config/cmake/LIBAEC/CMakeLists.txt @@ -127,7 +127,7 @@ endif () # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- if (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") - set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -Wno-deprecated-non-prototype") + set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}") endif () #----------------------------------------------------------------------------- diff --git a/config/cmake/ZLIB/CMakeLists.txt b/config/cmake/ZLIB/CMakeLists.txt index 09f67b0..529f144 100644 --- a/config/cmake/ZLIB/CMakeLists.txt +++ b/config/cmake/ZLIB/CMakeLists.txt @@ -132,7 +132,7 @@ if (CMAKE_COMPILER_IS_GNUCC) set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -Wno-strict-prototypes") endif () if (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") - set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -Wno-deprecated-non-prototype -Wno-implicit-function-declaration") + set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -Wno-implicit-function-declaration") endif () #----------------------------------------------------------------------------- -- cgit v0.12 From c3714b9f15730956c8a592f163f77f5d61ce428f Mon Sep 17 00:00:00 2001 From: mattjala <124107509+mattjala@users.noreply.github.com> Date: Wed, 13 Mar 2024 14:55:51 -0500 Subject: Fix segfault in vlen io API test (#4130) --- test/API/H5_api_dataset_test.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/test/API/H5_api_dataset_test.c b/test/API/H5_api_dataset_test.c index abe1fc8..0f78dff 100644 --- a/test/API/H5_api_dataset_test.c +++ b/test/API/H5_api_dataset_test.c @@ -9853,6 +9853,9 @@ test_dataset_vlen_io(void) hvl_t wbuf[DATASET_VLEN_IO_DSET_DIMS]; hvl_t rbuf[DATASET_VLEN_IO_DSET_DIMS]; + memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS); + memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS); + TESTING_MULTIPART( "verification of dataset data with H5Dwrite and then H5D read with variable length sequence data"); @@ -10001,7 +10004,7 @@ test_dataset_vlen_io(void) if ((file_id = H5Fopen(H5_api_test_filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) PART_TEST_ERROR(rw_all_int); - if ((container_group = H5Gopen(file_id, DATASET_TEST_GROUP_NAME, H5P_DEFAULT)) < 0) + if ((container_group = H5Gopen2(file_id, DATASET_TEST_GROUP_NAME, H5P_DEFAULT)) < 0) PART_TEST_ERROR(rw_all_int); if ((dset_int = H5Dopen2(container_group, DATASET_VLEN_IO_DSET_NAME "_int", H5P_DEFAULT)) < 0) @@ -10218,6 +10221,7 @@ test_dataset_vlen_io(void) PART_BEGIN(rw_point_selection) { + TESTING_2("write with point selection"); /* Select even-indexed points */ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS / 2; i++) point_coords[i] = i * 2; @@ -10315,6 +10319,7 @@ test_dataset_vlen_io(void) PART_BEGIN(rw_hyperslab_selection) { + TESTING_2("write with hyperslab selection"); /* Select hyperslab of every 3rd element */ const hsize_t start[1] = {0}; const hsize_t stride[1] = {3}; @@ -10422,6 +10427,7 @@ test_dataset_vlen_io(void) TEST_ERROR; if (H5Sclose(space_id) < 0) TEST_ERROR; + /* In case of memory allocation error, not all hvl_t buffers in array may be allocated. * Free one-by-one */ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) { @@ -10453,9 +10459,12 @@ error: { H5Fclose(file_id); H5Gclose(container_group); - H5Dclose(dset_int); - H5Dclose(dset_float); - H5Dclose(dset_string); + if (dset_int != H5I_INVALID_HID) + H5Dclose(dset_int); + if (dset_float != H5I_INVALID_HID) + H5Dclose(dset_float); + if (dset_string != H5I_INVALID_HID) + H5Dclose(dset_string); H5Sclose(space_id); for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) { if (wbuf[i].p) { -- cgit v0.12 From 782c0e5a8ce1970cdcff14e3fac5175aca89cf57 Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:15:16 -0400 Subject: Update URLs in RELEASE.txt (#4132) --- release_docs/RELEASE.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 8b835e2..4c6367e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -13,9 +13,9 @@ HDF5 source. Note that documentation in the links below will be updated at the time of each final release. -Links to HDF5 documentation can be found on The HDF5 web page: +Links to HDF5 documentation can be found on: - https://portal.hdfgroup.org/display/HDF5/HDF5 + https://portal.hdfgroup.org/documentation/ The official HDF5 releases can be obtained from: -- cgit v0.12 From 112f445019484597a0add53e78970323713213fb Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Thu, 14 Mar 2024 09:16:53 -0500 Subject: Add cygwin CI and update yaml files for consistency and accuracy (#4131) * Add cygwin CI * add cygwin packages * Correct option names * Cleanup yaml file and synch look and feel * Synch CI look and feel and correct path issues * Upgrade oneapi version * pwsh needs env: for vars * No continuation char for pwsh * restore correct pwsh step * Run subset of tests for cygwin workflow * Remove space chars in regex * restore full tests --- .github/workflows/aocc-auto.yml | 102 ++++++++++++++++++++++++++++++++ .github/workflows/aocc-cmake.yml | 92 +++++++++++++++++++++++++++++ .github/workflows/aocc-ompi-auto.yml | 104 --------------------------------- .github/workflows/aocc-ompi-cmake.yml | 92 ----------------------------- .github/workflows/autotools.yml | 10 +++- .github/workflows/cmake.yml | 11 +++- .github/workflows/cygwin-auto.yml | 62 ++++++++++++++++++++ .github/workflows/cygwin-cmake.yml | 63 ++++++++++++++++++++ .github/workflows/intel-auto.yml | 83 ++++++++++++-------------- .github/workflows/intel-cmake.yml | 56 +++++++++--------- .github/workflows/main-auto.yml | 4 -- .github/workflows/main-cmake.yml | 23 +------- .github/workflows/main.yml | 6 ++ .github/workflows/mingw-cmake.yml | 91 +++++++++++++++++++++++++++++ .github/workflows/msys2-auto.yml | 66 +++++++++++++++++++++ .github/workflows/nvhpc-auto.yml | 17 +++--- .github/workflows/nvhpc-cmake.yml | 14 ++--- config/cmake/ConfigureChecks.cmake | 2 + config/cmake/scripts/CTestScript.cmake | 31 ---------- configure.ac | 4 ++ 20 files changed, 584 insertions(+), 349 deletions(-) create mode 100644 .github/workflows/aocc-auto.yml create mode 100644 .github/workflows/aocc-cmake.yml delete mode 100644 .github/workflows/aocc-ompi-auto.yml delete mode 100644 .github/workflows/aocc-ompi-cmake.yml create mode 100644 .github/workflows/cygwin-auto.yml create mode 100644 .github/workflows/cygwin-cmake.yml create mode 100644 .github/workflows/mingw-cmake.yml create mode 100644 .github/workflows/msys2-auto.yml diff --git a/.github/workflows/aocc-auto.yml b/.github/workflows/aocc-auto.yml new file mode 100644 index 0000000..740005d --- /dev/null +++ b/.github/workflows/aocc-auto.yml @@ -0,0 +1,102 @@ +name: hdf5 dev PAR autotools aocc ompi + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + +permissions: + contents: read + +jobs: + aocc_build_and_test: + name: "aocc ${{ inputs.build_mode }}" + runs-on: ubuntu-latest + steps: + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: Install Dependencies + shell: bash + run: | + sudo apt update + sudo apt install -y autoconf automake libtool libtool-bin libaec-dev + sudo apt install -y doxygen libncurses-dev libquadmath0 libstdc++6 libxml2 + sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2 + sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential + + - name: Install AOCC 4.1.0 + shell: bash + run: | + wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar + tar -xvf aocc-compiler-4.1.0.tar + cd aocc-compiler-4.1.0 + bash install.sh + source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh + which clang + which flang + clang -v + + - name: Cache OpenMPI 4.1.5 installation + id: cache-openmpi-4_1_5 + uses: actions/cache@v4 + with: + path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install + key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache + + - name: Install OpenMPI 4.1.5 + if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }} + run: | + export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib + wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz + tar zxvf openmpi-4.1.5.tar.gz + cd openmpi-4.1.5 + ./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install + make + make install + + - name: Autotools Configure + env: + NPROCS: 2 + run: | + export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib + export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib + export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH + sh ./autogen.sh + mkdir "${{ runner.workspace }}/build" + cd "${{ runner.workspace }}/build" + CC=mpicc $GITHUB_WORKSPACE/configure \ + --prefix=/tmp \ + --enable-build-mode=${{ inputs.build_mode }} \ + --enable-shared \ + --enable-parallel \ + LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib \ + -L/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib" + + - name: Autotools Build + shell: bash + env: + NPROCS: 2 + run: | + export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH + make -j3 + working-directory: ${{ runner.workspace }}/build + + - name: Autotools Run Tests + env: + NPROCS: 2 + run: | + export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH + make check -j + working-directory: ${{ runner.workspace }}/build + + - name: Autotools Install + env: + NPROCS: 2 + run: | + export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH + make install + working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/aocc-cmake.yml b/.github/workflows/aocc-cmake.yml new file mode 100644 index 0000000..f1195dd --- /dev/null +++ b/.github/workflows/aocc-cmake.yml @@ -0,0 +1,92 @@ +name: hdf5 dev PAR CMake aocc ompi + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + +permissions: + contents: read + +jobs: + aocc_build_and_test: + name: "aocc ${{ inputs.build_mode }}" + runs-on: ubuntu-latest + steps: + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: Install Dependencies + shell: bash + run: | + sudo apt update + sudo apt install -y libaec-dev ninja-build + sudo apt install -y doxygen libncurses-dev libquadmath0 libstdc++6 libxml2 + sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2 + sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential + + - name: Install AOCC 4.1.0 + shell: bash + run: | + wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar + tar -xvf aocc-compiler-4.1.0.tar + cd aocc-compiler-4.1.0 + bash install.sh + source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh + which clang + which flang + clang -v + + - name: Cache OpenMPI 4.1.5 installation + id: cache-openmpi-4_1_5 + uses: actions/cache@v4 + with: + path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install + key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache + + - name: Install OpenMPI 4.1.5 + if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }} + run: | + export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib + wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz + tar zxvf openmpi-4.1.5.tar.gz + cd openmpi-4.1.5 + ./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install + make + make install + + - name: CMake Configure + shell: bash + run: | + export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib + export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib + export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH + mkdir "${{ runner.workspace }}/build" + cd "${{ runner.workspace }}/build" + CC=mpicc cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \ + -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_PARALLEL:BOOL=ON \ + -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ + -DLIBAEC_USE_LOCALCONTENT=OFF \ + -DZLIB_USE_LOCALCONTENT=OFF \ + -DHDF5_BUILD_FORTRAN:BOOL=OFF \ + -DHDF5_BUILD_JAVA:BOOL=OFF \ + -DMPIEXEC_MAX_NUMPROCS:STRING="2" \ + $GITHUB_WORKSPACE + #cat src/libhdf5.settings + + - name: CMake Build + shell: bash + run: | + cmake --build . --parallel 3 --config ${{ inputs.build_mode }} + working-directory: ${{ runner.workspace }}/build + + - name: CMake Run Tests + shell: bash + run: | + ctest . --parallel 2 -C ${{ inputs.build_mode }} -V + working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/aocc-ompi-auto.yml b/.github/workflows/aocc-ompi-auto.yml deleted file mode 100644 index be67672..0000000 --- a/.github/workflows/aocc-ompi-auto.yml +++ /dev/null @@ -1,104 +0,0 @@ -name: hdf5 dev PAR autotools aocc ompi - -on: - workflow_call: - inputs: - build_mode: - description: "release vs. debug build" - required: true - type: string - -permissions: - contents: read - -jobs: - aocc_build_and_test: - name: "aocc ${{ inputs.build_mode }}" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - - name: Install Linux dependencies - shell: bash - run: | - sudo apt update - sudo apt install -y autoconf automake libtool libtool-bin libaec-dev - sudo apt install -y doxygen libncurses-dev libquadmath0 libstdc++6 libxml2 - sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2 - sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential - - - name: Install AOCC 4.1.0 - run: | - wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar - tar -xvf aocc-compiler-4.1.0.tar - cd aocc-compiler-4.1.0 - bash install.sh - source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh - which clang - which flang - clang -v - - - name: Cache OpenMPI 4.1.5 installation - id: cache-openmpi-4_1_5 - uses: actions/cache@v4 - with: - path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install - key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache - - - name: Install OpenMPI 4.1.5 - if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }} - run: | - export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib - wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz - tar zxvf openmpi-4.1.5.tar.gz - cd openmpi-4.1.5 - ./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install - make - make install - - - name: Autotools Configure - env: - NPROCS: 2 - run: | - export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib - export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib - export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH - sh ./autogen.sh - mkdir "${{ runner.workspace }}/build" - cd "${{ runner.workspace }}/build" - CC=mpicc $GITHUB_WORKSPACE/configure \ - --prefix=/tmp \ - --enable-build-mode=${{ inputs.build_mode }} \ - --enable-shared \ - --enable-parallel \ - LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib \ - -L/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib" - - # BUILD - - name: Autotools Build - shell: bash - env: - NPROCS: 2 - run: | - export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH - make -j3 - working-directory: ${{ runner.workspace }}/build - - # RUN TESTS - # NORMAL - - name: Autotools Run Tests - env: - NPROCS: 2 - run: | - export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH - make check -j - working-directory: ${{ runner.workspace }}/build - - # INSTALL (note that this runs even when we don't run the tests) - - name: Autotools Install - env: - NPROCS: 2 - run: | - export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH - make install - working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/aocc-ompi-cmake.yml b/.github/workflows/aocc-ompi-cmake.yml deleted file mode 100644 index f2a834d..0000000 --- a/.github/workflows/aocc-ompi-cmake.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: hdf5 dev PAR CMake aocc ompi - -on: - workflow_call: - inputs: - build_mode: - description: "release vs. debug build" - required: true - type: string - -permissions: - contents: read - -jobs: - aocc_build_and_test: - name: "aocc ${{ inputs.build_mode }}" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - - name: Install Linux dependencies - shell: bash - run: | - sudo apt update - sudo apt install -y libaec-dev ninja-build - sudo apt install -y doxygen libncurses-dev libquadmath0 libstdc++6 libxml2 - sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2 - sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential - - - name: Install AOCC 4.1.0 - run: | - wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar - tar -xvf aocc-compiler-4.1.0.tar - cd aocc-compiler-4.1.0 - bash install.sh - source /home/runner/work/hdf5/hdf5/setenv_AOCC.sh - which clang - which flang - clang -v - - - name: Cache OpenMPI 4.1.5 installation - id: cache-openmpi-4_1_5 - uses: actions/cache@v4 - with: - path: /home/runner/work/hdf5/hdf5/openmpi-4.1.5-install - key: ${{ runner.os }}-${{ runner.arch }}-openmpi-4_1_5-cache - - - name: Install OpenMPI 4.1.5 - if: ${{ steps.cache-openmpi-4_1_5.outputs.cache-hit != 'true' }} - run: | - export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/usr/local/lib - wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz - tar zxvf openmpi-4.1.5.tar.gz - cd openmpi-4.1.5 - ./configure CC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/clang FC=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/bin/flang --prefix=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install - make - make install - - - name: CMake Configure with aocc - shell: bash - run: | - export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib - export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib - export PATH=/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/bin:/usr/local/bin:$PATH - mkdir "${{ runner.workspace }}/build" - cd "${{ runner.workspace }}/build" - CC=mpicc cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \ - -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ - -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ - -DHDF5_ENABLE_PARALLEL:BOOL=ON \ - -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ - -DLIBAEC_USE_LOCALCONTENT=OFF \ - -DZLIB_USE_LOCALCONTENT=OFF \ - -DHDF5_BUILD_FORTRAN:BOOL=OFF \ - -DHDF5_BUILD_JAVA:BOOL=OFF \ - -DMPIEXEC_MAX_NUMPROCS:STRING="2" \ - $GITHUB_WORKSPACE - #cat src/libhdf5.settings - - # BUILD - - name: CMake Build - shell: bash - run: | - cmake --build . --parallel 3 --config ${{ inputs.build_mode }} - working-directory: ${{ runner.workspace }}/build - - # RUN TESTS - - name: CMake Run Tests - shell: bash - run: | - ctest . --parallel 2 -C ${{ inputs.build_mode }} -V - working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/autotools.yml b/.github/workflows/autotools.yml index b31dbf9..b75e75d 100644 --- a/.github/workflows/autotools.yml +++ b/.github/workflows/autotools.yml @@ -73,6 +73,14 @@ jobs: call-release-auto-aocc: name: "Autotools aocc Workflows" - uses: ./.github/workflows/aocc-ompi-auto.yml + uses: ./.github/workflows/aocc-auto.yml with: build_mode: "production" + + call-release-auto-cygwin: + name: "Autotools Cygwin Workflows" + uses: ./.github/workflows/cygwin-auto.yml + with: + build_mode: "production" + + \ No newline at end of file diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index b7f8a2b..c0077ce 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -75,7 +75,14 @@ jobs: build_mode: "Release" call-release-cmake-aocc: - name: "CMake nvhpc Workflows" - uses: ./.github/workflows/aocc-ompi-cmake.yml + name: "CMake aocc Workflows" + uses: ./.github/workflows/aocc-cmake.yml + with: + build_mode: "Release" + + call-release-cmake-cygwin: + name: "CMake Cygwin Workflows" + uses: ./.github/workflows/cygwin-cmake.yml with: build_mode: "Release" + \ No newline at end of file diff --git a/.github/workflows/cygwin-auto.yml b/.github/workflows/cygwin-auto.yml new file mode 100644 index 0000000..13e08eb --- /dev/null +++ b/.github/workflows/cygwin-auto.yml @@ -0,0 +1,62 @@ +name: hdf5 dev autotools cygwin + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + +permissions: + contents: read + +jobs: + cygwin_build_and_test: + name: "cygwin ${{ inputs.build_mode }}" + runs-on: windows-latest + steps: + - name: Set git to use LF + run: | + git config --global core.autocrlf input + + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: Install Cygwin + uses: cygwin/cygwin-install-action@master + with: + packages: autoconf automake make gcc-fortran libtool zlib-devel m4 flex bison perl + + - name: Autotools Configure + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + sh ./autogen.sh + mkdir build + cd build + ../configure \ + --enable-build-mode=${{ inputs.build_mode }} \ + --enable-shared \ + --enable-fortran + + - name: Autotools Build + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + cd build + make -j3 + + - name: Autotools Run Tests + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + cd build +# make check -j ---- cache test fails + + - name: Autotools Install + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + cd build + make install diff --git a/.github/workflows/cygwin-cmake.yml b/.github/workflows/cygwin-cmake.yml new file mode 100644 index 0000000..73fb538 --- /dev/null +++ b/.github/workflows/cygwin-cmake.yml @@ -0,0 +1,63 @@ +name: hdf5 dev CMake cygwin + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + +permissions: + contents: read + +jobs: + cygwin_build_and_test: + name: "cygwin-${{ inputs.build_mode }}" + runs-on: windows-latest + steps: + - name: Set git to use LF + run: | + git config --global core.autocrlf input + + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: Install Cygwin + uses: cygwin/cygwin-install-action@master + with: + packages: cmake gcc-fortran make ninja zlib-devel flex bison perl + + - name: CMake Configure + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + mkdir build + cd build + cmake -C ../config/cmake/cacheinit.cmake \ + -G Ninja \ + --log-level=VERBOSE \ + -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DBUILD_SHARED_LIBS:BOOL=OFF \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ + -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ + -DLIBAEC_USE_LOCALCONTENT=OFF \ + -DZLIB_USE_LOCALCONTENT=OFF \ + -DHDF5_BUILD_FORTRAN:BOOL=ON \ + -DHDF5_BUILD_JAVA:BOOL=OFF \ + .. + + - name: CMake Build + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + cd build + cmake --build . --parallel 3 --config ${{ inputs.build_mode }} + + - name: CMake Run Tests + shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' + run: | + export PATH=/usr/bin:$PATH + cd build + ctest . --parallel 2 -C ${{ inputs.build_mode }} -V +# ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -R "FORTRAN|H5TEST" diff --git a/.github/workflows/intel-auto.yml b/.github/workflows/intel-auto.yml index 7bd457c..8f767e7 100644 --- a/.github/workflows/intel-auto.yml +++ b/.github/workflows/intel-auto.yml @@ -1,4 +1,4 @@ -name: hdf5 dev autotools icx CI +name: hdf5 dev autotools icx on: workflow_call: @@ -12,49 +12,33 @@ permissions: contents: read jobs: - Intel_build_and_test: - name: "Intel ${{ inputs.build_mode }}" + intel_oneapi_linux: + name: "linux-oneapi ${{ inputs.build_mode }}" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - name: Get Sources + uses: actions/checkout@v4.1.1 - name: Install Dependencies + shell: bash run: | sudo apt-get update sudo apt-get install autoconf automake libtool libtool-bin libaec-dev - - name: Add oneAPI to apt - shell: bash - run: | - cd /tmp - wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main" - - - name: Install oneAPI dpcpp and fortran compiler - shell: bash - run: | - sudo apt update - sudo apt install -y intel-oneapi-compiler-dpcpp-cpp - sudo apt install -y intel-oneapi-compiler-fortran - sudo apt install -y intel-oneapi-mpi-devel - sudo apt-get install doxygen graphviz - sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev - echo "CC=icx" >> $GITHUB_ENV - echo "CXX=icpx" >> $GITHUB_ENV - echo "FC=ifx" >> $GITHUB_ENV - - - name: Install oneAPI MKL library - shell: bash - run: | - sudo apt install -y intel-oneapi-mkl-devel + - name: Install oneAPI (Linux) + uses: fortran-lang/setup-fortran@v1 + id: setup-fortran + with: + compiler: intel + version: '2024.0' - name: Autotools Configure shell: bash + env: + FC: ${{ steps.setup-fortran.outputs.fc }} + CC: ${{ steps.setup-fortran.outputs.cc }} + CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | - source /opt/intel/oneapi/setvars.sh - export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin sh ./autogen.sh mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" @@ -63,37 +47,42 @@ jobs: --enable-shared \ --disable-fortran - # BUILD - name: Autotools Build + shell: bash + env: + FC: ${{ steps.setup-fortran.outputs.fc }} + CC: ${{ steps.setup-fortran.outputs.cc }} + CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | - source /opt/intel/oneapi/setvars.sh - export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin make -j3 working-directory: ${{ runner.workspace }}/build - # RUN TESTS - # NORMAL - name: Autotools Run Tests + shell: bash + env: + FC: ${{ steps.setup-fortran.outputs.fc }} + CC: ${{ steps.setup-fortran.outputs.cc }} + CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | - source /opt/intel/oneapi/setvars.sh - export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin - export SYCL_DEVICE_FILTER=opencl.cpu make check -j2 working-directory: ${{ runner.workspace }}/build - # INSTALL (note that this runs even when we don't run the tests) - name: Autotools Install + shell: bash + env: + FC: ${{ steps.setup-fortran.outputs.fc }} + CC: ${{ steps.setup-fortran.outputs.cc }} + CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | - source /opt/intel/oneapi/setvars.sh - export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin - export SYCL_DEVICE_FILTER=opencl.cpu make install working-directory: ${{ runner.workspace }}/build - name: Autotools Verify Install + shell: bash + env: + FC: ${{ steps.setup-fortran.outputs.fc }} + CC: ${{ steps.setup-fortran.outputs.cc }} + CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | - source /opt/intel/oneapi/setvars.sh - export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin - export SYCL_DEVICE_FILTER=opencl.cpu make check-install working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/intel-cmake.yml b/.github/workflows/intel-cmake.yml index 47f16a5..a470486 100644 --- a/.github/workflows/intel-cmake.yml +++ b/.github/workflows/intel-cmake.yml @@ -1,6 +1,5 @@ -name: hdf5 dev CMake icx CI +name: hdf5 dev CMake icx -# Controls when the action will run. Triggers the workflow on a call on: workflow_call: inputs: @@ -13,30 +12,28 @@ permissions: contents: read jobs: - # Linux (Ubuntu) w/ gcc + CMake - # - Intel_oneapi_linux: - name: "ubuntu-oneapi ${{ inputs.build_mode }}" + intel_oneapi_linux: + name: "linux-oneapi ${{ inputs.build_mode }}" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - name: Get Sources (Linux) + uses: actions/checkout@v4.1.1 - # Only CMake need ninja-build, but we just install it unilaterally - # libssl, etc. are needed for the ros3 VFD - - name: Install Linux Dependencies + - name: Install Dependencies (Linux) + shell: bash run: | sudo apt update sudo apt-get install ninja-build doxygen graphviz sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev - - name: add oneAPI to env + - name: Install oneAPI (Linux) uses: fortran-lang/setup-fortran@v1 id: setup-fortran with: compiler: intel - version: '2023.2' + version: '2024.0' - - name: CMake Configure with oneapi + - name: CMake Configure (Linux) shell: bash env: FC: ${{ steps.setup-fortran.outputs.fc }} @@ -45,14 +42,15 @@ jobs: run: | mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" - cmake -C ${{ github.workspace }}/config/cmake/cacheinit.cmake -G Ninja \ - -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ - -DLIBAEC_USE_LOCALCONTENT=OFF \ - -DZLIB_USE_LOCALCONTENT=OFF \ - $GITHUB_WORKSPACE + cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \ + -G Ninja \ + --log-level=VERBOSE \ + -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DLIBAEC_USE_LOCALCONTENT=OFF \ + -DZLIB_USE_LOCALCONTENT=OFF \ + $GITHUB_WORKSPACE - # BUILD - - name: CMake Build + - name: CMake Build (Linux) shell: bash env: FC: ${{ steps.setup-fortran.outputs.fc }} @@ -62,8 +60,7 @@ jobs: cmake --build . --parallel 3 --config ${{ inputs.build_mode }} working-directory: ${{ runner.workspace }}/build - # RUN TESTS - - name: CMake Run Tests + - name: CMake Run Tests (Linux) shell: bash env: FC: ${{ steps.setup-fortran.outputs.fc }} @@ -77,19 +74,20 @@ jobs: name: "windows-oneapi ${{ inputs.build_mode }}" runs-on: windows-latest steps: - - uses: actions/checkout@v4.1.1 + - name: Get Sources (Windows) + uses: actions/checkout@v4.1.1 - name: Install Dependencies (Windows) run: choco install ninja - - name: add oneAPI to env + - name: install oneAPI (Windows) uses: fortran-lang/setup-fortran@v1 id: setup-fortran with: compiler: intel - version: '2023.2' + version: '2024.0' - - name: CMake Configure with oneapi + - name: CMake Configure (Windows) shell: pwsh env: FC: ${{ steps.setup-fortran.outputs.fc }} @@ -100,8 +98,7 @@ jobs: Set-Location -Path "${{ runner.workspace }}\\build" cmake -C ${{ github.workspace }}/config/cmake/cacheinit.cmake -G Ninja -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} -DHDF5_BUILD_FORTRAN=ON -DLIBAEC_USE_LOCALCONTENT=OFF -DZLIB_USE_LOCALCONTENT=OFF ${{ github.workspace }} - # BUILD - - name: CMake Build + - name: CMake Build (Windows) shell: pwsh env: FC: ${{ steps.setup-fortran.outputs.fc }} @@ -111,8 +108,7 @@ jobs: cmake --build . --parallel 3 --config ${{ inputs.build_mode }} working-directory: ${{ runner.workspace }}/build - # RUN TESTS - - name: CMake Run Tests + - name: CMake Run Tests (Windows) shell: pwsh env: FC: ${{ steps.setup-fortran.outputs.fc }} diff --git a/.github/workflows/main-auto.yml b/.github/workflows/main-auto.yml index 51ddfdb..cab026e 100644 --- a/.github/workflows/main-auto.yml +++ b/.github/workflows/main-auto.yml @@ -51,7 +51,6 @@ jobs: - name: Get Sources uses: actions/checkout@v4.1.1 - # AUTOTOOLS CONFIGURE - name: Autotools Configure run: | sh ./autogen.sh @@ -92,13 +91,10 @@ jobs: shell: bash if: ${{ inputs.thread_safety == 'enable' }} - # BUILD - name: Autotools Build run: make -j3 working-directory: ${{ runner.workspace }}/build - # RUN TESTS - # NORMAL - name: Autotools Run Tests run: make check -j2 working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml index ec93d0d..2b02765 100644 --- a/.github/workflows/main-cmake.yml +++ b/.github/workflows/main-cmake.yml @@ -107,8 +107,6 @@ jobs: generator: "-G Ninja" run_tests: true - - # Sets the job's name from the properties name: "${{ matrix.name }}-${{ inputs.build_mode }}-${{ inputs.thread_safety }}" @@ -120,18 +118,11 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: - - # - # SETUP - # - #Useful for debugging - name: Dump matrix context run: echo '${{ toJSON(matrix) }}' - # Only CMake need ninja-build, but we just install it unilaterally - # libssl, etc. are needed for the ros3 VFD - - name: Install Linux Dependencies + - name: Install CMake Dependencies (Linux) run: | sudo apt update sudo apt-get install ninja-build graphviz @@ -171,13 +162,13 @@ jobs: # # CMAKE CONFIGURE # - - name: CMake Configure run: | mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \ ${{ matrix.generator }} \ + --log-level=VERBOSE \ -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ -DBUILD_SHARED_LIBS=ON \ -DHDF5_ENABLE_ALL_WARNINGS=ON \ @@ -198,7 +189,6 @@ jobs: shell: bash if: ${{ inputs.thread_safety != 'TS' }} - - name: CMake Configure (Thread-Safe) run: | mkdir "${{ runner.workspace }}/build" @@ -229,7 +219,6 @@ jobs: # # BUILD # - - name: CMake Build run: cmake --build . --parallel 3 --config ${{ inputs.build_mode }} working-directory: ${{ runner.workspace }}/build @@ -237,25 +226,17 @@ jobs: # # RUN TESTS # - - # NORMAL - - name: CMake Run Tests run: ctest . --parallel 2 -C ${{ inputs.build_mode }} -V working-directory: ${{ runner.workspace }}/build if: ${{ matrix.run_tests && (inputs.thread_safety != 'TS') }} # THREAD-SAFE - - name: CMake Run Thread-Safe Tests run: ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -R ttsafe working-directory: ${{ runner.workspace }}/build if: ${{ matrix.run_tests && (inputs.thread_safety == 'TS') }} - # - # INSTALL (note that this runs even when we don't run the tests) - # - - name: CMake Run Package run: cpack -C ${{ inputs.build_mode }} -V working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3f878b1..845fc68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,3 +37,9 @@ jobs: uses: ./.github/workflows/cmake.yml if: "!contains(github.event.head_commit.message, 'skip-ci')" +# workflow-msys2-autotools: +# name: "CMake msys2 Workflows" +# uses: ./.github/workflows/msys2-auto.yml +# with: +# build_mode: "production" +# build_option: "--enable-production" diff --git a/.github/workflows/mingw-cmake.yml b/.github/workflows/mingw-cmake.yml new file mode 100644 index 0000000..4761318 --- /dev/null +++ b/.github/workflows/mingw-cmake.yml @@ -0,0 +1,91 @@ +name: hdf5 dev CMake MinGW + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + shared: + description: "shared true/false" + required: true + type: string + netcdf: + description: "netcdf true/false" + required: true + type: string + +permissions: + contents: read + +jobs: + mingw_build_and_test: + name: "mingw-${{ inputs.build_mode }}-NC=${{ inputs.netcdf }}" + if: "!contains(github.event.head_commit.message, 'skip-ci')" + runs-on: ubuntu-latest + steps: + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: Install Dependencies + shell: bash + run: | + sudo apt update + sudo apt-get install -y ninja-build libtirpc-dev graphviz + + - name: Install MinGW + uses: egor-tensin/setup-mingw@v2 + with: + platform: x64 + + - name: Install Doxygen + uses: ssciwr/doxygen-install@v1 + with: + version: "1.9.7" + + - name: CMake Configure + shell: bash + run: | + mkdir "${{ runner.workspace }}/build" + cd "${{ runner.workspace }}/build" + cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \ + -G Ninja \ + --log-level=VERBOSE \ + -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/config/toolchain/mingw64.cmake \ + -DBUILD_SHARED_LIBS:BOOL=${{ inputs.shared }} \ + -DHDF4_BUILD_EXAMPLES:BOOL=ON \ + -DBUILD_JPEG_WITH_PIC:BOOL=ON \ + -DHDF4_ENABLE_NETCDF:BOOL=${{ inputs.netcdf }} \ + -DHDF4_BUILD_FORTRAN:BOOL=OFF \ + -DHDF4_BUILD_JAVA:BOOL=OFF \ + -DHDF4_BUILD_DOC:BOOL=ON \ + -DJPEG_USE_LOCALCONTENT:BOOL=OFF \ + -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF \ + -DZLIB_USE_LOCALCONTENT:BOOL=OFF \ + -DHDF4_PACK_EXAMPLES:BOOL=ON \ + -DHDF4_PACKAGE_EXTLIBS:BOOL=ON \ + $GITHUB_WORKSPACE + + - name: CMake Build + shell: bash + run: | + cmake --build . --parallel 3 --config ${{ inputs.build_mode }} + working-directory: ${{ runner.workspace }}/build + + - name: CMake Run Tests + shell: bash + run: | + ctest . --parallel 2 -C ${{ inputs.build_mode }} -V + if: false + + - name: CMake Package + shell: bash + run: | + cpack -C ${{ inputs.build_mode }} -V + working-directory: ${{ runner.workspace }}/build + + - name: List files in the space + run: | + ls -l ${{ runner.workspace }}/build diff --git a/.github/workflows/msys2-auto.yml b/.github/workflows/msys2-auto.yml new file mode 100644 index 0000000..4ea2da8 --- /dev/null +++ b/.github/workflows/msys2-auto.yml @@ -0,0 +1,66 @@ +name: hdf5 dev Autotools MSys2 + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + build_option: + description: "--enable-production or --disable-production" + required: true + type: string + +permissions: + contents: read + +jobs: + msys2_build_and_test: + runs-on: windows-latest + strategy: + matrix: + include: + - { icon: '⬛', sys: mingw32 } + - { icon: '🟦', sys: mingw64 } + - { icon: '🟨', sys: ucrt64 } + - { icon: '🟧', sys: clang64 } + name: ${{ matrix.icon }} msys2-${{ matrix.sys }}-${{ inputs.build_mode }} + defaults: + run: + shell: msys2 {0} + steps: + - name: Get Sources + uses: actions/checkout@v4.1.1 + + - name: '${{ matrix.icon }} Setup MSYS2' + uses: msys2/setup-msys2@v2 + with: + msystem: ${{matrix.sys}} + update: true + install: >- + git + autotools + pacboy: >- + toolchain:p + libjpeg-turbo:p + + - name: Autotools Configure + run: | + sh ./autogen.sh + mkdir "$GITHUB_WORKSPACE/build" + cd "$GITHUB_WORKSPACE/build" + LDFLAGS="-lws2_32" $GITHUB_WORKSPACE/configure \ + ${{ inputs.build_option }} \ + --disable-netcdf \ + --enable-static-exec + + - name: Autotools Build + run: | + make -j3 + working-directory: $GITHUB_WORKSPACE/build + + - name: Autotools Run Tests + run: | + make check -j + working-directory: $GITHUB_WORKSPACE/build diff --git a/.github/workflows/nvhpc-auto.yml b/.github/workflows/nvhpc-auto.yml index bc6c935..1d003c2 100644 --- a/.github/workflows/nvhpc-auto.yml +++ b/.github/workflows/nvhpc-auto.yml @@ -16,9 +16,11 @@ jobs: name: "nvhpc ${{ inputs.build_mode }}" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - name: Get Sources + uses: actions/checkout@v4.1.1 - name: Install Dependencies + shell: bash run: | sudo apt-get update sudo apt-get install autoconf automake libtool libtool-bin libaec-dev @@ -28,17 +30,17 @@ jobs: - name: Install NVHPC shell: bash - run: | + run: | curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y sudo apt-get install -y nvhpc-23-9 - echo "CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpicc" >> $GITHUB_ENV - echo "FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpifort" >> $GITHUB_ENV echo "NVHPCSDK=/opt/nvidia/hpc_sdk" >> $GITHUB_ENV echo "OMPI_CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc++" >> $GITHUB_ENV echo "OMPI_CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc" >> $GITHUB_ENV echo "OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvfortran" >> $GITHUB_ENV + echo "CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpicc" >> $GITHUB_ENV + echo "FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpifort" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/lib" >> $GITHUB_ENV echo "DESTDIR=/tmp" >> $GITHUB_ENV @@ -56,9 +58,7 @@ jobs: --enable-fortran \ --enable-shared \ --enable-parallel - #cat config.log - # BUILD - name: Autotools Build shell: bash run: | @@ -66,16 +66,15 @@ jobs: make -j3 working-directory: ${{ runner.workspace }}/build - # RUN TESTS - # NORMAL - name: Autotools Run Tests + shell: bash run: | export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin:$PATH make check -j working-directory: ${{ runner.workspace }}/build - # INSTALL (note that this runs even when we don't run the tests) - name: Autotools Install + shell: bash run: | export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin:$PATH make install diff --git a/.github/workflows/nvhpc-cmake.yml b/.github/workflows/nvhpc-cmake.yml index 3a78c06..1b56eff 100644 --- a/.github/workflows/nvhpc-cmake.yml +++ b/.github/workflows/nvhpc-cmake.yml @@ -16,9 +16,10 @@ jobs: name: "nvhpc ${{ inputs.build_mode }}" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - name: Get Sources + uses: actions/checkout@v4.1.1 - - name: Install Linux dependencies + - name: Install Dependencies shell: bash run: | sudo apt update @@ -33,16 +34,16 @@ jobs: echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y sudo apt-get install -y nvhpc-23-9 - echo "CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpicc" >> $GITHUB_ENV - echo "FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpifort" >> $GITHUB_ENV echo "NVHPCSDK=/opt/nvidia/hpc_sdk" >> $GITHUB_ENV echo "OMPI_CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc++" >> $GITHUB_ENV echo "OMPI_CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc" >> $GITHUB_ENV echo "OMPI_FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvfortran" >> $GITHUB_ENV + echo "CC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpicc" >> $GITHUB_ENV + echo "FC=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin/mpifort" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda/12.2/lib64:/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/lib" >> $GITHUB_ENV echo "DESTDIR=/tmp" >> $GITHUB_ENV - - name: CMake Configure with nvc + - name: CMake Configure shell: bash run: | export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin:$PATH @@ -59,16 +60,13 @@ jobs: -DHDF5_BUILD_JAVA:BOOL=OFF \ -DMPIEXEC_MAX_NUMPROCS:STRING="2" \ $GITHUB_WORKSPACE - cat src/libhdf5.settings - # BUILD - name: CMake Build shell: bash run: | cmake --build . --parallel 3 --config ${{ inputs.build_mode }} working-directory: ${{ runner.workspace }}/build - # RUN TESTS - name: CMake Run Tests shell: bash run: | diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index 7981b64..668739e 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -144,6 +144,8 @@ endif () if (CYGWIN) set (${HDF_PREFIX}_HAVE_LSEEK64 0) + set (CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") + add_definitions ("-D_GNU_SOURCE") endif () #----------------------------------------------------------------------------- diff --git a/config/cmake/scripts/CTestScript.cmake b/config/cmake/scripts/CTestScript.cmake index 4f7eb4b..ad6cd44 100644 --- a/config/cmake/scripts/CTestScript.cmake +++ b/config/cmake/scripts/CTestScript.cmake @@ -117,37 +117,6 @@ else () set (CTEST_GIT_options "pull") endif () set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}") - else () - ## -------------------------- - ## use subversion to get source - #----------------------------------------------------------------------------- - ## cygwin does not handle the find_package() call - ## -------------------------- - set (CTEST_UPDATE_COMMAND "SVNCommand") - if (NOT SITE_CYGWIN}) - find_package (Subversion) - set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}") - set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}") - else () - set (CTEST_SVN_COMMAND "/usr/bin/svn") - set (CTEST_UPDATE_COMMAND "/usr/bin/svn") - endif () - - if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}") - set (NEED_REPOSITORY_CHECKOUT 1) - endif () - - if (NOT CTEST_REPO_VERSION) - set (CTEST_REPO_VERSION "HEAD") - endif () - if (${NEED_REPOSITORY_CHECKOUT}) - set (CTEST_CHECKOUT_COMMAND - "\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}") - else () - if (CTEST_REPO_VERSION) - set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}") - endif () - endif () endif () endif () endif () diff --git a/configure.ac b/configure.ac index 0fa2b3f..dff0c4a 100644 --- a/configure.ac +++ b/configure.ac @@ -1502,6 +1502,10 @@ case "$host_cpu-$host_vendor-$host_os" in AC_DEFINE([HAVE_MINGW], [1], [Define if using MinGW]) H5_CPPFLAGS="-D_GNU_SOURCE -D__USE_MINGW_ANSI_STDIO $H5_CPPFLAGS" ;; + *cygwin*) + AC_DEFINE([HAVE_CYGWIN], [1], [Define if using Cygwin]) + H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS" + ;; esac ## Need to add the AM_ and H5_ into CFLAGS/CPPFLAGS to make them visible -- cgit v0.12 From 004ab16dbcd4953cf423606c0aea93386e60b39f Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Thu, 14 Mar 2024 21:47:58 -0700 Subject: Remove ros3 and hdfs VFDs from Autotools VFD list (#4142) These will never pass `make check` and would require a custom test suite for more comprehensive testing. --- config/conclude.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/conclude.am b/config/conclude.am index 227f0d3..a1fda99 100644 --- a/config/conclude.am +++ b/config/conclude.am @@ -294,10 +294,12 @@ if MIRROR_VFD_CONDITIONAL # VFD_LIST += mirror endif if ROS3_VFD_CONDITIONAL - VFD_LIST += ros3 + # This would require a custom test suite + # VFD_LIST += ros3 endif if HDFS_VFD_CONDITIONAL - VFD_LIST += hdfs + # This would require a custom test suite + # VFD_LIST += hdfs endif if SUBFILING_VFD_CONDITIONAL # Several VFD tests fail with Subfiling since it -- cgit v0.12 From ca9c9428446b1a06eacca657f97df0fb27736510 Mon Sep 17 00:00:00 2001 From: jhendersonHDF Date: Fri, 15 Mar 2024 02:12:50 -0500 Subject: Skip part of dsets.c test for IBM long double type (#4136) --- test/dsets.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/dsets.c b/test/dsets.c index efd95f6..5fa74f9 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -5899,6 +5899,14 @@ test_floattypes(hid_t file) if ((datatype = H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) goto error; + /* Skip creating a custom floating-point type when long double + * is the IBM long double. The library detects different formats + * for the type on big-endian vs. little-endian systems and will + * cause this to fail on little-endian systems while passing on + * big-endian systems. The library needs proper support for the + * IBM long double type before we can test this. + */ +#if LDBL_MANT_DIG != 106 /* Get the layout of the native long double type */ if (H5Tget_fields(datatype, &ld_spos, &ld_epos, &ld_esize, &ld_mpos, &ld_msize) < 0) goto error; @@ -5919,6 +5927,7 @@ test_floattypes(hid_t file) if (H5Tset_size(datatype, 16) < 0) goto error; } +#endif /* Create the data space */ if ((space = H5Screate_simple(2, size, NULL)) < 0) -- cgit v0.12 From 78a5d8a70b191cc0a726f2ca0362a5a862f862f8 Mon Sep 17 00:00:00 2001 From: "H. Joe Lee" Date: Fri, 15 Mar 2024 07:33:20 -0500 Subject: Capitalize option message for consistency. (#4141) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2ebfcb..cb8b596 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -653,7 +653,7 @@ endif () if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") set (H5_HAVE_EMBEDDED_LIBINFO 0) else () - option (HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON) + option (HDF5_ENABLE_EMBEDDED_LIBINFO "Embed library info into executables" ON) if (HDF5_ENABLE_EMBEDDED_LIBINFO) set (H5_HAVE_EMBEDDED_LIBINFO 1) endif () -- cgit v0.12 From ece121b415a69e159f3143e2348b7c580adbd054 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 15 Mar 2024 07:37:22 -0500 Subject: Fixed misc. H5E fortran failures due to previous PR (#4138) * fixed promotion of integers and reals tests and check-passthrough-vol failure * fixed cygwin issue --- fortran/test/fortranlib_test_F03.F90 | 2 +- fortran/test/tH5E_F03.F90 | 23 ++++++++++++++++++----- fortran/test/tH5T_F03.F90 | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/fortran/test/fortranlib_test_F03.F90 b/fortran/test/fortranlib_test_F03.F90 index 1c38b36..50240ce 100644 --- a/fortran/test/fortranlib_test_F03.F90 +++ b/fortran/test/fortranlib_test_F03.F90 @@ -59,7 +59,7 @@ PROGRAM fortranlibtest_F03 ret_total_error = 0 CALL test_error(ret_total_error) - CALL write_test_status(ret_total_error, ' Test error API based on data I/O', total_error) + CALL write_test_status(ret_total_error, ' Testing error API based on data I/O', total_error) ret_total_error = 0 CALL test_array_compound_atomic(ret_total_error) diff --git a/fortran/test/tH5E_F03.F90 b/fortran/test/tH5E_F03.F90 index 86e77ec..33d666c 100644 --- a/fortran/test/tH5E_F03.F90 +++ b/fortran/test/tH5E_F03.F90 @@ -188,6 +188,7 @@ SUBROUTINE test_error(total_error) TYPE(C_FUNPTR) :: func CHARACTER(LEN=180) :: chr180 INTEGER :: idx + INTEGER(HID_T) :: fapl LOGICAL :: status @@ -209,8 +210,14 @@ SUBROUTINE test_error(total_error) CALL H5Eset_auto_f(1, error, H5E_DEFAULT_F, func, f_ptr) CALL check("H5Eset_auto_f", error, total_error) - CALL h5fopen_f("DOESNOTEXIST", H5F_ACC_RDONLY_F, file, error) + ! If a fapl is not created, then the test will fail when using + ! check-passthrough-vol because the callback function is called twice, gh #4137. + CALL h5pcreate_f(H5P_DATASET_ACCESS_F, fapl, error) + CALL check("h5pcreate_f", error, total_error) + CALL h5fopen_f("DOESNOTEXIST", H5F_ACC_RDONLY_F, file, error, fapl) CALL VERIFY("h5fopen_f", error, -1, total_error) + CALL h5pclose_f(fapl,error) + CALL check("h5pclose_f", error, total_error) CLOSE(iunit) @@ -247,7 +254,7 @@ SUBROUTINE test_error_stack(total_error) INTEGER(HID_T) :: cls_id, major, minor, estack_id, estack_id1, estack_id2 CHARACTER(LEN=18), TARGET :: file CHARACTER(LEN=18), TARGET :: func - INTEGER , TARGET :: line + INTEGER(C_INT) , TARGET :: line TYPE(C_PTR) :: ptr1, ptr2, ptr3, ptr4 INTEGER :: msg_type @@ -288,9 +295,9 @@ SUBROUTINE test_error_stack(total_error) CALL check("h5ecreate_stack_f", error, total_error) ! push a custom error message onto the stack - CALL H5Epush_f(estack_id, cls_id, major, minor, "%s ERROR TEXT %s"//C_NEW_LINE, error, & + CALL H5Epush_f(estack_id, cls_id, major, minor, "%s ERROR TEXT %s %s", error, & ptr1, ptr2, ptr3, & - arg1=ACHAR(27)//"[31m", arg2=ACHAR(27)//"[0m" ) + arg1=ACHAR(27)//"[31m", arg2=ACHAR(27)//"[0m", arg3=ACHAR(10) ) CALL check("H5Epush_f", error, total_error) CALL h5eget_num_f(estack_id, count, error) @@ -374,6 +381,12 @@ SUBROUTINE test_error_stack(total_error) IF(.NOT.status)THEN CALL check("h5eprint_f", -1, total_error) ELSE +! The contents of the file should be: +! Custom error class-DIAG: Error detected in H5E_F03 (0.1) thread 0: +! #000: FILE line 99 in FUNC(): ERROR TEXT +! +! major: MAJOR MSG +! minor: MIN MSG OPEN(UNIT=12, FILE="H5Etest.txt", status='old') READ(12,'(A)') chr180 @@ -461,7 +474,7 @@ SUBROUTINE test_error_stack(total_error) CALL check("h5eget_num_f", error, total_error) CALL VERIFY("h5eget_num_f", count, 1_SIZE_T, total_error) - CALL h5epop_f(H5E_DEFAULT_F, 1_size_t, total_error) + CALL h5epop_f(H5E_DEFAULT_F, 1_size_t, error) CALL check("h5epop_f", error, total_error) CALL h5eget_num_f(H5E_DEFAULT_F, count, error) diff --git a/fortran/test/tH5T_F03.F90 b/fortran/test/tH5T_F03.F90 index 08dfa22..65804d0 100644 --- a/fortran/test/tH5T_F03.F90 +++ b/fortran/test/tH5T_F03.F90 @@ -1441,7 +1441,7 @@ SUBROUTINE t_enum(total_error) ! ! Create dataspace. Setting maximum size to be the current size. ! - CALL h5screate_simple_f(2, dims, space, total_error) + CALL h5screate_simple_f(2, dims, space, error) CALL check("h5screate_simple_f",error, total_error) ! ! Create the dataset and write the enumerated data to it. -- cgit v0.12 From c7c8b93d06fd2c99dee523a11a2d62eb4dfaed74 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 15 Mar 2024 05:41:07 -0700 Subject: Fix Autotools -Werror cleanup (#4144) The Autotools temporarily scrub -Werror(=whatever) from CFLAGS, etc. so configure checks don't trip over warnings generated by configure check programs. The sed line originally only scrubbed -Werror but not -Werror=something, which would cause errors when the '=something' was left behind in CFLAGS. The sed line has been updated to handle -Werror=something lines. Fixes one issue raised in #3872 --- configure.ac | 25 +++++++++++++++++++------ release_docs/RELEASE.txt | 14 ++++++++++++++ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index dff0c4a..b76f18f 100644 --- a/configure.ac +++ b/configure.ac @@ -194,12 +194,25 @@ saved_user_LDFLAGS="$LDFLAGS" saved_user_CPPFLAGS="$CPPFLAGS" ## Strip out -Werror from CFLAGS since that can cause checks to fail when -## compiling the test program fails due to warnings -CFLAGS="`echo $CFLAGS | sed -e 's/-Werror//g'`" -CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-Werror//g'`" -FCFLAGS="`echo $FCFLAGS | sed -e 's/-Werror//g'`" -JAVACFLAGS="`echo $JAVACFLAGS | sed -e 's/-Werror//g'`" -CPPFLAGS="`echo $CPPFLAGS | sed -e 's/-Werror//g'`" +## compiling test programs fails due to warnings +## +## Regex: +## +## -Werror Literal -Werror +## \( Start optional capturing group +## = Literal equals sign +## [^[:space:]-] Non-space characters +## \+ 1 or more of the above +## \) End optional capturing group +## \? 0 or 1 capturing group matches +## +WERROR_SED= "sed -e 's/-Werror\(=[^[:space:]]\+\)\?//g'" + +CFLAGS="`echo $CFLAGS | $WERROR_SED`" +CXXFLAGS="`echo $CXXFLAGS | $WERROR_SED`" +FCFLAGS="`echo $FCFLAGS | $WERROR_SED`" +JAVACFLAGS="`echo $JAVACFLAGS | $WERROR_SED`" +CPPFLAGS="`echo $CPPFLAGS | $WERROR_SED`" ## Support F9X variable to define Fortran compiler if FC variable is ## not used. This should be deprecated in the future. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 4c6367e..688762e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -575,6 +575,20 @@ Support for new platforms, languages and compilers Bug Fixes since HDF5-1.14.0 release =================================== + Configuration: + ------------- + - Fix Autotools -Werror cleanup + + The Autotools temporarily scrub -Werror(=whatever) from CFLAGS, etc. + so configure checks don't trip over warnings generated by configure + check programs. The sed line originally only scrubbed -Werror but not + -Werror=something, which would cause errors when the '=something' was + left behind in CFLAGS. + + The sed line has been updated to handle -Werror=something lines. + + Fixes one issue raised in #3872 + Library ------- - Fixed asserts raised by large values of H5Pset_est_link_info() parameters -- cgit v0.12 From 437f21549b02ea6ab9f8bfc0ad3b638403466a0d Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Fri, 15 Mar 2024 10:24:32 -0500 Subject: Fix doxygen link to example function usage (#4133) --- test/links.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/links.c b/test/links.c index 299a7c2..87efae8 100644 --- a/test/links.c +++ b/test/links.c @@ -633,8 +633,6 @@ cklinks(hid_t fapl, bool new_format) if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) FAIL_STACK_ERROR; - //! [H5Otoken_cmp_snip] - /* Hard link */ if (H5Oget_info_by_name3(file, "d1", &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT) < 0) FAIL_STACK_ERROR; @@ -656,6 +654,9 @@ cklinks(hid_t fapl, bool new_format) puts(" expected file location."); TEST_ERROR; } /* end if */ + + //! [H5Otoken_cmp_snip] + if (H5Lexists(file, "/", H5P_DEFAULT) != true) FAIL_STACK_ERROR; if (H5Lexists(file, "d1", H5P_DEFAULT) != true) -- cgit v0.12 From f3900f2f616ade00355629adb2f30225351bafc4 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:49:59 -0700 Subject: Remove useless headers (#4145) Removes unnecessary headers from C library source files. --- src/H5A.c | 2 -- src/H5AC.c | 1 - src/H5Adeprec.c | 1 - src/H5Aint.c | 2 -- src/H5Atest.c | 1 - src/H5B.c | 2 -- src/H5B2dbg.c | 7 +++---- src/H5Cimage.c | 1 - src/H5Ctag.c | 1 - src/H5Dbtree.c | 1 - src/H5Dcontig.c | 2 -- src/H5Ddbg.c | 1 - src/H5Dfill.c | 2 -- src/H5Dio.c | 3 --- src/H5Dmpio.c | 1 - src/H5Dnone.c | 1 - src/H5Dscatgath.c | 1 - src/H5Dsingle.c | 2 -- src/H5EAcache.c | 3 --- src/H5EAdblkpage.c | 1 - src/H5EApkg.h | 1 + src/H5ES.c | 1 - src/H5ESlist.c | 7 +++---- src/H5FAcache.c | 3 --- src/H5FAdbg.c | 1 - src/H5FD.c | 1 - src/H5FDfamily.c | 1 - src/H5FDmpi.c | 3 --- src/H5FDperform.c | 9 ++++----- src/H5FDsec2.c | 1 - src/H5FDwindows.c | 4 ---- src/H5FScache.c | 1 - src/H5Fdeprec.c | 1 - src/H5Fint.c | 1 - src/H5Fio.c | 1 - src/H5Fmount.c | 4 ---- src/H5Fsuper.c | 1 - src/H5Fsuper_cache.c | 2 -- src/H5Gcache.c | 2 -- src/H5Gdeprec.c | 1 - src/H5Gent.c | 1 - src/H5Glink.c | 1 - src/H5Gname.c | 1 - src/H5Gobj.c | 15 +++++++-------- src/H5Groot.c | 2 -- src/H5Gtraverse.c | 1 - src/H5HF.c | 2 -- src/H5HFcache.c | 2 -- src/H5HFdbg.c | 1 - src/H5HFman.c | 2 -- src/H5HFsection.c | 1 - src/H5HGcache.c | 1 - src/H5HGdbg.c | 1 - src/H5Lexternal.c | 2 -- src/H5MF.c | 1 - src/H5O.c | 1 - src/H5Ocache.c | 2 -- src/H5Ocont.c | 1 - src/H5Ocopy.c | 3 --- src/H5Odbg.c | 1 - src/H5Odtype.c | 1 - src/H5Ofill.c | 1 - src/H5Olayout.c | 2 -- src/H5Olink.c | 2 -- src/H5Omessage.c | 1 - src/H5Omtime.c | 1 - src/H5Opline.c | 1 - src/H5Osdspace.c | 2 -- src/H5Oshared.c | 1 - src/H5Otest.c | 1 - src/H5PB.c | 1 - src/H5PLint.c | 9 ++++----- src/H5PLplugin_cache.c | 1 - src/H5Pdcpl.c | 1 - src/H5Pdxpl.c | 2 -- src/H5Pencdec.c | 1 - src/H5Pfmpl.c | 1 - src/H5Pgcpl.c | 1 - src/H5Pint.c | 6 +----- src/H5Plcpl.c | 1 - src/H5Pmapl.c | 1 - src/H5Pmcpl.c | 1 - src/H5Pocpl.c | 2 -- src/H5Pocpypl.c | 1 - src/H5Pstrcpl.c | 1 - src/H5Ptest.c | 1 - src/H5R.c | 1 - src/H5Rdeprec.c | 1 - src/H5Rint.c | 4 ---- src/H5SMbtree2.c | 9 ++++----- src/H5SMcache.c | 2 -- src/H5SMpkg.h | 1 + src/H5SMtest.c | 1 - src/H5Snone.c | 9 ++++----- src/H5Tbit.c | 1 - src/H5Tcommit.c | 1 - src/H5Tcompound.c | 1 - src/H5Tconv.c | 1 - src/H5Tdeprec.c | 2 -- src/H5Tnative.c | 2 -- src/H5Tvlen.c | 2 -- src/H5VL.c | 13 ++++++------- src/H5VLdyn_ops.c | 1 - src/H5VLnative_datatype.c | 1 - src/H5VLnative_file.c | 1 - src/H5VLnative_group.c | 1 - src/H5VLnative_link.c | 2 -- src/H5VLnative_object.c | 1 - src/H5Z.c | 1 - src/H5Zfletcher32.c | 1 - src/H5Znbit.c | 1 - src/H5Zscaleoffset.c | 1 - src/H5Zszip.c | 1 - 113 files changed, 38 insertions(+), 193 deletions(-) diff --git a/src/H5A.c b/src/H5A.c index a3bcf01..1db7fd3 100644 --- a/src/H5A.c +++ b/src/H5A.c @@ -25,9 +25,7 @@ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5ESprivate.h" /* Event Sets */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Sprivate.h" /* Dataspace functions */ #include "H5VLprivate.h" /* Virtual Object Layer */ diff --git a/src/H5AC.c b/src/H5AC.c index b752803..6610af8 100644 --- a/src/H5AC.c +++ b/src/H5AC.c @@ -40,7 +40,6 @@ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* Files */ -#include "H5Iprivate.h" /* IDs */ #include "H5Pprivate.h" /* Property lists */ #include "H5SLprivate.h" /* Skip Lists */ diff --git a/src/H5Adeprec.c b/src/H5Adeprec.c index 7ff2b06..25dd662 100644 --- a/src/H5Adeprec.c +++ b/src/H5Adeprec.c @@ -35,7 +35,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Apkg.h" /* Attributes */ #include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ #include "H5Opkg.h" /* Object headers */ diff --git a/src/H5Aint.c b/src/H5Aint.c index 160e359..15f025c 100644 --- a/src/H5Aint.c +++ b/src/H5Aint.c @@ -31,8 +31,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Apkg.h" /* Attributes */ -#include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Atest.c b/src/H5Atest.c index 1d18b44..141f511 100644 --- a/src/H5Atest.c +++ b/src/H5Atest.c @@ -31,7 +31,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Apkg.h" /* Attributes */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ diff --git a/src/H5B.c b/src/H5B.c index 041acec..7b71b5f 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -101,10 +101,8 @@ #include "H5Bpkg.h" /* B-link trees */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5Pprivate.h" /* Property lists */ /****************/ /* Local Macros */ diff --git a/src/H5B2dbg.c b/src/H5B2dbg.c index 83a70eb..0977a4c 100644 --- a/src/H5B2dbg.c +++ b/src/H5B2dbg.c @@ -28,10 +28,9 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5B2pkg.h" /* v2 B-trees */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free Lists */ +#include "H5private.h" /* Generic Functions */ +#include "H5B2pkg.h" /* v2 B-trees */ +#include "H5Eprivate.h" /* Error handling */ /****************/ /* Local Macros */ diff --git a/src/H5Cimage.c b/src/H5Cimage.c index b969054..ec1af78 100644 --- a/src/H5Cimage.c +++ b/src/H5Cimage.c @@ -40,7 +40,6 @@ #include "H5Fpkg.h" /* Files */ #include "H5FDprivate.h" /* File drivers */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ /****************/ diff --git a/src/H5Ctag.c b/src/H5Ctag.c index 8da6c13..71eb24d 100644 --- a/src/H5Ctag.c +++ b/src/H5Ctag.c @@ -37,7 +37,6 @@ #include "H5Eprivate.h" /* Error Handling */ #include "H5Fpkg.h" /* Files */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5MMprivate.h" /* Memory management */ /****************/ /* Local Macros */ diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 4f8a867..6c32c26 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -31,7 +31,6 @@ #include "H5Fprivate.h" /* Files */ #include "H5FDprivate.h" /* File drivers */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MFprivate.h" /* File space management */ #include "H5MMprivate.h" /* Memory management */ #include "H5Oprivate.h" /* Object headers */ diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c index 0407736..0874881 100644 --- a/src/H5Dcontig.c +++ b/src/H5Dcontig.c @@ -36,9 +36,7 @@ #include "H5Iprivate.h" /* IDs */ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5FOprivate.h" /* File objects */ #include "H5Oprivate.h" /* Object headers */ -#include "H5Pprivate.h" /* Property lists */ #include "H5PBprivate.h" /* Page Buffer */ #include "H5VMprivate.h" /* Vector and array functions */ diff --git a/src/H5Ddbg.c b/src/H5Ddbg.c index 22777b4..d8a9234 100644 --- a/src/H5Ddbg.c +++ b/src/H5Ddbg.c @@ -20,7 +20,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Dpkg.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ diff --git a/src/H5Dfill.c b/src/H5Dfill.c index 12cc3ea..447a22d 100644 --- a/src/H5Dfill.c +++ b/src/H5Dfill.c @@ -29,11 +29,9 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Dpkg.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5VMprivate.h" /* Vector and array functions */ #include "H5WBprivate.h" /* Wrapped Buffers */ diff --git a/src/H5Dio.c b/src/H5Dio.c index 2652f6d..14f8b7f 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -24,12 +24,9 @@ #include "H5Dpkg.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Sprivate.h" /* Dataspace */ -#include "H5VLnative_private.h" /* Native VOL connector */ - /****************/ /* Local Macros */ /****************/ diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index de8a27a..7d8ba21 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -30,7 +30,6 @@ #include "H5Fprivate.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Oprivate.h" /* Object headers */ #include "H5Pprivate.h" /* Property lists */ diff --git a/src/H5Dnone.c b/src/H5Dnone.c index d4eb918..b319bd2 100644 --- a/src/H5Dnone.c +++ b/src/H5Dnone.c @@ -34,7 +34,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Dpkg.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5MFprivate.h" /* File space management */ #include "H5VMprivate.h" /* Vector functions */ diff --git a/src/H5Dscatgath.c b/src/H5Dscatgath.c index 4fc32dd..997c72c 100644 --- a/src/H5Dscatgath.c +++ b/src/H5Dscatgath.c @@ -24,7 +24,6 @@ #include "H5Dpkg.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ /****************/ diff --git a/src/H5Dsingle.c b/src/H5Dsingle.c index dd9f235..a08fa10 100644 --- a/src/H5Dsingle.c +++ b/src/H5Dsingle.c @@ -30,9 +30,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Dpkg.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5MFprivate.h" /* File space management */ -#include "H5VMprivate.h" /* Vector functions */ /****************/ /* Local Macros */ diff --git a/src/H5EAcache.c b/src/H5EAcache.c index 36494d3..74a3abe 100644 --- a/src/H5EAcache.c +++ b/src/H5EAcache.c @@ -35,10 +35,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5EApkg.h" /* Extensible Arrays */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5VMprivate.h" /* Vectors and arrays */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5EAdblkpage.c b/src/H5EAdblkpage.c index c13b519..1fd04b2 100644 --- a/src/H5EAdblkpage.c +++ b/src/H5EAdblkpage.c @@ -36,7 +36,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5EApkg.h" /* Extensible Arrays */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5VMprivate.h" /* Vectors and arrays */ /****************/ /* Local Macros */ diff --git a/src/H5EApkg.h b/src/H5EApkg.h index e8b5a13..3dd2a2d 100644 --- a/src/H5EApkg.h +++ b/src/H5EApkg.h @@ -27,6 +27,7 @@ /* Other private headers needed by this file */ #include "H5FLprivate.h" /* Free Lists */ +#include "H5VMprivate.h" /* Vectors and arrays */ /**************************/ /* Package Private Macros */ diff --git a/src/H5ES.c b/src/H5ES.c index 24452f9..1c8b087 100644 --- a/src/H5ES.c +++ b/src/H5ES.c @@ -35,7 +35,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5ESpkg.h" /* Event Sets */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5ESlist.c b/src/H5ESlist.c index 1022e63..90eef90 100644 --- a/src/H5ESlist.c +++ b/src/H5ESlist.c @@ -32,10 +32,9 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5ESpkg.h" /* Event Sets */ -#include "H5FLprivate.h" /* Free Lists */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5ESpkg.h" /* Event Sets */ /****************/ /* Local Macros */ diff --git a/src/H5FAcache.c b/src/H5FAcache.c index 5aa06f6..2920dd1 100644 --- a/src/H5FAcache.c +++ b/src/H5FAcache.c @@ -35,10 +35,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FApkg.h" /* Fixed Arrays */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5VMprivate.h" /* Vectors and arrays */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5FAdbg.c b/src/H5FAdbg.c index e28f678..1e624b3 100644 --- a/src/H5FAdbg.c +++ b/src/H5FAdbg.c @@ -35,7 +35,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FApkg.h" /* Fixed Arrays */ -#include "H5Oprivate.h" /* Object Header */ #include "H5VMprivate.h" /* Vector functions */ /****************/ diff --git a/src/H5FD.c b/src/H5FD.c index f89fdd9..f8ad027 100644 --- a/src/H5FD.c +++ b/src/H5FD.c @@ -30,7 +30,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5FDpkg.h" /* File Drivers */ diff --git a/src/H5FDfamily.c b/src/H5FDfamily.c index 9173e5b..9899b2e 100644 --- a/src/H5FDfamily.c +++ b/src/H5FDfamily.c @@ -31,7 +31,6 @@ #include "H5FDdrvr_module.h" /* This source code file is part of the H5FD driver module */ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ diff --git a/src/H5FDmpi.c b/src/H5FDmpi.c index f247c34..bfa2125 100644 --- a/src/H5FDmpi.c +++ b/src/H5FDmpi.c @@ -15,12 +15,9 @@ */ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ #include "H5FDmpi.h" /* Common MPI file driver */ -#include "H5Pprivate.h" /* Property lists */ #ifdef H5_HAVE_PARALLEL diff --git a/src/H5FDperform.c b/src/H5FDperform.c index 62097f1..f07abd4 100644 --- a/src/H5FDperform.c +++ b/src/H5FDperform.c @@ -19,11 +19,10 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5FDpkg.h" /* File Drivers */ -#include "H5Iprivate.h" /* IDs */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5FDpkg.h" /* File Drivers */ +#include "H5Iprivate.h" /* IDs */ /*------------------------------------------------------------------------- * Function: H5FDperform_init diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c index c4bfbff..59f833e 100644 --- a/src/H5FDsec2.c +++ b/src/H5FDsec2.c @@ -28,7 +28,6 @@ #include "H5FDsec2.h" /* Sec2 file driver */ #include "H5FLprivate.h" /* Free Lists */ #include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Pprivate.h" /* Property lists */ /* The driver identification number, initialized at runtime */ diff --git a/src/H5FDwindows.c b/src/H5FDwindows.c index e38a4d3..71078cd 100644 --- a/src/H5FDwindows.c +++ b/src/H5FDwindows.c @@ -12,13 +12,9 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ #include "H5FDwindows.h" /* Windows file driver */ #include "H5FDsec2.h" /* Windows file driver */ -#include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Pprivate.h" /* Property lists */ #ifdef H5_HAVE_WINDOWS diff --git a/src/H5FScache.c b/src/H5FScache.c index f5e9361..94c414f 100644 --- a/src/H5FScache.c +++ b/src/H5FScache.c @@ -36,7 +36,6 @@ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ #include "H5VMprivate.h" /* Vectors and arrays */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5Fdeprec.c b/src/H5Fdeprec.c index bc43ca3..40e5ec3 100644 --- a/src/H5Fdeprec.c +++ b/src/H5Fdeprec.c @@ -36,7 +36,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5Iprivate.h" /* IDs */ -#include "H5SMprivate.h" /* Shared object header messages */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5Fint.c b/src/H5Fint.c index 7b5aeb4..76515bc 100644 --- a/src/H5Fint.c +++ b/src/H5Fint.c @@ -29,7 +29,6 @@ #include "H5FDprivate.h" /* File drivers */ #include "H5Gprivate.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ -#include "H5Lprivate.h" /* Links */ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ #include "H5Pprivate.h" /* Property lists */ diff --git a/src/H5Fio.c b/src/H5Fio.c index b2c5835..b0c2401 100644 --- a/src/H5Fio.c +++ b/src/H5Fio.c @@ -32,7 +32,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ -#include "H5Iprivate.h" /* IDs */ #include "H5PBprivate.h" /* Page Buffer */ /****************/ diff --git a/src/H5Fmount.c b/src/H5Fmount.c index 47345f2..6f49746 100644 --- a/src/H5Fmount.c +++ b/src/H5Fmount.c @@ -14,15 +14,11 @@ /* Packages needed by this file... */ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5Gprivate.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Pprivate.h" /* Property lists */ -#include "H5VLprivate.h" /* Virtual Object Layer */ /* PRIVATE PROTOTYPES */ static void H5F__mount_count_ids_recurse(H5F_t *f, unsigned *nopen_files, unsigned *nopen_objs); diff --git a/src/H5Fsuper.c b/src/H5Fsuper.c index 36ba660..2d27579 100644 --- a/src/H5Fsuper.c +++ b/src/H5Fsuper.c @@ -21,7 +21,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5ACprivate.h" /* Metadata cache */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5FDprivate.h" /* File drivers */ diff --git a/src/H5Fsuper_cache.c b/src/H5Fsuper_cache.c index e62cc47..7161b8b 100644 --- a/src/H5Fsuper_cache.c +++ b/src/H5Fsuper_cache.c @@ -35,9 +35,7 @@ #include "H5FDprivate.h" /* File drivers */ #include "H5FLprivate.h" /* Free Lists */ #include "H5Gpkg.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ -#include "H5Pprivate.h" /* Property lists */ /****************/ /* Local Macros */ diff --git a/src/H5Gcache.c b/src/H5Gcache.c index f7ba49a..8a90813 100644 --- a/src/H5Gcache.c +++ b/src/H5Gcache.c @@ -31,9 +31,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Gpkg.h" /* Groups */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5Gdeprec.c b/src/H5Gdeprec.c index 5982c12..19493ac 100644 --- a/src/H5Gdeprec.c +++ b/src/H5Gdeprec.c @@ -32,7 +32,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Gpkg.h" /* Groups */ diff --git a/src/H5Gent.c b/src/H5Gent.c index 0563ae1..5b7c064 100644 --- a/src/H5Gent.c +++ b/src/H5Gent.c @@ -22,7 +22,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5Gpkg.h" /* Groups */ #include "H5HLprivate.h" /* Local Heaps */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Glink.c b/src/H5Glink.c index fd4d560..b862947 100644 --- a/src/H5Glink.c +++ b/src/H5Glink.c @@ -35,7 +35,6 @@ #include "H5Iprivate.h" /* IDs */ #include "H5Lprivate.h" /* Links */ #include "H5MMprivate.h" /* Memory management */ -#include "H5Ppublic.h" /* Property Lists */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5Gname.c b/src/H5Gname.c index 1341a2c..38fea86 100644 --- a/src/H5Gname.c +++ b/src/H5Gname.c @@ -32,7 +32,6 @@ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5Gpkg.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5Lprivate.h" /* Links */ diff --git a/src/H5Gobj.c b/src/H5Gobj.c index c5bdfc1..2b73c2b 100644 --- a/src/H5Gobj.c +++ b/src/H5Gobj.c @@ -28,14 +28,13 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ -#include "H5Gpkg.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ -#include "H5Lprivate.h" /* Links */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5Pprivate.h" /* Property Lists */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Fprivate.h" /* File access */ +#include "H5Gpkg.h" /* Groups */ +#include "H5Iprivate.h" /* IDs */ +#include "H5Lprivate.h" /* Links */ +#include "H5Pprivate.h" /* Property Lists */ /****************/ /* Local Macros */ diff --git a/src/H5Groot.c b/src/H5Groot.c index 0686fa9..7d4a252 100644 --- a/src/H5Groot.c +++ b/src/H5Groot.c @@ -33,9 +33,7 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5Gpkg.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ -#include "H5Pprivate.h" /* Property Lists */ /****************/ /* Local Macros */ diff --git a/src/H5Gtraverse.c b/src/H5Gtraverse.c index dbb46c1..67f8e47 100644 --- a/src/H5Gtraverse.c +++ b/src/H5Gtraverse.c @@ -30,7 +30,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ #include "H5Gpkg.h" /* Groups */ diff --git a/src/H5HF.c b/src/H5HF.c index 3484d45a..856d792 100644 --- a/src/H5HF.c +++ b/src/H5HF.c @@ -35,9 +35,7 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5FOprivate.h" /* File objects */ #include "H5HFpkg.h" /* Fractal heaps */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ /****************/ diff --git a/src/H5HFcache.c b/src/H5HFcache.c index ad8e4d2..b214a1c 100644 --- a/src/H5HFcache.c +++ b/src/H5HFcache.c @@ -34,8 +34,6 @@ #include "H5HFpkg.h" /* Fractal heaps */ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5VMprivate.h" /* Vectors and arrays */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5HFdbg.c b/src/H5HFdbg.c index 14fab84..d9a6c19 100644 --- a/src/H5HFdbg.c +++ b/src/H5HFdbg.c @@ -31,7 +31,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5HFpkg.h" /* Fractal heaps */ #include "H5MMprivate.h" /* Memory management */ #include "H5VMprivate.h" /* Vectors and arrays */ diff --git a/src/H5HFman.c b/src/H5HFman.c index b15960a..edbb48e 100644 --- a/src/H5HFman.c +++ b/src/H5HFman.c @@ -31,9 +31,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5HFpkg.h" /* Fractal heaps */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ -#include "H5VMprivate.h" /* Vectors and arrays */ /****************/ /* Local Macros */ diff --git a/src/H5HFsection.c b/src/H5HFsection.c index 8b27999..df30f8c 100644 --- a/src/H5HFsection.c +++ b/src/H5HFsection.c @@ -27,7 +27,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5HFpkg.h" /* Fractal heaps */ #include "H5MMprivate.h" /* Memory management */ -#include "H5VMprivate.h" /* Vectors and arrays */ /****************/ /* Local Macros */ diff --git a/src/H5HGcache.c b/src/H5HGcache.c index 125d451..6e42a7c 100644 --- a/src/H5HGcache.c +++ b/src/H5HGcache.c @@ -32,7 +32,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ #include "H5HGpkg.h" /* Global heaps */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ /****************/ diff --git a/src/H5HGdbg.c b/src/H5HGdbg.c index 0f100e4..8f33052 100644 --- a/src/H5HGdbg.c +++ b/src/H5HGdbg.c @@ -27,7 +27,6 @@ #include "H5ACprivate.h" /* Metadata cache */ #include "H5Eprivate.h" /* Error handling */ #include "H5HGpkg.h" /* Global heaps */ -#include "H5Iprivate.h" /* ID Functions */ /****************/ /* Local Macros */ diff --git a/src/H5Lexternal.c b/src/H5Lexternal.c index 56c3117..89484ea 100644 --- a/src/H5Lexternal.c +++ b/src/H5Lexternal.c @@ -21,8 +21,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* Files */ #include "H5Gpkg.h" /* Groups */ diff --git a/src/H5MF.c b/src/H5MF.c index c8df9e4..2de3e7a 100644 --- a/src/H5MF.c +++ b/src/H5MF.c @@ -34,7 +34,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* File access */ #include "H5FSpkg.h" /* File free space */ -#include "H5Iprivate.h" /* IDs */ #include "H5MFpkg.h" /* File memory management */ #include "H5VMprivate.h" /* Vectors and arrays */ diff --git a/src/H5O.c b/src/H5O.c index aa43d89..e515e19 100644 --- a/src/H5O.c +++ b/src/H5O.c @@ -32,7 +32,6 @@ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5ESprivate.h" /* Event Sets */ -#include "H5Fprivate.h" /* File access */ #include "H5Iprivate.h" /* IDs */ #include "H5Lprivate.h" /* Links */ #include "H5Opkg.h" /* Object headers */ diff --git a/src/H5Ocache.c b/src/H5Ocache.c index 31763f9..53a7d0a 100644 --- a/src/H5Ocache.c +++ b/src/H5Ocache.c @@ -31,10 +31,8 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5Ocont.c b/src/H5Ocont.c index 6894eca..621095a 100644 --- a/src/H5Ocont.c +++ b/src/H5Ocont.c @@ -27,7 +27,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5MFprivate.h" /* File memory management */ #include "H5Opkg.h" /* Object headers */ /* PRIVATE PROTOTYPES */ diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c index e4b6dd5..e87a770 100644 --- a/src/H5Ocopy.c +++ b/src/H5Ocopy.c @@ -30,18 +30,15 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Aprivate.h" /* Attributes */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ #include "H5Iprivate.h" /* IDs */ -#include "H5HGprivate.h" /* Global Heaps */ #include "H5FOprivate.h" /* File objects */ #include "H5Lprivate.h" /* Links */ #include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Pprivate.h" /* Property lists */ -#include "H5VLprivate.h" /* Virtual Object Layer */ /****************/ /* Local Macros */ diff --git a/src/H5Odbg.c b/src/H5Odbg.c index bc880bb..dfc8e87 100644 --- a/src/H5Odbg.c +++ b/src/H5Odbg.c @@ -32,7 +32,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ -#include "H5Ppublic.h" /* Property Lists */ /****************/ /* Local Macros */ diff --git a/src/H5Odtype.c b/src/H5Odtype.c index 620d686..05652df 100644 --- a/src/H5Odtype.c +++ b/src/H5Odtype.c @@ -18,7 +18,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* Files */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Gprivate.h" /* Groups */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Tpkg.h" /* Datatypes */ diff --git a/src/H5Ofill.c b/src/H5Ofill.c index 9eaeb80..c1bb70f 100644 --- a/src/H5Ofill.c +++ b/src/H5Ofill.c @@ -21,7 +21,6 @@ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Pprivate.h" /* Property lists */ diff --git a/src/H5Olayout.c b/src/H5Olayout.c index 75456d6..fc0f59e 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -21,10 +21,8 @@ #include "H5Dpkg.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5MFprivate.h" /* File space management */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ -#include "H5Pprivate.h" /* Property lists */ /* Local macros */ diff --git a/src/H5Olink.c b/src/H5Olink.c index 6657a50..431e1dd 100644 --- a/src/H5Olink.c +++ b/src/H5Olink.c @@ -19,14 +19,12 @@ *------------------------------------------------------------------------- */ -#define H5G_FRIEND /*suppress error about including H5Gpkg */ #define H5L_FRIEND /*suppress error about including H5Lpkg */ #include "H5Omodule.h" /* This source code file is part of the H5O module */ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ -#include "H5Gpkg.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5Lpkg.h" /* Links */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Omessage.c b/src/H5Omessage.c index bc4381b..7190e46 100644 --- a/src/H5Omessage.c +++ b/src/H5Omessage.c @@ -29,7 +29,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5Aprivate.h" /* Attributes */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ #include "H5Iprivate.h" /* IDs */ diff --git a/src/H5Omtime.c b/src/H5Omtime.c index 864af93..cd7fba4 100644 --- a/src/H5Omtime.c +++ b/src/H5Omtime.c @@ -19,7 +19,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ static void *H5O__mtime_new_decode(H5F_t *f, H5O_t *open_oh, unsigned mesg_flags, unsigned *ioflags, diff --git a/src/H5Opline.c b/src/H5Opline.c index 897fa34..80345d8 100644 --- a/src/H5Opline.c +++ b/src/H5Opline.c @@ -18,7 +18,6 @@ #define H5Z_FRIEND /*suppress error about including H5Zpkg */ #include "H5private.h" /* Generic Functions */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Osdspace.c b/src/H5Osdspace.c index cf68a76..1658fa7 100644 --- a/src/H5Osdspace.c +++ b/src/H5Osdspace.c @@ -17,8 +17,6 @@ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ -#include "H5Gprivate.h" /* Groups */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Spkg.h" /* Dataspaces */ diff --git a/src/H5Oshared.c b/src/H5Oshared.c index f53fae5..9c32caf 100644 --- a/src/H5Oshared.c +++ b/src/H5Oshared.c @@ -32,7 +32,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ -#include "H5Gprivate.h" /* Groups */ #include "H5HFprivate.h" /* Fractal heap */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ diff --git a/src/H5Otest.c b/src/H5Otest.c index 2c23f0c..410baa7 100644 --- a/src/H5Otest.c +++ b/src/H5Otest.c @@ -30,7 +30,6 @@ #include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5Opkg.h" /* Object headers */ /****************/ diff --git a/src/H5PB.c b/src/H5PB.c index c671489..b941225 100644 --- a/src/H5PB.c +++ b/src/H5PB.c @@ -33,7 +33,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* Files */ #include "H5FDprivate.h" /* File drivers */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5PBpkg.h" /* File access */ #include "H5SLprivate.h" /* Skip List */ diff --git a/src/H5PLint.c b/src/H5PLint.c index 23d0750..6ee4603 100644 --- a/src/H5PLint.c +++ b/src/H5PLint.c @@ -24,11 +24,10 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5PLpkg.h" /* Plugin */ -#include "H5Zprivate.h" /* Filter pipeline */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5PLpkg.h" /* Plugin */ +#include "H5Zprivate.h" /* Filter pipeline */ /****************/ /* Local Macros */ diff --git a/src/H5PLplugin_cache.c b/src/H5PLplugin_cache.c index 3538d7f..3878f36 100644 --- a/src/H5PLplugin_cache.c +++ b/src/H5PLplugin_cache.c @@ -35,7 +35,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5MMprivate.h" /* Memory management */ #include "H5PLpkg.h" /* Plugin */ -#include "H5Zprivate.h" /* Filter pipeline */ /****************/ /* Local Macros */ diff --git a/src/H5Pdcpl.c b/src/H5Pdcpl.c index da516db..96cb52a 100644 --- a/src/H5Pdcpl.c +++ b/src/H5Pdcpl.c @@ -30,7 +30,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Dpkg.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ diff --git a/src/H5Pdxpl.c b/src/H5Pdxpl.c index 344746f..a253881 100644 --- a/src/H5Pdxpl.c +++ b/src/H5Pdxpl.c @@ -29,11 +29,9 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Cache */ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ #include "H5FDprivate.h" /* File drivers */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Ppkg.h" /* Property lists */ #include "H5VMprivate.h" /* Vector Functions */ diff --git a/src/H5Pencdec.c b/src/H5Pencdec.c index 77568c5..4d1d818 100644 --- a/src/H5Pencdec.c +++ b/src/H5Pencdec.c @@ -25,7 +25,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* Files */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Ppkg.h" /* Property lists */ diff --git a/src/H5Pfmpl.c b/src/H5Pfmpl.c index ff6a3a3..97856c5 100644 --- a/src/H5Pfmpl.c +++ b/src/H5Pfmpl.c @@ -31,7 +31,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* Files */ -#include "H5Iprivate.h" /* IDs */ #include "H5Ppkg.h" /* Property lists */ /****************/ diff --git a/src/H5Pgcpl.c b/src/H5Pgcpl.c index bcf9e8f..4ea0448 100644 --- a/src/H5Pgcpl.c +++ b/src/H5Pgcpl.c @@ -31,7 +31,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Gprivate.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ #include "H5Oprivate.h" /* Object headers */ #include "H5Ppkg.h" /* Property lists */ diff --git a/src/H5Pint.c b/src/H5Pint.c index f6dbb27..544ad37 100644 --- a/src/H5Pint.c +++ b/src/H5Pint.c @@ -23,12 +23,8 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#ifdef H5_HAVE_PARALLEL -#include "H5ACprivate.h" /* Metadata cache */ -#endif /* H5_HAVE_PARALLEL */ +#include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ #include "H5FLprivate.h" /* Free lists */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Plcpl.c b/src/H5Plcpl.c index 65a740c..b720b10 100644 --- a/src/H5Plcpl.c +++ b/src/H5Plcpl.c @@ -30,7 +30,6 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5Lprivate.h" /* Links */ #include "H5Ppkg.h" /* Property lists */ diff --git a/src/H5Pmapl.c b/src/H5Pmapl.c index ffb33d9..8824f05 100644 --- a/src/H5Pmapl.c +++ b/src/H5Pmapl.c @@ -29,7 +29,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Mprivate.h" /* Maps */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5Ppkg.h" /* Property lists */ /****************/ diff --git a/src/H5Pmcpl.c b/src/H5Pmcpl.c index f2cc29a..367edb3 100644 --- a/src/H5Pmcpl.c +++ b/src/H5Pmcpl.c @@ -31,7 +31,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Mprivate.h" /* Maps */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5Ppkg.h" /* Property lists */ /****************/ diff --git a/src/H5Pocpl.c b/src/H5Pocpl.c index 721e141..d293e84 100644 --- a/src/H5Pocpl.c +++ b/src/H5Pocpl.c @@ -31,11 +31,9 @@ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Opkg.h" /* Object headers */ #include "H5Ppkg.h" /* Property lists */ -#include "H5PLprivate.h" /* Dynamic plugin */ #include "H5VMprivate.h" /* Vector Functions */ #include "H5Zprivate.h" /* Filter pipeline */ diff --git a/src/H5Pocpypl.c b/src/H5Pocpypl.c index 113caa9..8a72337 100644 --- a/src/H5Pocpypl.c +++ b/src/H5Pocpypl.c @@ -31,7 +31,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Oprivate.h" /* Object headers */ #include "H5Ppkg.h" /* Property lists */ diff --git a/src/H5Pstrcpl.c b/src/H5Pstrcpl.c index b23a6fd..58cfa4c 100644 --- a/src/H5Pstrcpl.c +++ b/src/H5Pstrcpl.c @@ -31,7 +31,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* Files */ -#include "H5Iprivate.h" /* IDs */ #include "H5Ppkg.h" /* Property lists */ /****************/ diff --git a/src/H5Ptest.c b/src/H5Ptest.c index 5d2446c..f52a370 100644 --- a/src/H5Ptest.c +++ b/src/H5Ptest.c @@ -22,7 +22,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ #include "H5Ppkg.h" /* Property lists */ -#include "H5Dprivate.h" /* Dataset */ /* Local variables */ diff --git a/src/H5R.c b/src/H5R.c index 8c2d88a..3a91b92 100644 --- a/src/H5R.c +++ b/src/H5R.c @@ -28,7 +28,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5ESprivate.h" /* Event Sets */ #include "H5Iprivate.h" /* IDs */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Rpkg.h" /* References */ #include "H5Sprivate.h" /* Dataspaces */ #include "H5VLprivate.h" /* Virtual Object Layer */ diff --git a/src/H5Rdeprec.c b/src/H5Rdeprec.c index 0637eae..90869cf 100644 --- a/src/H5Rdeprec.c +++ b/src/H5Rdeprec.c @@ -36,7 +36,6 @@ /* Private headers needed by this file */ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Gprivate.h" /* Groups */ diff --git a/src/H5Rint.c b/src/H5Rint.c index 6a84f1c..4606a57 100644 --- a/src/H5Rint.c +++ b/src/H5Rint.c @@ -20,18 +20,14 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ -#include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Gprivate.h" /* Groups */ #include "H5HGprivate.h" /* Global Heaps */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Oprivate.h" /* Object headers */ #include "H5Rpkg.h" /* References */ #include "H5Sprivate.h" /* Dataspaces */ -#include "H5Tprivate.h" /* Datatypes */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5SMbtree2.c b/src/H5SMbtree2.c index d021a48..ef0da51 100644 --- a/src/H5SMbtree2.c +++ b/src/H5SMbtree2.c @@ -20,11 +20,10 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5Opkg.h" /* Object Headers */ -#include "H5SMpkg.h" /* Shared object header messages */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Opkg.h" /* Object Headers */ +#include "H5SMpkg.h" /* Shared object header messages */ /****************/ /* Local Macros */ diff --git a/src/H5SMcache.c b/src/H5SMcache.c index 029e402..77f1eef 100644 --- a/src/H5SMcache.c +++ b/src/H5SMcache.c @@ -31,10 +31,8 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ #include "H5FLprivate.h" /* Free Lists */ -#include "H5MFprivate.h" /* File memory management */ #include "H5MMprivate.h" /* Memory management */ #include "H5SMpkg.h" /* Shared object header messages */ -#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ diff --git a/src/H5SMpkg.h b/src/H5SMpkg.h index 64f5c76..439954a 100644 --- a/src/H5SMpkg.h +++ b/src/H5SMpkg.h @@ -29,6 +29,7 @@ #include "H5ACprivate.h" /* Metadata Cache */ #include "H5B2private.h" /* B-trees */ #include "H5HFprivate.h" /* Fractal heaps */ +#include "H5FLprivate.h" /* Free Lists */ /****************************/ /* Package Macros */ diff --git a/src/H5SMtest.c b/src/H5SMtest.c index f306b89..bde1d1d 100644 --- a/src/H5SMtest.c +++ b/src/H5SMtest.c @@ -24,7 +24,6 @@ #include "H5ACprivate.h" /* Metadata cache */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File access */ -#include "H5FLprivate.h" /* Free Lists */ #include "H5SMpkg.h" /* Shared object header messages */ /****************/ diff --git a/src/H5Snone.c b/src/H5Snone.c index c4fdd4c..9e1ac8a 100644 --- a/src/H5Snone.c +++ b/src/H5Snone.c @@ -23,11 +23,10 @@ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* ID Functions */ -#include "H5Spkg.h" /* Dataspace functions */ -#include "H5VMprivate.h" /* Vector functions */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Iprivate.h" /* ID Functions */ +#include "H5Spkg.h" /* Dataspace functions */ /****************/ /* Local Macros */ diff --git a/src/H5Tbit.c b/src/H5Tbit.c index f70b038..c8300b8 100644 --- a/src/H5Tbit.c +++ b/src/H5Tbit.c @@ -19,7 +19,6 @@ #include "H5private.h" /*generic functions */ #include "H5Eprivate.h" /*error handling */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Tpkg.h" /*data-type functions */ #include "H5WBprivate.h" /* Wrapped Buffers */ diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c index 70b0930..5c4b4be 100644 --- a/src/H5Tcommit.c +++ b/src/H5Tcommit.c @@ -25,7 +25,6 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5ESprivate.h" /* Event Sets */ diff --git a/src/H5Tcompound.c b/src/H5Tcompound.c index f877d52..17ccc50 100644 --- a/src/H5Tcompound.c +++ b/src/H5Tcompound.c @@ -25,7 +25,6 @@ /* Headers */ /***********/ #include "H5private.h" /*generic functions */ -#include "H5CXprivate.h" /*API Contexts */ #include "H5Eprivate.h" /*error handling */ #include "H5Iprivate.h" /*ID functions */ #include "H5MMprivate.h" /*memory management */ diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 607b5ef..9a9d656 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -30,7 +30,6 @@ #include "H5FLprivate.h" /* Free Lists */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ -#include "H5Pprivate.h" /* Property lists */ #include "H5Tpkg.h" /* Datatypes */ /****************/ diff --git a/src/H5Tdeprec.c b/src/H5Tdeprec.c index 34e3687..76cddc7 100644 --- a/src/H5Tdeprec.c +++ b/src/H5Tdeprec.c @@ -32,10 +32,8 @@ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ -#include "H5FOprivate.h" /* File objects */ #include "H5Iprivate.h" /* IDs */ #include "H5Ppublic.h" /* Property Lists */ #include "H5Tpkg.h" /* Datatypes */ diff --git a/src/H5Tnative.c b/src/H5Tnative.c index 0e7d395..bf039e6 100644 --- a/src/H5Tnative.c +++ b/src/H5Tnative.c @@ -18,10 +18,8 @@ #include "H5Tmodule.h" /* This source code file is part of the H5T module */ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ -#include "H5Pprivate.h" /* Property lists */ #include "H5MMprivate.h" /* Memory management */ #include "H5Tpkg.h" /* Datatypes */ diff --git a/src/H5Tvlen.c b/src/H5Tvlen.c index ff822b2..6cf11c7 100644 --- a/src/H5Tvlen.c +++ b/src/H5Tvlen.c @@ -20,7 +20,6 @@ /****************/ #include "H5Tmodule.h" /* This source code file is part of the H5T module */ -#define H5F_FRIEND /*suppress error about including H5Fpkg */ /***********/ /* Headers */ @@ -28,7 +27,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5CXprivate.h" /* API Contexts */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fpkg.h" /* File */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Tpkg.h" /* Datatypes */ diff --git a/src/H5VL.c b/src/H5VL.c index 8e68f01..ce28a24 100644 --- a/src/H5VL.c +++ b/src/H5VL.c @@ -27,13 +27,12 @@ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Iprivate.h" /* IDs */ -#include "H5Pprivate.h" /* Property lists */ -#include "H5Tprivate.h" /* Datatypes */ -#include "H5VLpkg.h" /* Virtual Object Layer */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Iprivate.h" /* IDs */ +#include "H5Pprivate.h" /* Property lists */ +#include "H5Tprivate.h" /* Datatypes */ +#include "H5VLpkg.h" /* Virtual Object Layer */ /* VOL connectors */ #include "H5VLnative.h" /* Native VOL connector */ diff --git a/src/H5VLdyn_ops.c b/src/H5VLdyn_ops.c index 9d2e287..5f3f58c 100644 --- a/src/H5VLdyn_ops.c +++ b/src/H5VLdyn_ops.c @@ -30,7 +30,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FLprivate.h" /* Free lists */ -#include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5SLprivate.h" /* Skip lists */ #include "H5VLpkg.h" /* Virtual Object Layer */ diff --git a/src/H5VLnative_datatype.c b/src/H5VLnative_datatype.c index b2451d7..41776eb 100644 --- a/src/H5VLnative_datatype.c +++ b/src/H5VLnative_datatype.c @@ -29,7 +29,6 @@ #include "H5Gprivate.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5Oprivate.h" /* Object headers */ -#include "H5Pprivate.h" /* Property lists */ #include "H5Tpkg.h" /* Datatypes */ #include "H5VLprivate.h" /* Virtual Object Layer */ diff --git a/src/H5VLnative_file.c b/src/H5VLnative_file.c index 9ebc2c2..0c13c1d 100644 --- a/src/H5VLnative_file.c +++ b/src/H5VLnative_file.c @@ -29,7 +29,6 @@ #include "H5Cprivate.h" /* Cache */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fpkg.h" /* Files */ -#include "H5Gprivate.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5MFprivate.h" /* File memory management */ #include "H5Pprivate.h" /* Property lists */ diff --git a/src/H5VLnative_group.c b/src/H5VLnative_group.c index 70b7ab9..43ab7a3 100644 --- a/src/H5VLnative_group.c +++ b/src/H5VLnative_group.c @@ -29,7 +29,6 @@ #include "H5Gpkg.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5Oprivate.h" /* Object headers */ -#include "H5Pprivate.h" /* Property lists */ #include "H5VLprivate.h" /* Virtual Object Layer */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5VLnative_link.c b/src/H5VLnative_link.c index 5f4fa4d..c25a012 100644 --- a/src/H5VLnative_link.c +++ b/src/H5VLnative_link.c @@ -27,9 +27,7 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Gprivate.h" /* Groups */ -#include "H5Iprivate.h" /* IDs */ #include "H5Lpkg.h" /* Links */ -#include "H5Pprivate.h" /* Property lists */ #include "H5VLprivate.h" /* Virtual Object Layer */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5VLnative_object.c b/src/H5VLnative_object.c index 8c21e7f..00442b8 100644 --- a/src/H5VLnative_object.c +++ b/src/H5VLnative_object.c @@ -31,7 +31,6 @@ #include "H5Gprivate.h" /* Groups */ #include "H5Iprivate.h" /* IDs */ #include "H5Opkg.h" /* Object headers */ -#include "H5Pprivate.h" /* Property lists */ #include "H5VLprivate.h" /* Virtual Object Layer */ #include "H5VLnative_private.h" /* Native VOL connector */ diff --git a/src/H5Z.c b/src/H5Z.c index 6d02027..1895501 100644 --- a/src/H5Z.c +++ b/src/H5Z.c @@ -13,7 +13,6 @@ #include "H5Zmodule.h" /* This source code file is part of the H5Z module */ #include "H5private.h" /* Generic Functions */ -#include "H5CXprivate.h" /* API Contexts */ #include "H5Dprivate.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* File */ diff --git a/src/H5Zfletcher32.c b/src/H5Zfletcher32.c index 37f1381..a90131c 100644 --- a/src/H5Zfletcher32.c +++ b/src/H5Zfletcher32.c @@ -14,7 +14,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ #include "H5MMprivate.h" /* Memory management */ #include "H5Zpkg.h" /* Data filters */ diff --git a/src/H5Znbit.c b/src/H5Znbit.c index 65d09c7..fb5c5c5 100644 --- a/src/H5Znbit.c +++ b/src/H5Znbit.c @@ -17,7 +17,6 @@ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Ppublic.h" /* Property lists */ -#include "H5Oprivate.h" /* Object headers */ #include "H5Sprivate.h" /* Dataspaces */ #include "H5Tprivate.h" /* Datatypes */ #include "H5Zpkg.h" /* Data filters */ diff --git a/src/H5Zscaleoffset.c b/src/H5Zscaleoffset.c index 685e25a..fba1c7d 100644 --- a/src/H5Zscaleoffset.c +++ b/src/H5Zscaleoffset.c @@ -13,7 +13,6 @@ #include "H5Zmodule.h" /* This source code file is part of the H5Z module */ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5Eprivate.h" /* Error handling */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ diff --git a/src/H5Zszip.c b/src/H5Zszip.c index 052efa8..f75060e 100644 --- a/src/H5Zszip.c +++ b/src/H5Zszip.c @@ -14,7 +14,6 @@ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ #include "H5Iprivate.h" /* IDs */ #include "H5MMprivate.h" /* Memory management */ #include "H5Oprivate.h" /* Object headers */ -- cgit v0.12 From 92d1463a02c0a5e208922db49ff7ff7d30efe2a2 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:54:08 -0700 Subject: Clean up some hbool_t/TRUE/FALSE stragglers (#4143) It looks like most of these snuck in via selection I/O work --- src/H5CX.c | 6 +++--- src/H5FDint.c | 6 +++--- src/H5FDmpio.c | 2 +- src/H5Fmpi.c | 2 +- src/H5O.c | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/H5CX.c b/src/H5CX.c index 0c6c873..cdc6467 100644 --- a/src/H5CX.c +++ b/src/H5CX.c @@ -300,9 +300,9 @@ typedef struct H5CX_t { bool no_selection_io_cause_valid; /* Whether reason for not performing selection I/O is valid */ uint32_t - actual_selection_io_mode; /* Actual selection I/O mode used (H5D_ACTUAL_SELECTION_IO_MODE_NAME) */ - hbool_t actual_selection_io_mode_set; /* Whether actual selection I/O mode is set */ - hbool_t actual_selection_io_mode_valid; /* Whether actual selection I/O mode is valid */ + actual_selection_io_mode; /* Actual selection I/O mode used (H5D_ACTUAL_SELECTION_IO_MODE_NAME) */ + bool actual_selection_io_mode_set; /* Whether actual selection I/O mode is set */ + bool actual_selection_io_mode_valid; /* Whether actual selection I/O mode is valid */ /* Cached LCPL properties */ H5T_cset_t encoding; /* Link name character encoding */ diff --git a/src/H5FDint.c b/src/H5FDint.c index 5d3a802..a0b2c7d 100644 --- a/src/H5FDint.c +++ b/src/H5FDint.c @@ -376,7 +376,7 @@ H5FD_read_vector(H5FD_t *file, uint32_t count, H5FD_mem_t types[], haddr_t addrs size_t size = 0; H5FD_mem_t type = H5FD_MEM_DEFAULT; hid_t dxpl_id = H5I_INVALID_HID; /* DXPL for operation */ - hbool_t is_raw = FALSE; /* Does this include raw data */ + bool is_raw = false; /* Does this include raw data */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -461,7 +461,7 @@ H5FD_read_vector(H5FD_t *file, uint32_t count, H5FD_mem_t types[], haddr_t addrs /* Check for raw data operation */ if (type == H5FD_MEM_DRAW) - is_raw = TRUE; + is_raw = true; } } @@ -618,7 +618,7 @@ H5FD_write_vector(H5FD_t *file, uint32_t count, H5FD_mem_t types[], haddr_t addr H5FD_mem_t type = H5FD_MEM_DEFAULT; hid_t dxpl_id; /* DXPL for operation */ haddr_t eoa = HADDR_UNDEF; /* EOA for file */ - hbool_t is_raw = FALSE; /* Does this include raw data */ + bool is_raw = false; /* Does this include raw data */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c index 9c8ccdd..2668b27 100644 --- a/src/H5FDmpio.c +++ b/src/H5FDmpio.c @@ -38,7 +38,7 @@ static hid_t H5FD_MPIO_g = 0; /* Whether to allow collective I/O operations */ /* (Can be changed by setting "HDF5_MPI_OPT_TYPES" environment variable to '0' or '1') */ -hbool_t H5FD_mpi_opt_types_g = true; +bool H5FD_mpi_opt_types_g = true; /* Whether the driver initialized MPI on its own */ static bool H5FD_mpi_self_initialized = false; diff --git a/src/H5Fmpi.c b/src/H5Fmpi.c index f570038..805029f 100644 --- a/src/H5Fmpi.c +++ b/src/H5Fmpi.c @@ -284,7 +284,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5F__get_mpi_atomicity(const H5F_t *file, hbool_t *flag) +H5F__get_mpi_atomicity(const H5F_t *file, bool *flag) { herr_t ret_value = SUCCEED; diff --git a/src/H5O.c b/src/H5O.c index e515e19..706a8ec 100644 --- a/src/H5O.c +++ b/src/H5O.c @@ -2149,14 +2149,14 @@ done: /*------------------------------------------------------------------------- * Function: H5O__are_mdc_flushes_disabled * - * Purpose: Private version of cork status getter. + * Purpose: Private version of cork status getter * * Return: SUCCEED/FAIL * *------------------------------------------------------------------------- */ herr_t -H5O__are_mdc_flushes_disabled(const H5O_loc_t *oloc, hbool_t *are_disabled) +H5O__are_mdc_flushes_disabled(const H5O_loc_t *oloc, bool *are_disabled) { herr_t ret_value = SUCCEED; -- cgit v0.12 From 40e1c6d078ddd6d4a3e149c242bb3290dd4ee2c1 Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Fri, 15 Mar 2024 11:26:56 -0500 Subject: Fix error when overwriting an indirectly nested vlen with a shorter sequence (#4140) --- release_docs/RELEASE.txt | 10 +++ src/H5Tconv.c | 65 +++++++++++++++++- test/dsets.c | 170 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 243 insertions(+), 2 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 688762e..2d8eb32 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -591,6 +591,13 @@ Bug Fixes since HDF5-1.14.0 release Library ------- + - Fixed error when overwriting certain nested variable length types + + Previously, when using a datatype that included a variable length type + within a compound or array within another variable length type, and + overwriting data with a shorter (top level) variable length sequence, an + error could occur. This has been fixed. + - Fixed asserts raised by large values of H5Pset_est_link_info() parameters If large values for est_num_entries and/or est_name_len were passed @@ -1543,6 +1550,9 @@ Known Problems in the HDF5 source. Please report any new problems found to help@hdfgroup.org. + File space may not be released when overwriting or deleting certain nested + variable length or reference types. + CMake vs. Autotools installations ================================= diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 9a9d656..a37800b 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -3149,6 +3149,67 @@ done: } /* end H5T__conv_enum_numeric() */ /*------------------------------------------------------------------------- + * Function: H5T__conv_vlen_nested_free + * + * Purpose: Recursively locates and frees any nested VLEN components of + * complex data types (including COMPOUND). + * + * Return: Non-negative on success/Negative on failure. + * + *------------------------------------------------------------------------- + */ +static herr_t +H5T__conv_vlen_nested_free(uint8_t *buf, H5T_t *dt) +{ + herr_t ret_value = SUCCEED; /* Return value */ + + FUNC_ENTER_PACKAGE + + switch (dt->shared->type) { + case H5T_VLEN: + /* Pointer buf refers to VLEN data; free it (always reset tmp) */ + if ((*(dt->shared->u.vlen.cls->del))(dt->shared->u.vlen.file, buf) < 0) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "can't free nested vlen"); + break; + + case H5T_COMPOUND: + /* Pointer buf refers to COMPOUND data; recurse for each member. */ + for (unsigned i = 0; i < dt->shared->u.compnd.nmembs; ++i) + if (H5T__conv_vlen_nested_free(buf + dt->shared->u.compnd.memb[i].offset, + dt->shared->u.compnd.memb[i].type) < 0) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "can't free compound member"); + break; + + case H5T_ARRAY: + /* Pointer buf refers to ARRAY data; recurse for each element. */ + for (unsigned i = 0; i < dt->shared->u.array.nelem; ++i) + if (H5T__conv_vlen_nested_free(buf + i * dt->shared->parent->shared->size, + dt->shared->parent) < 0) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "can't free array data"); + break; + + case H5T_INTEGER: + case H5T_FLOAT: + case H5T_TIME: + case H5T_STRING: + case H5T_BITFIELD: + case H5T_OPAQUE: + case H5T_REFERENCE: + case H5T_ENUM: + /* These types cannot contain vl data */ + break; + + case H5T_NO_CLASS: + case H5T_NCLASSES: + default: + HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "invalid datatype class"); + } + +done: + FUNC_LEAVE_NOAPI(ret_value) +} /* H5T__conv_vlen_nested_free() */ + +/*------------------------------------------------------------------------- * Function: H5T__conv_vlen * * Purpose: Converts between VL datatypes in memory and on disk. @@ -3506,8 +3567,8 @@ H5T__conv_vlen(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata, const H5T_conv_ctx_t tmp = (uint8_t *)tmp_buf + seq_len * dst_base_size; for (u = seq_len; u < bg_seq_len; u++, tmp += dst_base_size) { - /* Delete sequence in destination location */ - if ((*(dst->shared->u.vlen.cls->del))(dst->shared->u.vlen.file, tmp) < 0) + /* Recursively free destination data */ + if (H5T__conv_vlen_nested_free(tmp, dst->shared->parent) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREMOVE, FAIL, "unable to remove heap object"); } /* end for */ diff --git a/test/dsets.c b/test/dsets.c index 5fa74f9..3203ed0 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -15717,6 +15717,174 @@ error: } /* end test_0sized_dset_metadata_alloc() */ /*------------------------------------------------------------------------- + * Function: test_downsize_vlen_scalar_dataset + * + * Purpose: Tests H5Dwrite on a scalar dataset containing a VLEN array + * of { double, C-string }. This causes special code to free + * the nested VLEN (in this case, C-string) allocations. + * + * Return: Success: 0 + * Failure: -1 + * + *------------------------------------------------------------------------- + */ +#define VLEN_DS_NAME "test_downsize_vlen_scalar_dataset" +#define VLEN_DS_DIM 100 +#define VLEN_DS_STRLEN 20 +#define VLEN_DS_STRING "vlen test string" +#define VLEN_DS_VALUE 0.12345678901234567890 +#define VLEN_DS_ARRAY_DIM1 3 +#define VLEN_DS_ARRAY_DIM2 5 + +typedef struct { + double value; + char *string[VLEN_DS_ARRAY_DIM1][VLEN_DS_ARRAY_DIM2]; +} vlen_ds_compound_file_t; + +typedef struct { + int padding1; + double value; + int padding2; + char *string[VLEN_DS_ARRAY_DIM1][VLEN_DS_ARRAY_DIM2]; + int padding3; +} vlen_ds_compound_memory_t; + +static herr_t +test_downsize_vlen_scalar_dataset(hid_t file) +{ + hid_t scalar_sid = -1; /* Scalar dataspace ID */ + hid_t string_tid = -1; /* VARIABLE string datatype ID */ + hid_t string_array_tid = -1; /* VARIABLE string array datatype ID */ + hid_t compound_file_tid = -1; /* COMPOUND datatype ID */ + hid_t compound_memory_tid = -1; /* COMPOUND datatype ID */ + hid_t vlen_compound_file_tid = -1; /* VARIABLE COMPOUND datatype ID */ + hid_t vlen_compound_memory_tid = -1; /* VARIABLE COMPOUND datatype ID */ + hid_t scalar_did = -1; /* SCALAR dataset ID */ + hvl_t vlen_compound_data; /* Top-level VLEN data */ + vlen_ds_compound_memory_t *compound_data = NULL; /* Contents of VLEN data */ + char common_string[VLEN_DS_STRLEN]; /* Common string contents */ + hsize_t array_dims[2] = {VLEN_DS_ARRAY_DIM1, VLEN_DS_ARRAY_DIM2}; + int i, dim1, dim2; /* Local index variables */ + + TESTING("H5Dwrite() on down-sized VLEN contents"); + + /* Allocate space for compound data */ + if (NULL == (compound_data = + (vlen_ds_compound_memory_t *)malloc(VLEN_DS_DIM * sizeof(vlen_ds_compound_memory_t)))) + TEST_ERROR; + + /* Create scalar dataspace */ + if ((scalar_sid = H5Screate(H5S_SCALAR)) < 0) + TEST_ERROR; + + /* Create datatype VLEN{COMPOUND{"value":H5T_NATIVE_DOUBLE, "string":H5T_C_S1|H5T_VARIABLE}} */ + /* Note: the memory and file structures must be different to invoke the bug @ H5Tconv.c:3323 */ + if ((string_tid = H5Tcopy(H5T_C_S1)) < 0) + TEST_ERROR; + if (H5Tset_size(string_tid, H5T_VARIABLE) < 0) + TEST_ERROR; + + if ((string_array_tid = H5Tarray_create2(string_tid, 2, array_dims)) < 0) + TEST_ERROR; + + if ((compound_file_tid = H5Tcreate(H5T_COMPOUND, sizeof(vlen_ds_compound_file_t))) < 0) + TEST_ERROR; + if (H5Tinsert(compound_file_tid, "value", HOFFSET(vlen_ds_compound_file_t, value), H5T_NATIVE_DOUBLE) < 0) + TEST_ERROR; + if (H5Tinsert(compound_file_tid, "string", HOFFSET(vlen_ds_compound_file_t, string), string_array_tid) < + 0) + TEST_ERROR; + if ((vlen_compound_file_tid = H5Tvlen_create(compound_file_tid)) < 0) + TEST_ERROR; + + if ((compound_memory_tid = H5Tcreate(H5T_COMPOUND, sizeof(vlen_ds_compound_memory_t))) < 0) + TEST_ERROR; + if (H5Tinsert(compound_memory_tid, "value", HOFFSET(vlen_ds_compound_memory_t, value), + H5T_NATIVE_DOUBLE) < 0) + TEST_ERROR; + if (H5Tinsert(compound_memory_tid, "string", HOFFSET(vlen_ds_compound_memory_t, string), + string_array_tid) < 0) + TEST_ERROR; + if ((vlen_compound_memory_tid = H5Tvlen_create(compound_memory_tid)) < 0) + TEST_ERROR; + + /* Create the scalar dataset of this data type */ + if ((scalar_did = H5Dcreate2(file, VLEN_DS_NAME, vlen_compound_file_tid, scalar_sid, H5P_DEFAULT, + H5P_DEFAULT, H5P_DEFAULT)) < 0) + TEST_ERROR; + + /* Setup the variable-length data. Note that if the double "value" field is set to 0.0, the bug will NOT + */ + /* occur because this is the data at offset zero of the element, and it then looks like a NULL VLEN data + */ + strcpy(common_string, VLEN_DS_STRING); + + for (i = 0; i < VLEN_DS_DIM; ++i) { + compound_data[i].value = VLEN_DS_VALUE; + for (dim1 = 0; dim1 < VLEN_DS_ARRAY_DIM1; ++dim1) { + for (dim2 = 0; dim2 < VLEN_DS_ARRAY_DIM2; ++dim2) { + compound_data[i].string[dim1][dim2] = common_string; + } + } + compound_data[i].padding1 = 0; + compound_data[i].padding2 = 0; + compound_data[i].padding3 = 0; + } + + /* Starting with the maximum size, progressively over-write the content of the dataset with smaller + * arrays. */ + /* Note: the bug in v1.8.14 is tripped on the second iteration, when 100 elements are over-written + * with 99. */ + for (i = VLEN_DS_DIM; i > 0; --i) { + vlen_compound_data.len = (size_t)i; + vlen_compound_data.p = compound_data; + if (H5Dwrite(scalar_did, vlen_compound_memory_tid, scalar_sid, scalar_sid, H5P_DEFAULT, + &vlen_compound_data) < 0) + TEST_ERROR; + } + + /* Close everything */ + if (H5Sclose(scalar_sid) < 0) + TEST_ERROR; + if (H5Tclose(string_tid) < 0) + TEST_ERROR; + if (H5Tclose(string_array_tid) < 0) + TEST_ERROR; + if (H5Tclose(compound_file_tid) < 0) + TEST_ERROR; + if (H5Tclose(vlen_compound_file_tid) < 0) + TEST_ERROR; + if (H5Tclose(compound_memory_tid) < 0) + TEST_ERROR; + if (H5Tclose(vlen_compound_memory_tid) < 0) + TEST_ERROR; + if (H5Dclose(scalar_did) < 0) + TEST_ERROR; + free(compound_data); + compound_data = NULL; + + PASSED(); + return 0; + +error: + H5E_BEGIN_TRY + { + H5Sclose(scalar_sid); + H5Tclose(string_tid); + H5Tclose(string_array_tid); + H5Tclose(compound_file_tid); + H5Tclose(vlen_compound_file_tid); + H5Tclose(compound_memory_tid); + H5Tclose(vlen_compound_memory_tid); + H5Dclose(scalar_did); + free(compound_data); + compound_data = NULL; + } + H5E_END_TRY; + return -1; +} /* end test_downsize_vlen_scalar_dataset() */ + +/*------------------------------------------------------------------------- * Function: main * * Purpose: Tests the dataset interface (H5D) @@ -15958,6 +16126,8 @@ main(void) nerrors += (test_farray_hdr_fd(envval, my_fapl) < 0 ? 1 : 0); nerrors += (test_bt2_hdr_fd(envval, my_fapl) < 0 ? 1 : 0); + nerrors += (test_downsize_vlen_scalar_dataset(file) < 0 ? 1 : 0); + if (H5Fclose(file) < 0) goto error; } /* end for new_format */ -- cgit v0.12 From e913eee81c3176c9fa29618b38fc9fb723ec1e61 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 15 Mar 2024 12:05:14 -0500 Subject: defined CMAKE_H5_HAVE_DARWIN (#4146) --- fortran/src/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 99644b8..b2ac81e 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -31,6 +31,12 @@ else () set (CMAKE_H5_HAVE_MPI_F08 0) endif () +if (H5_HAVE_DARWIN) # Used in testing + set (CMAKE_H5_HAVE_DARWIN 1) +else () + set (CMAKE_H5_HAVE_DARWIN 0) +endif () + # configure for Fortran preprocessor # Define Parallel variable for passing to H5config_f.inc.cmake -- cgit v0.12 From 26837b4af843eefd8f867091482dd222ebf698e2 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 15 Mar 2024 10:36:18 -0700 Subject: Make the newsletter scheme work like HDF4 (#4149) --- release_docs/NEWSLETTER.txt | 25 ------------------------- release_docs/NEWSLETTER_README.txt | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 release_docs/NEWSLETTER_README.txt diff --git a/release_docs/NEWSLETTER.txt b/release_docs/NEWSLETTER.txt index f03f710..e69de29 100644 --- a/release_docs/NEWSLETTER.txt +++ b/release_docs/NEWSLETTER.txt @@ -1,25 +0,0 @@ -INTRODUCTION -============ - -This purpose of this document is to contain entries that can be used to quickly -produce a release newsletter. When something is added to the library that is -"newsletter worthy" (i.e., new feature, CVE fix, etc.) a summary note should -be added here. - -The format should look like this: - -* SUMMARY OF NEWSLETTER-WORTHY THING - - Here is where you describe the summary. Summarize the feature, fix, or - change in general language. Remember, RELEASE.txt is for communicating - technical specifics. Text entered here is more like advertising. - - (GitHub #123, #125) - -The GitHub #s could be relevant issues or PRs. They will probably not appear -in the final newsletter, but are so that the person writing the newsletter -has easy access to context if they have questions. - -Every entry in RELEASE.txt does NOT require an entry here. The newsletter is -for communicating major changes that are of interest to anyone. Minor bugfixes, -memory leak fixes, etc. do not require entries. diff --git a/release_docs/NEWSLETTER_README.txt b/release_docs/NEWSLETTER_README.txt new file mode 100644 index 0000000..f03f710 --- /dev/null +++ b/release_docs/NEWSLETTER_README.txt @@ -0,0 +1,25 @@ +INTRODUCTION +============ + +This purpose of this document is to contain entries that can be used to quickly +produce a release newsletter. When something is added to the library that is +"newsletter worthy" (i.e., new feature, CVE fix, etc.) a summary note should +be added here. + +The format should look like this: + +* SUMMARY OF NEWSLETTER-WORTHY THING + + Here is where you describe the summary. Summarize the feature, fix, or + change in general language. Remember, RELEASE.txt is for communicating + technical specifics. Text entered here is more like advertising. + + (GitHub #123, #125) + +The GitHub #s could be relevant issues or PRs. They will probably not appear +in the final newsletter, but are so that the person writing the newsletter +has easy access to context if they have questions. + +Every entry in RELEASE.txt does NOT require an entry here. The newsletter is +for communicating major changes that are of interest to anyone. Minor bugfixes, +memory leak fixes, etc. do not require entries. -- cgit v0.12 From 3861c0c7779c8badfdfef2c43f8148d47733fb83 Mon Sep 17 00:00:00 2001 From: "H. Joe Lee" Date: Fri, 15 Mar 2024 15:00:47 -0500 Subject: Remove at the end of list item. (#4151) --- release_docs/INSTALL_CMake.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 4d4af24..94f525b 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -1104,7 +1104,7 @@ Using individual command presets (where is GNUC or MSVC or Clan cpack --preset ci-StdShar- -Using the workflow preset to configure, build, test and package the standard configuration is: +Using the workflow preset to configure, build, test and package the standard configuration: change directory to the hdf5 source folder execute "cmake --workflow --preset ci-StdShar- --fresh" where is GNUC or MSVC or Clang -- cgit v0.12 From 6635198d7f300674c61289cfbeb08699d117f2b5 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Fri, 15 Mar 2024 21:01:03 +0100 Subject: Fix buffer size calculation in the deflate filter (#4147) --- src/H5Zdeflate.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/H5Zdeflate.c b/src/H5Zdeflate.c index 032945a..7d58064 100644 --- a/src/H5Zdeflate.c +++ b/src/H5Zdeflate.c @@ -42,8 +42,6 @@ const H5Z_class2_t H5Z_DEFLATE[1] = {{ H5Z__filter_deflate, /* The actual filter function */ }}; -#define H5Z_DEFLATE_SIZE_ADJUST(s) (ceil(((double)(s)) * 1.001) + 12) - /*------------------------------------------------------------------------- * Function: H5Z__filter_deflate * @@ -149,7 +147,7 @@ H5Z__filter_deflate(unsigned flags, size_t cd_nelmts, const unsigned cd_values[] */ const Bytef *z_src = (const Bytef *)(*buf); Bytef *z_dst; /*destination buffer */ - uLongf z_dst_nbytes = (uLongf)H5Z_DEFLATE_SIZE_ADJUST(nbytes); + uLongf z_dst_nbytes = (uLongf)compressBound(nbytes); uLong z_src_nbytes = (uLong)nbytes; int aggression; /* Compression aggression setting */ -- cgit v0.12 From 6d85ea26abea85935af45081e8ef9d6e2a659171 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 15 Mar 2024 13:01:22 -0700 Subject: Remove H5O header and friend status from H5A.c (#4150) --- src/H5A.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/H5A.c b/src/H5A.c index 1db7fd3..6728596 100644 --- a/src/H5A.c +++ b/src/H5A.c @@ -15,7 +15,6 @@ /****************/ #include "H5Amodule.h" /* This source code file is part of the H5A module */ -#define H5O_FRIEND /* Suppress error about including H5Opkg */ /***********/ /* Headers */ @@ -26,7 +25,6 @@ #include "H5Eprivate.h" /* Error handling */ #include "H5ESprivate.h" /* Event Sets */ #include "H5Iprivate.h" /* IDs */ -#include "H5Opkg.h" /* Object headers */ #include "H5Sprivate.h" /* Dataspace functions */ #include "H5VLprivate.h" /* Virtual Object Layer */ -- cgit v0.12