summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2024-03-16 03:42:21 (GMT)
committerGitHub <noreply@github.com>2024-03-16 03:42:21 (GMT)
commit844172a1e81fd614fa1efb32e2dcee469b740794 (patch)
tree9cfe0eb3c73bf034b2637c8782c066f8d7a7ff0f
parent4320d92be6f2d4c945ebe2ce8d63a683d6642a96 (diff)
parent6d85ea26abea85935af45081e8ef9d6e2a659171 (diff)
downloadhdf5-feature/new_datatypes.zip
hdf5-feature/new_datatypes.tar.gz
hdf5-feature/new_datatypes.tar.bz2
Merge branch 'develop' into feature/new_datatypesfeature/new_datatypes
-rw-r--r--.github/workflows/aocc-auto.yml (renamed from .github/workflows/aocc-ompi-auto.yml)10
-rw-r--r--.github/workflows/aocc-cmake.yml (renamed from .github/workflows/aocc-ompi-cmake.yml)10
-rw-r--r--.github/workflows/autotools.yml10
-rw-r--r--.github/workflows/cmake.yml11
-rw-r--r--.github/workflows/cygwin-auto.yml62
-rw-r--r--.github/workflows/cygwin-cmake.yml63
-rw-r--r--.github/workflows/intel-auto.yml83
-rw-r--r--.github/workflows/intel-cmake.yml56
-rw-r--r--.github/workflows/main-auto.yml4
-rw-r--r--.github/workflows/main-cmake.yml23
-rw-r--r--.github/workflows/main.yml6
-rw-r--r--.github/workflows/mingw-cmake.yml91
-rw-r--r--.github/workflows/msys2-auto.yml66
-rw-r--r--.github/workflows/nvhpc-auto.yml17
-rw-r--r--.github/workflows/nvhpc-cmake.yml14
-rw-r--r--CMakeLists.txt2
-rwxr-xr-xbin/cmakehdf51
-rw-r--r--bin/h5cc.in42
-rw-r--r--c++/src/h5c++.in42
-rw-r--r--config/cmake/ConfigureChecks.cmake6
-rw-r--r--config/cmake/LIBAEC/CMakeLists.txt2
-rw-r--r--config/cmake/ZLIB/CMakeLists.txt2
-rw-r--r--config/cmake/scripts/CTestScript.cmake31
-rw-r--r--config/conclude.am6
-rw-r--r--configure.ac29
-rw-r--r--fortran/src/CMakeLists.txt6
-rw-r--r--fortran/src/h5fc.in28
-rw-r--r--fortran/test/fortranlib_test_F03.F902
-rw-r--r--fortran/test/tH5E_F03.F9023
-rw-r--r--fortran/test/tH5T_F03.F902
-rw-r--r--release_docs/INSTALL_CMake.txt2
-rw-r--r--release_docs/NEWSLETTER.txt25
-rw-r--r--release_docs/NEWSLETTER_README.txt25
-rw-r--r--release_docs/RELEASE.txt35
-rw-r--r--src/H5A.c4
-rw-r--r--src/H5AC.c1
-rw-r--r--src/H5Adeprec.c1
-rw-r--r--src/H5Aint.c2
-rw-r--r--src/H5Atest.c1
-rw-r--r--src/H5B.c2
-rw-r--r--src/H5B2dbg.c7
-rw-r--r--src/H5CX.c6
-rw-r--r--src/H5Cimage.c1
-rw-r--r--src/H5Ctag.c1
-rw-r--r--src/H5Dbtree.c1
-rw-r--r--src/H5Dcontig.c2
-rw-r--r--src/H5Ddbg.c1
-rw-r--r--src/H5Dfill.c2
-rw-r--r--src/H5Dio.c3
-rw-r--r--src/H5Dmpio.c1
-rw-r--r--src/H5Dnone.c1
-rw-r--r--src/H5Dscatgath.c1
-rw-r--r--src/H5Dsingle.c2
-rw-r--r--src/H5EAcache.c3
-rw-r--r--src/H5EAdblkpage.c1
-rw-r--r--src/H5EApkg.h1
-rw-r--r--src/H5ES.c1
-rw-r--r--src/H5ESlist.c7
-rw-r--r--src/H5FAcache.c3
-rw-r--r--src/H5FAdbg.c1
-rw-r--r--src/H5FD.c1
-rw-r--r--src/H5FDfamily.c1
-rw-r--r--src/H5FDint.c6
-rw-r--r--src/H5FDmpi.c3
-rw-r--r--src/H5FDmpio.c2
-rw-r--r--src/H5FDperform.c9
-rw-r--r--src/H5FDsec2.c1
-rw-r--r--src/H5FDwindows.c4
-rw-r--r--src/H5FScache.c1
-rw-r--r--src/H5Fdeprec.c1
-rw-r--r--src/H5Fint.c1
-rw-r--r--src/H5Fio.c1
-rw-r--r--src/H5Fmount.c4
-rw-r--r--src/H5Fmpi.c2
-rw-r--r--src/H5Fsuper.c1
-rw-r--r--src/H5Fsuper_cache.c2
-rw-r--r--src/H5Gcache.c2
-rw-r--r--src/H5Gdeprec.c1
-rw-r--r--src/H5Gent.c1
-rw-r--r--src/H5Glink.c1
-rw-r--r--src/H5Gname.c1
-rw-r--r--src/H5Gobj.c15
-rw-r--r--src/H5Groot.c2
-rw-r--r--src/H5Gtraverse.c1
-rw-r--r--src/H5HF.c2
-rw-r--r--src/H5HFcache.c2
-rw-r--r--src/H5HFdbg.c1
-rw-r--r--src/H5HFman.c2
-rw-r--r--src/H5HFsection.c1
-rw-r--r--src/H5HGcache.c1
-rw-r--r--src/H5HGdbg.c1
-rw-r--r--src/H5Lexternal.c2
-rw-r--r--src/H5MF.c1
-rw-r--r--src/H5O.c5
-rw-r--r--src/H5Ocache.c2
-rw-r--r--src/H5Ocont.c1
-rw-r--r--src/H5Ocopy.c3
-rw-r--r--src/H5Odbg.c1
-rw-r--r--src/H5Odtype.c1
-rw-r--r--src/H5Ofill.c1
-rw-r--r--src/H5Olayout.c2
-rw-r--r--src/H5Olink.c2
-rw-r--r--src/H5Omessage.c1
-rw-r--r--src/H5Omtime.c1
-rw-r--r--src/H5Opline.c1
-rw-r--r--src/H5Osdspace.c2
-rw-r--r--src/H5Oshared.c1
-rw-r--r--src/H5Otest.c1
-rw-r--r--src/H5PB.c1
-rw-r--r--src/H5PLint.c9
-rw-r--r--src/H5PLplugin_cache.c1
-rw-r--r--src/H5Pdcpl.c1
-rw-r--r--src/H5Pdxpl.c2
-rw-r--r--src/H5Pencdec.c1
-rw-r--r--src/H5Pfmpl.c1
-rw-r--r--src/H5Pgcpl.c1
-rw-r--r--src/H5Pint.c6
-rw-r--r--src/H5Plcpl.c1
-rw-r--r--src/H5Pmapl.c1
-rw-r--r--src/H5Pmcpl.c1
-rw-r--r--src/H5Pocpl.c2
-rw-r--r--src/H5Pocpypl.c1
-rw-r--r--src/H5Pstrcpl.c1
-rw-r--r--src/H5Ptest.c1
-rw-r--r--src/H5R.c1
-rw-r--r--src/H5Rdeprec.c1
-rw-r--r--src/H5Rint.c4
-rw-r--r--src/H5SMbtree2.c9
-rw-r--r--src/H5SMcache.c2
-rw-r--r--src/H5SMpkg.h1
-rw-r--r--src/H5SMtest.c1
-rw-r--r--src/H5Snone.c9
-rw-r--r--src/H5Tbit.c1
-rw-r--r--src/H5Tcommit.c1
-rw-r--r--src/H5Tcompound.c1
-rw-r--r--src/H5Tconv.c66
-rw-r--r--src/H5Tdeprec.c2
-rw-r--r--src/H5Tnative.c2
-rw-r--r--src/H5Tvlen.c2
-rw-r--r--src/H5VL.c13
-rw-r--r--src/H5VLdyn_ops.c1
-rw-r--r--src/H5VLnative_datatype.c1
-rw-r--r--src/H5VLnative_file.c1
-rw-r--r--src/H5VLnative_group.c1
-rw-r--r--src/H5VLnative_link.c2
-rw-r--r--src/H5VLnative_object.c1
-rw-r--r--src/H5Z.c1
-rw-r--r--src/H5Zdeflate.c4
-rw-r--r--src/H5Zfletcher32.c1
-rw-r--r--src/H5Znbit.c1
-rw-r--r--src/H5Zscaleoffset.c1
-rw-r--r--src/H5Zszip.c1
-rw-r--r--test/API/H5_api_dataset_test.c17
-rw-r--r--test/dsets.c179
-rw-r--r--test/links.c5
155 files changed, 877 insertions, 483 deletions
diff --git a/.github/workflows/aocc-ompi-auto.yml b/.github/workflows/aocc-auto.yml
index be67672..740005d 100644
--- a/.github/workflows/aocc-ompi-auto.yml
+++ b/.github/workflows/aocc-auto.yml
@@ -16,9 +16,10 @@ jobs:
name: "aocc ${{ 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
@@ -28,6 +29,7 @@ jobs:
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
@@ -74,7 +76,6 @@ jobs:
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:
@@ -84,8 +85,6 @@ jobs:
make -j3
working-directory: ${{ runner.workspace }}/build
- # RUN TESTS
- # NORMAL
- name: Autotools Run Tests
env:
NPROCS: 2
@@ -94,7 +93,6 @@ jobs:
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
diff --git a/.github/workflows/aocc-ompi-cmake.yml b/.github/workflows/aocc-cmake.yml
index f2a834d..f1195dd 100644
--- a/.github/workflows/aocc-ompi-cmake.yml
+++ b/.github/workflows/aocc-cmake.yml
@@ -16,9 +16,10 @@ jobs:
name: "aocc ${{ 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
@@ -28,6 +29,7 @@ jobs:
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
@@ -56,7 +58,7 @@ jobs:
make
make install
- - name: CMake Configure with aocc
+ - 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
@@ -77,14 +79,12 @@ jobs:
$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/.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/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 ()
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/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/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 93c852e..7272cb9 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 ()
#-----------------------------------------------------------------------------
@@ -224,7 +226,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)
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 ()
#-----------------------------------------------------------------------------
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/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
diff --git a/configure.ac b/configure.ac
index 9ca62a3..f33fb8b 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.
@@ -1605,6 +1618,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
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
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=""
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.
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 <compiler-type> is GNUC or MSVC or Clan
cpack --preset ci-StdShar-<compiler-type>
-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-<compiler-type> --fresh"
where <compiler-type> is GNUC or MSVC or Clang
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.
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 7330f4a..bb0448e 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:
@@ -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
@@ -640,6 +647,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 a bug that causes the library to incorrectly identify
@@ -678,6 +699,13 @@ Bug Fixes since HDF5-1.14.0 release
overflow. Rather than return positive infinity, the library would
return truncated data. This has now been fixed.
+ - 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
@@ -1641,6 +1669,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/H5A.c b/src/H5A.c
index a3bcf01..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 */
@@ -25,10 +24,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/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/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/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/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/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/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/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/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..706a8ec 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 */
@@ -2150,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;
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 168370c..0e35fb5 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 */
/****************/
@@ -3251,6 +3250,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.
@@ -3608,8 +3668,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/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 a5c97a7..46ffe77 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/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 */
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 */
diff --git a/test/API/H5_api_dataset_test.c b/test/API/H5_api_dataset_test.c
index 2ff6475..4ddde286 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) {
diff --git a/test/dsets.c b/test/dsets.c
index efd95f6..3203ed0 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)
@@ -15708,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)
@@ -15949,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 */
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)