* Split H5Tconv.c into modules by type (#4393)
* Split H5Tconv.c into modules by type
* Add new H5Tconv headers to list of private headers
* Fix broken links in VOL API table (#4438)
* Don't print thread ID when the library isn't multithreaded. (#4428)
Corresponding changes to make error output for regression tests agnostic
to thread setting.
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* Start refactoring H5E code to avoid using IDs internally (#4427)
* Add support for builtin_expect compiler hint (#4425)
* Add support for __builtin_expect extension
And H5_LIKELY / H5_UNLIKELY macros to wrap it
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* Committing clang-format changes
---------
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* sanitizer flags need set before compiler flags (#4444)
* Add navigate chapters and use release_docs in Learn Basics (#4441)
* Fix for github issue #3790: infinite loop closing library (#4445)
* Fix for github issue #3790: infinite loop closing library
Cause of the problem:
When h5dump tries to open the user provided test file, the metadata cache will
call the "get_final_load_size" callback to find out the actual size of the
the root object header. The callback function will call
H5O__prefix_deserialize() to allocate space for the object header
data structure (via H5FL_CALLOC) and to deserialize the object header prefix
in order to find the actual size of the object header.
The metadata cache will then check whether the actual size obtained
will exceed the file's EOA.
Since the actual size obtained from the test file exceeds the EOA,
the metadata cache throws an error and return.
However, the oh structure that was allocated in H5O__prefix_deserialize()
was not freed and hence causing the problem described in this issue.
Fix:
1) Deallocate the oh structure after obtaining and saving the needed
information in udata which will be used later on in the "verify_chksum" callback.
2) Deserialize the object header prefix in the "object header's
"deserialize" callback regardless. The original coding intends to keep the
deserialized prefix so that the object header's "deserialize" callback
does not need to deserialize the prefix again if the object header is coming
through the "get_final_load_size" callback.
* H5R Fortran wrappers and misc. H5R API/DOC updates (#4446)
- Add Fortran H5R APIs:
h5rcreate_attr_f, h5rcreate_object_f, h5rcreate_region_f,
h5ropen_attr_f, h5ropen_object_f, h5ropen_region_f,
h5rget_file_name_f, h5rget_attr_name_f, h5rget_obj_name_f,
h5rcopy_f, h5requal_f, h5rdestroy_f, h5rget_type_f
- Fixed function H5Requal actually to compare the reference pointers
Fixed an issue with H5Requal always returning true because the
function was only comparing the ref2_ptr to itself.
* Fix heap-buffer-overflow in H5Fio.c (#4450)
The buffer size for checksum was smaller than H5_SIZEOF_CHKSUM, causing an
overflow while calculating the offset to the checksum in the buffer.
A check was added so H5F_get_checksums would fail appropriately in all
of its occurrences.
Fix gh-4434
* Fix grammar in VOL guide (#4452)
* Fix bug in MPI-IO VFD (#4456)
Corrects incorrect usage of the vector_was_sorted parameter in H5FD__mpio_vector_build_types()
* Bump the github-actions group with 3 updates (#4455)
Bumps the github-actions group with 3 updates: [actions/download-artifact](https://github.com/actions/download-artifact), [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/download-artifact` from 4.1.4 to 4.1.7
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](c850b930e6...65a9edc588)
Updates `peaceiris/actions-gh-pages` from 3.9.3 to 4.0.0
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](373f7f263a...4f9cc6602d)
Updates `github/codeql-action` from 3.24.9 to 3.25.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1b1aada464...d39d31e687)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: peaceiris/actions-gh-pages
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fixed failures with xl compilers. (#4458)
* type cast constant
* fixed return types
* Convert ERR test to use grep (#4451)
* Convert ERR test to use grep
* Eliminate use of .err files in CMake
* Show error output if grep fails
* Turn off cuda in NVHPC CI
* Removed "function/code stack" debugging configure option (#4454)
Easily replaced w/third-party tools, e.g. libbacktrace
(https://github.com/ianlancetaylor/libbacktrace)
* Clean up memory leaks in t_vfd (#4457)
* Fixes and cleanup for ph5diff (#4460)
* Fixes and cleanup for ph5diff
Fixes concurrency issues in ph5diff that can cause interleaved
output
Fixes an issue where output can sometimes be dropped if it ended
up in ph5diff's output overflow file
Fixes an issue where MPI_Init is called after HDF5 has been
initialized, preventing the library from setting up an MPI
attribute to perform cleanup on MPI_Finalize
Fixes an issue in config/cmake/runTest.cmake where the CMake
logic would try to access an invalid list index if the number
of lines in a test's output and reference files don't match
* Add release note
* Remove use of err files in autotools test scripts (#4461)
* Fix typo in H5Rget_obj_type (#4463)
Issue GH-1723
* Use ADD_H5_ERR_TEST to not compare output (#4464)
* Fixed dead links in docs (#4334)
* Revert "Fixed dead links in docs (#4334)" (#4335)
This reverts commit 408fc66002.
* Fix grammar and content in HDF5Examples (#4333)
* Remove HD macros for C time functions (#4337)
* HDasctime
* HDclock
* HDctime
* HDdifftime
* HDgmtime
* HDlocaltime
* HDmktime
* HDtime
* HDtzset
HDgettimeofday will be done later
* Remove HD prefix from toupper/tolower (#4340)
* Add VDS and SWMR to documentation (#4336)
* Clean up random number generator code (#4338)
* Clean up random number generator code
Depending on the platform, we use a mix of random, rand, and rand_r
to generate pseudo-random numbers, along with a messy set of ifdefs
in H5private.h. We are not a cryptographic library, only use random
numbers in our test code, and have no need for anything more than the
C standard's (s)rand(). There's no point dithering about using rand()
vs random() when we're also doing bad things like using mod to
restrict the range, which introduces bias.
Also removes CMake/configure checks for rand_r and random
* Remove random/rand_r checks from build system
* Fix missed HDrandom after GitHub merge
* Remove the getting started guide (#4339)
This was moved to the wiki
* Remove noise comment from H5DO.c (#4342)
* Add note about H5Iregister_type hash_table param (#4345)
The hash_table parameter is unused in HDF5 1.8.13 and later, when we moved from using hash tables to skip lists for storing IDs. The current hash table implementation does not use this parameter.
* Remove `#undef ERR` from H5private.h (#4346)
This is an old work-around that is no longer necessary.
The only place where we defined ERR is in h5import, and that code
has been updated (in this PR) to rename ERR to INVALID_TOKEN.
* Add NAMECHECK_ONLY to macro list in .clang-format (#4343)
This caused H5TS.c functions to be mis-formatted
* Remove HD from last non-win32 C89 functions (#4348)
Removes the HD prefix from the last C89 functions with no special
Windows equilvalent:
* rename
* rewind
* setbuf
* signal
* tmpfile
* Fix dead links cont. (#4349)
Added img/images_to_copy.dox as a temporary solution because doxygen didn't copy
the images used in the examples/*.html files - will investigate more. This was
necessary for the links to intro_SWMR.html and intro_VDS.html.
* Fix a typo (#4352)
* Fix use of possibly uninitialized memory in h5repack (#4354)
* Match content listing with content. (#4357)
* Remove obsolete c++ doxygen config files (#4358)
* Fix typo VERSIO (#4363)
* Removed duplicate entries in compile line for h5* compiler wrappers (#4360)
* h5fc remove duplicate args
* h5 wrappers remove duplicate args
* Added CVE info to RELEASE.txt (#4367)
* Change doxygen version from 1.10.0 to 1.9.7 (#4371)
* Fix all doxygen versions (#4377)
* Change date to data in INSTALL_parallel (#4384)
* Fix a broken link for zlib url (#4383)
* Fix broken links and references in INSTALL_Auto.txt (#4382)
* Remove signature in comment (#4366)
* switched from \returns to commonly used \return (#4389)
* Add CXX flags (#4359)
* Remove TRACE macros (#4341)
* Set available CMake build types for non-multi-config generators (#4330)
* Correct the high-level library link (#4398)
* Correct the high-level library link
The link currently used points to 1.13 release. Changed to use the md file instead.
* Update Doxyfile for md files
* Update to include md files
* Add additional terms to the glossary (#4401)
Fixes GH #4390
* added missing doxygen \since (#4410)
* Update Intel oneAPI version to 2024.1 (#4412)
* Update documentation (#4403)
- Added File Image Operations to Technical Notes
* Use a correct example location
* Use aliases for URLs (#4409)
* Fix CXX sanitizer by moving marco include to after CXX code. (#4414)
* Update and use more URL alias (#4413)
* Update documentation (#4415)
Added the replacement for https://docs.hdfgroup.org/archive/support/HDF5/doc/TechNotes/Version.html
Corrected some minor typos and another deadlink
* Remove obsolete file (#4416)
* Update oneAPI version to 2024.1 for Daily Build (#4418)
* Add training videos page (#4422)
* Updates for release_docs/NEWSLETTER.txt. (#4423)
* Add release process markdown file (#4312)
* Lowercase in File Format Specification (#4424)
* Fixing string in RELEASE_PROCESS.md that is causing a doxygen error - (#4430)
Unsupported xml/html tag <n> found.
* Allow clang-format to format H5Cpkg.h (#4429)
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Fix broken links in md files needing full URLs.
* Add URL for Java examples that was accidentally dropped.
Change paths from develop to 1.14 directories for some doxygen generated
files.
* Correct typo.
* Fix 2 more dead URLs.
* Revert "Clean up random number generator code (#4338)"
This reverts commit 58e4d0842a.
* Remove some entries that were released in HDF5 1.14.3
* Update the NVidia compiler optimization known problem with new info
* Tidy 'known problems' section
* Fix grammar and content in HDF5Examples (#4333)
* Add VDS and SWMR to documentation (#4336)
* Fix dead links cont. (#4349)
Added img/images_to_copy.dox as a temporary solution because doxygen didn't copy
the images used in the examples/*.html files - will investigate more. This was
necessary for the links to intro_SWMR.html and intro_VDS.html.
* Remove VS ptable error from Known Problems (#4317)
* Simply check for datatypes with unusual number of unused bits (#4309)
Avoids potential undefined behavior in H5T_is_numeric_with_unusual_unused_bits
* Fix issues with empty or uninitialized link names (#4322)
Converts an assertion in H5G_loc_find into a normal error
check that checks for empty link names
Initializes H5O_link_t structure early in H5G__ent_to_link
to avoid trying to free potentially uninitialized memory
Checks for an empty link name after H5MM_strndup in
H5G__ent_to_link
Fixes GitHub #4307
* Fix h5py testing failure due to invalid datatype IDs (#4321)
Fixes an issue where invalid datatype IDs are passed to application conversion
functions in the case where the top-level conversion function is a library-internal
function that operates on a container-like datatype, but one or more of the
base datatype members are converted with an application conversion function.
* Revise _Float16 configure checks (#4323)
Run configure checks with and without CFLAGS/CMAKE_C_FLAGS since some
compilers work in one case while not working in the other case
Sync CMake configure checks with Autotools
* Fix divide-by-zero when page buf page size is 0 (#4296)
If a corrupt file sets the page buffer size in the superblock to zero,
the library could attempt to divide by zero when allocating space in
the file. The library now checks for valid page buffer sizes when
reading the superblock message.
Fixes oss-fuzz issue 58762
* Fix typo - Cnversion (#4301)
* Bump the github-actions group with 3 updates (#4300)
Bumps the github-actions group with 3 updates: [actions/download-artifact](https://github.com/actions/download-artifact), [softprops/action-gh-release](https://github.com/softprops/action-gh-release) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/download-artifact` from 4.1.1 to 4.1.4
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.1...c850b930e6ba138125429b7e5c93fc707a7f8427)
Updates `softprops/action-gh-release` from 1 to 2
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](de2c0eb89a...9d7c94cfd0)
Updates `github/codeql-action` from 3.24.6 to 3.24.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8a470fddaf...1b1aada464)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: softprops/action-gh-release
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix typo - glueing (#4299)
* Prepend MPI_TEST_ to parallel example test names (#4306)
* Report build options of VFDs (#4304)
* changed to if string contains instead
* return status of VFDs in libhdf5.settings
* use *_ENABLE_* settings instead to report the state
* added map state
* updated resetting status if cmake option fails
* PR merge workflows (#4303)
* Merge the Test Express workflows into the PR CI
* Split merge request triggers into autotools vs cmake
* Fix typo - differetly (#4311)
* Fix README badges (#4313)
* Remove old wait_H5Tinit.cmake file (#4314)
* Update branch names: develop=>hdf5_1_14 in 2 new workflows merged from
develop.
* Relaxed behavior of H5Pset_page_buffer_size() when opening files (#4280)
This API call sets the size of a file's page buffer cache. This call
was extremely strict about matching its parameters to the file strategy
and page size used to create the file, requiring a separate open of the
file to obtain these parameters.
These requirements have been relaxed when using the fapl to open
a previously-created file:
* When opening a file that does not use the H5F_FSPACE_STRATEGY_PAGE
strategy, the setting is ignored and the file will be opened, but
without a page buffer cache. This was previously an error.
* When opening a file that has a page size larger than the desired
page buffer cache size, the page buffer cache size will be increased
to the file's page size. This was previously an error.
The behavior when creating a file using H5Pset_page_buffer_size() is
unchanged.
Fixes GitHub issue #3382
* chore: improve error message (#4287)
close#192
* changed to if string contains instead (#4286)
* Fix off_t straggers (#4291)
Convert off_t to HDoff_t (mainly for Windows):
* h5jam
* h5unjam
* chunk_info test
* Add missing foreach for VFD and Pasthrough runs (#4292)
* Fixes for file format security issues (#4283)
* Add configure options for disabling extension features (#4277)
Add configure option to enable or disable extension features in general
Add configure option to enable or disable _Float16 support
Add new config options to various settings files
* Add documentation (H5FD) (#4269)
* Use AOCC 4.2 and OpenMPI 4.1.6 (#4290)
* Fix problems with background buffers and array datatypes (#4218)
* Fix bug in array conversion with strided background buffer. Convert some
memmove calls to non-overlapping buffers to memcpy.
* Revert inappropriate use of mempy to memmove in H5T__conv_array
* Add testing
* Add RELEASE.txt note and overwrite test case.
* Synch workflows and require apt-get update (#4294)
* Fix Figure 9. table format in HDF5 Groups User Guide (#4295)
---------
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org>
Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org>
Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
Co-authored-by: Neil Fortner <fortnern@gmail.com>
* Take user block into account when returning chunk addresses (#4236)
Both H5Dchunk_iter() and H5Dget_chunk_info(_by_coord)() did not take
the size of the user block into account when reporting addresses. Since
the #1 use of these functions is to root around in the file for the raw
data, this is kind of a problem.
Fixes GitHub issue #3003
* Fix a minor warning in h5test.c (#4242)
* Turn on -Werror for Java in GitHub -Werror workflows (#4243)
* Update Windows CI to not install ninja (#4230)
* Rework Fortran macros to use the proper code. (#4240)
* Correct reference copy for 16 API (#4244)
* Determine MPI LOGICAL during build, used in tests. (#4246)
* Skip userblock test in chunk_info.c for multi-file VFDs (#4249)
* Match generators with real cmake -G output on Windows (#4252)
* Add Julia GitHub Actions. (#4123)
* Re-revert to using autoreconf in autogen.sh (#4253)
We previously tried removing the per-tool invocation of the Autotools
and instead simply invoked autoreconf (PR #1906). This was reverted
when it turned out that the NAG Fortran compiler had trouble with an
undecorated -shared linker flag.
It turns out that this is due to a bug in libtool 2.4.2 and earlier.
Since this version of libtool is over a decade old, we're un-reverting
the change. We've added a release note for anyone who has to build
from source on elderly platforms.
Fixes#1343
* Rewrite H5T__path_find_real for clarity (#4225)
* Move conversion path free logic to helper function
* Add tgz extensions on names (#4255)
* Remove an error check regarding large cache objects (#4254)
* Remove an error check regarding large cache objects
In PR#4231 an assert() call was converted to a normal HDF5 error
check. It turns out that the original assert() was added by a
developer as a way of being alerted that large cache objects
existed instead of as a guard against incorrect behavior, making
it unnecessary in either debug or release builds.
The error check has been removed.
* Update RELEASE.txt
* File format security issues (#4234)
* Add job timeout to cygwin workflow (#4260)
* Replace user-define with user-defined (#4261)
* Improve the CMake clang -fsanitize=memory flags (#4267)
-fsanitize=memory is almost useless without
using -fsanitize-memory-track-origins=2 and we shoud probably add
-fno-optimize-sibling-calls as well.
* Add documentation (H5M) (#4259)
* Add documentation (H5P) (#4262)
* MPI type correction (#4268)
* corrected type for MPI_*_f2c APIs
* fixed return type of callback
* reset compilation flags of logical test program
* Clean up test/cmpd_dtransform.c (#4270)
* Clean up test/cmpd_dtransform.c
* Fix uninitialized memory warning from sanitizers
* FAIL_STACK_ERROR --> TEST_ERROR
* Emit output
* Delete test file when done
* Fix typo
* H5Fdelete() --> remove()
* Fix uninitialized memory issues in packet table (#4271)
* replace deprecated CMAKE_COMPILER_IS_GNU** (#4272)
* Prevent stack overflows in H5E__push_stack (#4264)
* Minor fixes after merge of file format security fixes (#4263)
* Update H5_IS_BUFFER_OVERFLOW to account for 'size' of 0
* Invert a few checks to avoid function call
* CHECK --> CHECK_PTR in tmisc.c (#4274)
* Add release note for CVE-2017-17507 (#4275)
* Update Cygwin installation guide (#4265)
* Addresses configuration fortran testing flags (#4276)
* turn warnings to errors in fortran configure test
* Intel fortran test fix
* Merge julia workflows into standard ci format (#4273)
* Fix range check in H5_addr_overlap (#4278)
When the H5_addr_overlap macro was updated to use H5_RANGE_OVERLAP,
it failed to take into account that H5_RANGE_OVERLAP expects the
range to be inclusive. This lead to an assertion failure in
H5MM_memcpy due to a memcpy operation on overlapping memory.
This has been fixed by subtracting 1 from the calculated high
bound values passed to H5_RANGE_OVERLAP
* Fix potential buffer read overflows in H5PB_read (#4279)
H5PB_read previously did not account for the fact that the size of the
read it's performing could overflow the page buffer pointer, depending
on the calculated offset for the read. This has been fixed by adjusting
the size of the read if it's determined that it would overflow the page.
* Call memset before stat calls (#4202)
The buffers passed to stat-like calls are only partially filled in by
the call, leaving ununitialized memory areas when the stat buffers are
created on the stack.
This change memsets the buffers to 0 before the stat calls, quieting
the -fsanitze=memory complaints.
* Remove unused CMake configuration checks (#4199)
* Update link to Chunking in HDF5 page (#4203)
* Fix H5Pset_efile_prefix documentation error (#4206)
Fixes GH issue #1759
* Suggested header footer for NEWSLETTER (#4204)
* Suggested header footer for NEWSLETTER
* Updates
* Add NEWSLETTER.txt to h5vers script
* Fix grammar in README.md release template (#4201)
* Add back snapshot names (#4198)
* Use tar.gz extension for ABI reports (#4205)
* Fix issue with Subfiling VFD and multiple opens of same file (#4194)
* Fix issue with Subfiling VFD and multiple opens of same file
* Update H5_subfile_fid_to_context to return error value instead of ID
* Add helper routine to initialize open file mapping
* Reverts AC_SYS_LARGEFILE change (#4213)
We previously replaced local macros with AC_SYS_LARGEFILE, which is
unfortunately buggy on some systems and does not correctly set the
necessary defines, despite successfully detecting them.
This restores the previous macro hacks to acsite.m4
* Propagate group creation properties to intermediate groups (#4139)
* Add clarification for current behavior of H5Get_objtype_by_idx() (#4120)
* Addressed Fortran issues with promoted integers and reals via compilation flags (#4209)
* addressed issue wit promoted integers and reals
* added option to use mpi_f08
* Summarize the library version table (#4212)
Fixes GH-3773
* Fix URLs (#4210)
Also removed Copyright.html context because it's no longer valid.
* Fix 'make check-vfd' target for Autotools (#4211)
Changes Autotools testing to use HDF5_TEST_DRIVER environment
variable to avoid running tests that don't work well with several
VFDs
Restores old h5_get_vfd_fapl() testing function to setup a FAPL
with a particular VFD
Adds a macro for the default VFD name
* Revert "Addressed Fortran issues with promoted integers and reals via compil…" (#4220)
This reverts commit 06c42ff038.
* Backup and clear CMAKE_C_FLAGS before performing _Float16 configure checks (#4217)
* Fix broken links (#4224)
* Fix broken URLs in documentation (#4214)
Fixes GH-3881 partially. There are pages that need to be recreated.
* Avoid file size checks in C++ testhdf5 for certain VFDs (#4226)
* Fix an issue with type size assumptions in h5dumpgentest (#4222)
* Fix issue with -Werror cleanup sed command in configure.ac (#4223)
* Fix Java JNI warnings (#4229)
* Rework snapshots/release workflows for consistent args (#4227)
* Fixed a cache assert with too-large metadata objects (#4231)
If the library tries to load a metadata object that is above the
library's hard-coded limits, the size will trip an assert in debug
builds. In HDF5 1.14.4, this can happen if you create a very large
number of links in an old-style group that uses local heaps.
The library will now emit a normal error when it tries to load a
metadata object that is too large.
Partially addresses GitHub #3762
* Set DXPL in API context for native VOL attribute I/O calls (#4228)
* Initialize a variable in C++ testhdf5's tattr.cpp (#4232)
* Addressed Fortran issues with promoted integers and reals via compilation flags, part 2 (#4221)
* addressed issue wit promoted integers and reals
* fixed h5fcreate_f
* added option to use mpi_f08
* change the kind of logical in the parallel tests
* addressed missing return value from callback
* Use cp -rp in test_plugin.sh (#4233)
When building with debug symbols on MacOS, the cp -p commands in
test_plugin.sh will attempt to copy the .dSYM directories with
debugging info, which will fail since -r is missing.
Using cp -rp is harmless and allows the test to run
Fixes HDFFV-10542
* Clean up types in h5test.c (#4235)
Reduces warnings on 32-bit and LLP64 systems
* Fix example links (#4237)
* Fix links md files (#4239)
* Add markdown link checker action (#4219)
* Match minimum CMake version to 3.18 (#4215)
* Added new H5E with tests. (#4049)
Added Fortran H5E APIs:
h5eregister_class_f, h5eunregister_class_f, h5ecreate_msg_f, h5eclose_msg_f
h5eget_msg_f, h5epush_f, h5eget_num_f, h5ewalk_f, h5eget_class_name_f,
h5eappend_stack_f, h5eget_current_stack_f, h5eset_current_stack_f, h5ecreate_stack_f,
h5eclose_stack_f, h5epop_f, h5eprint_f (C h5eprint v2 signature)
Addresses Issue #3987
* Don't load toolchain file in CMake workflows (#4077)
* Add support for the new MSVC preprocessor (#4078)
Microsoft has added a new, standards-conformant preprocessor
to MSVC, which can be enabled with /Zc:preprocessor. This
preprocessor trips over our HDopen() function-like variadic
macro since it uses a hack that only works with the legacy
MSVC preprocessor.
This fix adds ifdefs to use the correct HDopen() macro
depending on the MSVC preprocessor selected.
Fixes#2515
* Increased H5FD_ROS3_MAX_SECRET_TOK_LEN to 4096 to accommodate long AWS secret tokens (#4064)
ros3: increased H5FD_ROS3_MAX_SECRET_TOK_LEN to 4096; stratified the debugging statements so there is more control over the output
* Close and reopen file during dset vlen IO API tests (#4050)
- Close/reopen file and file objects to prevent cache from being used instead of actual I/O.
- Moved vlen io test datasets under the dset container group instead of the root group
- Moved the PASSED() invocation to after individual test cleanup in case an error occurs during H5Treclaim
* New option for building with static CRT in Windows (#4062)
* addressed compilation errors with gfortran 4.8 (#4082)
* Fix bin/trace script w/ out params (#4074)
The bin/trace script adds TRACE macros to public API calls in the main
C library. This script had a parsing bug that caused functions that
were annotated with /*out*/, etc. to be labeled as void pointers
instead of typed pointers.
This is mainly a developer feature and not visible to consumers
of the public API.
The bin/trace script now annotates public API calls properly.
Fixes GH #3733
* Use H5T_STD_I32LE to create datatype in vds examples (#4070)
Fixes issues when VDS examples are tested on BE systems
* Remove printf debugging in H5HL code (#4086)
* Fixed asserts due to H5Pset_est_link_info() values (#4081)
* Fixed asserts due to H5Pset_est_link_info() values
If large values for est_num_entries and/or est_name_len were passed
to H5Pset_est_link_info(), the library would attempt to create an
object header NIL message to reserve enough space to hold the links in
compact form (i.e., concatenated), which could exceed allowable object
header message size limits and trip asserts in the library.
This bug only occurred when using the HDF5 1.8 file format or later and
required the product of the two values to be ~64k more than the size
of any links written to the group, which would cause the library to
write out a too-large NIL spacer message to reserve the space for the
unwritten links.
The library now inspects the phase change values to see if the dataset
is likely to be compact and checks the size to ensure any NIL spacer
messages won't be larger than the library allows.
Fixes GitHub #1632
* Fix copy-paste comments
* update macOS support statement (#4084)
* fixes compilation failures due to H5E additions (#4090)
* Remove extra whitespaces from nvhpc-cmake action. (#4091)
* Remove printf debugging in H5I package (#4088)
* Add subfiling for h5dump filedriver option help message (#3878)
* Merge HDF4 release workflow changes to hdf5 (#4093)
* Update long double test with correct values (#4060)
Update long double test with correct values
* virtual creates must use the same datatype as the main file (#4092)
* Fixed -Wdeprecated-copy-dtor warnings by implementing a copy assignment operator (#3306)
Example warning was:
warning: definition of implicit copy assignment operator for 'Group' is deprecated because it has a user-declared destructor [-Wdeprecated-copy-dtor]
* Expand check for variable-length or reference types when clearing datatype conversion paths (#4085)
When clearing out datatype conversion paths involving variable-length or reference datatypes
on file close, also check for these datatypes inside compound or array datatypes
* Remove H5B debug checks (#4089)
The H5B (version 1 B-tree) package would add some computationally
expensive integrity checks when H5B_DEBUG was defined. Due to their
negative effects on performance, this option was rarely turned on,
making the H5B__assert() check function stale, if not dead, code.
This change:
* Builds H5B__assert() when NDEBUG is not defined (the function
relies on assert()) so it gets compiled more often.
* Removes some printf debugging statements in the B-tree code
* Removes all H5B "extra debug" checks that are leftover from
past debugging sessions. Maintainers can add H5B__assert()
selectively to perform integrity checks when debugging.
* Removes the HDF5_ENABLE_DEBUG_H5B CMake option
H5B_DEBUG now has no effect
* Fix the last C++ stack size warning (#4099)
* Clean up off_t usage (#4095)
* Add comments to C++ and Fortran API calls that use off_t
* Remove noise casts for small integers
* Correct missing change of source path for S3 build (#4100)
* Remove leading / from relative path. (#4101)
* msvc: don't declare `HAVE_TIMEZONE` for older MSVC (#3956)
It was introduced in MSVC 15 (Visual Studio 2017).
* Remove a few H5O printf debugging statements (#4096)
These were in H5Oint.c, were protected by H5O_DEBUG, and only dumped
to stdout if the HDF5_DEBUG environment variable were set to do so.
* Remove H5DEBUG() calls from H5Dmpio.c (#4103)
Just use stdout when a stream is needed.
* Remove printf debugging from H5Smpio.c (#4098)
* Change how stats are printed in H5Z (#4097)
H5Z used the soon-to-be-removed HDEBUG macro to decide if stats
would be dumped and to what stream. This is now handled by a
DUMP_DEBUG_STATS_g variable and the output is always sent to
stdout.
This is an internal change, not normally visible to users.
* Refactor datatype conversion code to use pointers rather than IDs (#4104)
The datatype conversion code previously used IDs for the source and
destination datatypes rather than pointers to the internal structures
for those datatypes. This was mostly due to the need for an ID for these
datatypes that can be passed to an application-registered datatype
conversion function or datatype conversion exception function. However,
using IDs internally caused a lot of unnecessary ID lookups and hurt
performance of datatype conversions in general. This was especially
problematic for compound datatype conversions, where the ID lookups were
occuring on every member of every compound element of a dataset. The
code has now been refactored to use pointers internally and only create
IDs for datatypes when necessary.
Fixed a test issue in dt_arith where a library datatype conversion
function was being cast to an application conversion function. Since the
two have different prototypes, this started failing after the parameters
for a library conversion function changed from hid_t to H5T_t * and an
extra parameter was added. This appears to have worked coincidentally in
the past since the only different between a library conversion function
and application conversion function was an extra DXPL parameter at the
end of an application conversion function
Fixed an issue where memory wasn't being freed in the h5fc_chk_idx test
program. Even though the program exits quickly after allocating the
memory, it still causes failures when testing with -fsanitize=address
* Minimize use of abort() (#4110)
The abort() call is used at several places where it probably shouldn't.
* Clean up a few things in H5T.c (#4105)
* remove (size_t) noise casts
* replace (hid_t)FAIL with H5I_INVALID_HID
* Convert H5B__assert to use error checks (#4109)
Switches assert() calls to HGOTO_ERROR in H5B__assert() so it can be
used in production mode. Also renames it to H5B__verify_structure()
to better reflect what it checks.
* Move common variables out of cache test blocks (#4108)
Fixes a stack size warning w/ XCode
* Remove lint comments (#4107)
* Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
* Add Doxygen for HDFS VFD (#4106)
* Add Doxygen for HDFS VFD
* Fix Doxygen warning
* Update H5FDhdfs.h
* long double tests has problems setting precision with offset (#4102)
* long double tests has problems setting precision with offset
* Disable long double until more development fixes issues
* Fix up dsets test for some platforms with different long double format (#4114)
* Adjust aocc workflow to fit the autotools/cmake pattern of other callable workflows. (#4115)
* Implement ID creation optimization for container datatype conversions (#4113)
Makes the datatype conversion context object available during both the
initialization and conversion processes for a datatype conversion
function, allowing the compound, variable-length and array datatype
conversion functions to avoid creating IDs for the datatypes when they
aren't necessary
Adds internal H5CX_pushed routine to determine if an API context is
available to retrieve values from
Also adds error checking to several places in H5T.c and H5Tconv.c where
the code had previously assumed object close operations would succeed
* Handle IBM long double issues in dsets.c test_floattypes test (#4116)
* Handle IBM long double issues in dsets.c test_floattypes test
* Remove old cmake check (#4117)
* Use AC_SYS_LARGEFILE on Autotools (#4119)
We previously used a hack introduced in 1.8.5 to paper over differences
in off_t and off64_t when determining the type sizes. We no longer explicitly
support off64_t in the library and AC_SYS_LARGEFILE works fine.
* Initialize selection type in chunk struct (#4087)
* Overhaul CMake LFS support (#4122)
Externally visible:
* The HDF_ENABLE_LARGE_FILE option (advanced) has been removed
* We no longer run a test program to determine if LFS works, which
will help with cross-compiling
* On Linux we now unilaterally set -D_LARGEFILE_SOURCE and
-D_FILE_OFFSET_BITS=64, regardless of 32/64 bit system. CMake
doesn't offer a nice equivalent to AC_SYS_LARGEFILE and since
those options do nothing on 64-bit systems, this seems safe and
covers all our bases. We don't set -D_LARGEFILE64_SOURCE since
we don't use any of the POSIX 64-bit specific API calls like
ftello64, as noted above.
* We didn't test for LFS support on non-Linux platforms. We've added
comments for how LFS should probably be supported on AIX and Solaris,
which seem to be alive, though uncommon. PRs would be appreciated if
anyone wishes to test this.
Internal:
* Drops off64_t size checks since this is unused (as in Autotools)
* Remove HDF_EXTRA_FLAGS, which is now unused
* Remove hack around deprecated LINUX_LFS
Fixes#2395
* Update CMake comment about _POSIX_C_SOURCE (#4124)
Was missng the 2008 pread/write info
* Deprecate bin/cmakehdf5 (#4127)
* Deprecate bin/cmakehdf5
* Add reference text
* Don't set the rpath when linking statically (#4125)
* Remove invalid compile flag (#4129)
* Fix segfault in vlen io API test (#4130)
* Update URLs in RELEASE.txt (#4132)
* Add cygwin CI and update yaml files for consistency and accuracy (#4131)
* Add cygwin CI
* add cygwin packages
* Correct option names
* Cleanup yaml file and synch look and feel
* Synch CI look and feel and correct path issues
* Upgrade oneapi version
* pwsh needs env: for vars
* No continuation char for pwsh
* restore correct pwsh step
* Run subset of tests for cygwin workflow
* Remove space chars in regex
* restore full tests
* Remove ros3 and hdfs VFDs from Autotools VFD list (#4142)
These will never pass `make check` and would require a custom test
suite for more comprehensive testing.
* Skip part of dsets.c test for IBM long double type (#4136)
* Capitalize option message for consistency. (#4141)
* Fixed misc. H5E fortran failures due to previous PR (#4138)
* fixed promotion of integers and reals tests and check-passthrough-vol failure
* fixed cygwin issue
* Fix Autotools -Werror cleanup (#4144)
The Autotools temporarily scrub -Werror(=whatever) from CFLAGS, etc.
so configure checks don't trip over warnings generated by configure
check programs. The sed line originally only scrubbed -Werror but not
-Werror=something, which would cause errors when the '=something' was
left behind in CFLAGS.
The sed line has been updated to handle -Werror=something lines.
Fixes one issue raised in #3872
* Fix doxygen link to example function usage (#4133)
* Remove useless headers (#4145)
Removes unnecessary headers from C library source files.
* Clean up some hbool_t/TRUE/FALSE stragglers (#4143)
It looks like most of these snuck in via selection I/O work
* Fix error when overwriting an indirectly nested vlen with a shorter sequence (#4140)
* defined CMAKE_H5_HAVE_DARWIN (#4146)
* Make the newsletter scheme work like HDF4 (#4149)
* Remove at the end of list item. (#4151)
* Fix buffer size calculation in the deflate filter (#4147)
* Remove H5O header and friend status from H5A.c (#4150)
* Remove HDF from Fortran 2003 configuration check message. (#4157)
* Suppress H5Dmpio debugging output unless HDF5_DEBUG=d is set (#4155)
* Header cleanup in C library (#4154)
* Ensure H5FL header is included everywhere
* Ensure H5SL header is included everywhere
* Ensure H5MM header is included everywhere
* Add Doxygen to H5FDmirror.h (#4158)
* Remove lseek64 and stat64 symbols from CMake (#4163)
We don't use these in the library.
* Remove HAVE_IOEO checks from CMake (#4160)
This was intended to check for thread-safety functionality on Windows.
The required functionality has been standard since Windows Vista, so
these checks can be removed.
* Fix some minor warnings (#4165)
* Bump the size of the mirror VFD IP field (#4167)
The IP address string isn't big enought to hold an IPv4-mapped IPv6
address.
* Fix mirror VFD script (#4170)
This had directory problems when running locally.
* Fix an issue where the Subfiling VFD's context cache grows too large (#4159)
* Address code page issues w/ Windows file paths (#4172)
On Windows, HDF5 attempted to convert file paths passed to open() and
remove() to UTF-16 in order to handle Unicode file paths. This scheme
does not work when the system uses code pages to handle non-ASCII
file names.
As suggested in the forum post below, we now also try to see if we
can open the file with open(), which should handle systems where
non-ASCII code pages are in use.
https://forum.hdfgroup.org/t/open-create-hdf5-files-with-non-utf8-chars-such-as-shift-jis/11785
* Add Doxygen to API calls in H5VLnative.h (#4173)
* Allow H5Soffset_simple to accept NULL offsets (#4152)
The reference manual states that the offset parameter of H5Soffset_simple()
can be set to NULL to reset the offset of a simple dataspace to 0. This
has never been true, and passing NULL was regarded as an error.
The library will now accept NULL for the offset parameter and will
correctly set the offset to zero.
Fixes HDFFV-9299
* Add filter plugin user guide text. Fix registered URL in docs (#4169)
* Add support for _Float16 16-bit floating point type (#4065)
Fixed some conversion issues with Clang due to problematic undefined
behavior when casting a negative floating-point value to an integer
Fixed a bug in the library's software integer to floating-point
conversion function where a user's conversion exception function
returning H5T_CONV_UNHANDLED in the case of overflows would result in
incorrect data after conversion
Added configure checks for functions and macros related to _Float16
usage since some compilers expose the datatype but not the functions or
macros
Fixed a dt_arith test failure when H5_WANT_DCONV_EXCEPTION isn't defined
Fixed a few warnings from not explicitly casting some _Float16 variables
upwards
* Remove some H5T_copy calls that are now unnecessary (#4164)
Removes some datatype copying calls that are now unnecessary after
refactoring the datatype conversion code to use pointers internally
rather than IDs
Rewrites the enum conversion function so that it uses cached copies
of the source and destination datatypes in order to avoid modifying
the datatypes passed in
Adds a 'recursive' field to the datatype conversion context which
allows the conversion functions for members of a container datatype
to skip unnecessary repetitive conversion setup code
Changes internal datatype conversion callback functions so that the
source and destination datatype structure pointers are const
Removes some unused and unnecessary internal IDs registered with
H5I_register
* Add RELEASE.txt note for cmpd segfault fix (#4175)
RELEASE notice for the fix in #3842
* Clean up CMake direct VFD handling (#4161)
There's no need to build and run programs, or even check the operating
system. We just need to check for O_DIRECT and posix_memalign().
* Capitalize linux for consistency (#4178)
* Reworked H5Epush_f (#4153)
* Add const to new _Float16 conversion routine parameters (#4181)
* Update Release Specific Information link. (#4179)
* Filter plugins updates for registration URL (#4180)
* Update filter plugin URL to new location
* Adjust test array size
* Add daily VFD CI workflow (#4176)
Adds testing of Subfiling VFD
* Exclude shell tests from sanitizers (#4186)
* Add a missing period at the end of sentence. (#4184)
* last-file.txt should not be created for release workflow (#4185)
* Skip part of dtypes.c _Float16 file size check for certain VFDs (#4182)
* Fixes several MinGW + Autotools issues (#4190)
* Fixes detection of various Windows libraries, etc.
* Corrects alarm(2) configure checks
* Uses Win32 threads by default w/ Pthreads override, if desired
* Set _WIN32_WINNT correctly for MinGW
* Fix setenv(3) wrapper for MinGW, which does not have getenv_s()
MinGW Autotools support is still not Amazing, but this at least
allows the library and tools build and is better about thread-safety
* Add semicolons to the end of HSYS_GOTO_ERROR (#4193)
Looks like we forgot these when we did the other macros.
* Remove broken links (#4187)
* Skip vlen IO API test for cache VOL (#4135)
* Fix cache VOL segfault in vlen io test
* Skip vlen IO API test
* Handle certain empty subfiling environment variables (#4038)
* h5diff compares attribute data like dataset data (#4191)
Updates tools docs to indicate that dataset and attribute data are compared in the same way
* A path component may include a dot with other characters (#4192)
* Add RELEASE.txt note for recent datatype conversion improvements (#4195)
* Add NEWSLETTER item about _Float16 support (#4197)
* Correct download link for develop doxygen (#4196)
* Update version in new .yml files.
* Do not enable szip for sanitizer runs (#4057)
* Add note to H5Tset_fields about needing to set datatype precision first (#4059)
* Offset of a floating-point type also needs to be accounted for
* Clarify ordering of H5Tset_precision and H5Tset_fields
* Fix issue where H5Tset_fields does not account for datatype offsets (#4061)
H5Tset_fields did not account for any offset in a floating-point datatype,
causing it to fail when a datatype's precision is correctly set such that
it doesn't include the offset bits.
* Ignore UserPresets and Use only C compiler for sanitizers (#4066)
* Remove user presets file
* Only use C compiler for sanitzers
* Rename incorrectly named option (#4067)
* Rename incorrectly named option
* Restore the correct uses of USING_MEMCHECKER
* Update release note
* Fix a memory leak in the cmpd_dset test (#4071)
This was due to not freeing a test buffer. It was not a core
library memory leak.
* Fix uninitialized bytes in cmpd_dset test (#4072)
Compound fill values were set to the integer -1, causing valgrind
to flag 'uninitialized bytes' errors.
This is just a problem with the cmpd_dset test and not a core
library problem.
* Update INSTALL files (#4052)
* Add NEWSLETTER and merge abi reports and add sha256sums (#4055)
* Fix uninitialized bytes in selection I/O test (#4073)
This was due to a complex type fill value being set to -1 instead
of a proper complex value. This was a test problem and not a core
library issue.
* fix path for S3 build path in CI (#4076)
* Correct paths for 1.14 and add lines missing from release_docs/INSTALL_CMake.txt.
---------
Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
* Remove oneapi return value warning. (#4028)
* Replaced last sprintf with snprintf (#4007)
* Replaced last sprintf with snprintf
To have the size of the buffer, it was required to change a function signature, and change all users of it.
In most cases, determining the buffer size wasn't trivial and so SIZE_MAX is passed. But at least this improves the infrastructure. Someone can later figure out the correct sizes.
* Test vlen sequence IO in API tests (#4027)
* Check argument for CMake REGEX FCMangle.h. (#4029)
* Replace deprecated Fortran 'include mpif.h' with 'USE mpi' (#4031)
With MPI 4.1 the use of the mpif.h include file has been deprecated. Codes
should transition to USE mpi or USE mpi_f08.
Signed-off-by: Christoph Niethammer <niethammer@hlrs.de>
* Fix H5F_get_access_plist to copy file locking settings (#4030)
H5F_get_access_plist previously did not copy over the file locking settings
from a file into the new File Access Property List that it creates. This would
make it difficult to match the file locking settings between an external file
and its parent file.
* Fix missing NOT from if check in HL folder (#4036)
* Fix the datatype passed to H5*exists_async APIs in tests. (#4033)
Add a new testing function to verify C_BOOL values.
* Add deb and rpm binaries to snapshots (#4035)
* Update and Add general INSTALL (#4016)
* Improve performance of flushing single objects (#4017)
Improve performance of flushing a single object, and remove metadata
cache flush markers
* Fix memory leak in H5LTopen_file_image when H5LT_FILE_IMAGE_DONT_COPY flag is used (#4021)
When the H5LT_FILE_IMAGE_DONT_COPY flag is passed to H5LTopen_file_image, the internally-allocated
udata structure gets leaked as the core file driver doesn't have a way to determine when or if it
needs to call the 'udata_free' callback. This has been fixed by freeing the udata structure when
the 'image_free' callback gets made during file close, where the file is holding the last reference
to the udata structure.
* Fix allocating too much memory in dset API test (#4041)
* Don't try to load general-19 warnings file for icc (#4042)
The Autools Classic Intel compiler configuration attempts to load a file
named `general-19` from the intel-warnings/classic directory, which does
not exist.
This removes the attempted load of the file.
* Remove unused AIX cross-compile cache overrides (#4043)
The ibm-aix Autotools config file had some unmaintained and unnecessary
Autoconf cache overrides. These have been removed.
* Consolidate Autotools linux files (#4044)
There are many architecture-specific linux files in the config
directory, all of which simply redirect to linux-gnulibc1.
This change renames linux-gnulibc1 to linux-gnu and deletes the more
specific files.
* Remove check for gettimeofday + tz in CMake (#4045)
This is not used in the library
* Remove limitations on preset generators (#4051)
* Fix issue with FAPL file locking setting inheriting test (#4053)
Fixes an issue where the HDF5_USE_FILE_LOCKING environment variable being
set can interfere with the file locking setting that the test expects to
be returned.
* Bump the github-actions group with 2 updates (#4054)
Bumps the github-actions group with 2 updates: [actions/download-artifact](https://github.com/actions/download-artifact) and [github/codeql-action](https://github.com/github/codeql-action).
* Fix VOL-compatibility issues in External Link API test (#4039)
Fix link API tests with incorrect filename
* Add upddated cmake tools from source location (#4040)
* Add options to allow tools type selection and naming (#4046)
* Improve error messages when tools attempt to use non-enabled S3 and HDFS VFDs. (#4047)
* Correct several 1.15/1.15.0 references to 1.14/1.14.4.
* Ignore HDF5Examples/CMakeUserPresets.json
* Update upload- artifact to match download version (#3929)
* Reorg and update options for doc and cmake config (#3934)
* Add binary build for linux S3 (#3936)
* Clean up Doxygen for szip functions and constants (#3943)
* Replace off_t with HDoff_t internally (#3944)
off_t is a 32-bit signed value on Windows, so we should use HDoff_t
(which is __int64 on Windows) internally instead.
Also defines HDftell on Windows to be _ftelli64().
* Fix chid_t to hid_t (#3948)
* Fortran API work. (#3941)
* - Added Fortran APIs:
H5FGET_INTENT_F, H5SSELECT_ITER_CREATE_F, H5SSEL_ITER_GET_SEQ_LIST_F,
H5SSELECT_ITER_CLOSE_F, H5S_mp_H5SSELECT_ITER_RESET_F
- Added Fortran Parameters:
H5S_SEL_ITER_GET_SEQ_LIST_SORTED_F, H5S_SEL_ITER_SHARE_WITH_DATASPACE_F
- Added tests for new APIs
- Removed H5F C wrapper stubs
- Documentation misc. cleanup.
* Add the user test program in HDFFV-9174 for committed types. (#3937)
Add the user test program for committed types in HDFFV-9174
* Remove cached datatype conversion path table entries on file close (#3942)
* fixed BIND name (#3957)
* update H5Ssel_iter_reset_f test
* Change 'extensible' to 'fixed' in H5FA code (#3964)
* RF: move codespell configuration into .codespellrc so could be used locally as well (#3958)
* Add RELEASE.txt note for the fix for issue #1256 (#3955)
* Fix doxygen errors (#3962)
* Add API support for Fortran MPI_F08 module definitions. (#3959)
* revert to using c-stub for _F08 MPI APIs
* use mpi compiler wrappers for cmake and nvhpc
* Added a GitHub Codespaces configuration. (#3966)
* Fixed XL and gfortran errors (#3968)
* h5 compiler wrappers now pass all arguments passed to it to the compile line (#3954)
* The issue was that the "allargs" variable was not being used in the final command of the compiler wrapper. Any entries containing an escaped quote (\", \') or other non-matching argument (*) would not be passed to the compile line. I have fixed this problem by ensuring all arguments passed to the compiler wrapper are now included in the compile line.
* Add binary testing to CI testing (#3971)
* Replace 'T2' with ' ' to avoid failure to match expected output due to (#3975)
* Clarify vlen string datatype message (#3950)
* append '-WF,' when passing C preprocessor directives to the xlf compiler (#3976)
* Create CITATION.cff (#3927)
Add citation source based on http://web.archive.org/web/20230610185232/https://portal.hdfgroup.org/display/knowledge/How+do+I+properly+cite+HDF5%The space difference in the Fortran examples must be fixed to match the expected output for compression filter examples.
* corrected warning: implicit conversion changes signedness (#3982)
* Skip mac bintest until more reliable (#3983)
* Make platform specific test presets for windows and macs (#3988)
* chore: fix typo (#3989)
* Add a missing left parenthesis in RELEASE.txt. (#3990)
* Remove ADB signature from RELEASE.txt. (#3986)
* Bump the github-actions group with 6 updates (#3981)
* Sync API tests with vol-tests (#3940)
* Fix for github issue #2414: segfault when copying dataset with attrib… (#3967)
* Fix for github issue #2414: segfault when copying dataset with attributes.
This also fixes github issue #3241: segfault when copying dataset.
Need to set the location via H5T_set_loc() of the src datatype
when copying dense attributes.
Otherwise the vlen callbacks are not set up therefore causing seg fault
when doing H5T_convert() -> H5T__conv_vlen().
* Fix broken links caused by examples relocation. (#3995)
* Add abi-complience check and upload to releases (#3996)
* Fix h5watch test failures to ignore system warnings on ppc64le. (#3997)
* Remove oneapi/clang compiler printf() type warning. (#3994)
* Updated information about obtaining the HDF5 source code to use the repos. (#3972)
* Fix overwritten preset names (#4000)
* Fix incompatible pointer type warnings in object reference examples (#3999)
* Fix build issue and some warnings in H5_api_dataset_test.c (#3998)
* Modern C++ dtor declarations (#1830)
* C++ dtor modernization
- Replaced a bunch of empty dtors with `= default`
- Removed deprecated `throw()`. In C++11, dtors are `noexcept` by default.
* remove incorrect check for environ (#4002)
* Add a missing file into Makefile.am for MinGW Autotools build error. (#4004)
* Issue #1824: Replaced most remaining sprintf with safer snprint (#4003)
* Add hl and cpp ABI reports to daily build (#4006)
* Don't add files and directories with names that begin with ., or that match *autom4te* to release tar & zip files. (#4009)
* Fix some output issues with ph5diff (#4008)
* Update install texts (#4010)
* Add C in project line for CMake to fix#4012. (#4014)
* separate out individual checks for string removal (#4015)
* Add compound subset ops on attributes to API tests (#4005)
---------