Commit Graph
23765 Commits
Author SHA1 Message Date
jhendersonHDF 21b627e8f8 Remove top-level structure from MPI source build workflow tar artifacts (#5063) 2024-11-04 05:50:28 -08:00
Allen Byrne ad3ea2633a Move hl example into HDF5Examples (#5057) 2024-11-04 05:22:27 -08:00
Scot Breitenfeld 35df4fb6a6 Fix parsing error of h(p)*c wrappers (#5060)
Add quotes to correctly handle whitespace.
2024-11-02 12:40:07 -07:00
dependabot[bot] 4863eca5c9 Bump the github-actions group with 3 updates (#5061)
Bumps the github-actions group with 3 updates: [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action), [softprops/action-gh-release](https://github.com/softprops/action-gh-release) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `azure/trusted-signing-action` from 0.4.0 to 0.5.0
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/v0.4.0...v0.5.0)

Updates `softprops/action-gh-release` from 2.0.8 to 2.0.9
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/c062e08bd532815e2082a85e87e3ef29c3e6d191...e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8)

Updates `github/codeql-action` from 3.26.10 to 3.27.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e2b3eafc8d227b0241d48be5f425d47c2d750a13...662472033e021d55d94146f66f6058822b0b39fd)

---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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>
2024-11-02 12:36:45 -07:00
jhendersonHDF 8407b75a26 Update daily build action to build MPICH and OpenMPI from source (#5058) 2024-11-01 13:38:37 -05:00
Larry Knox 0af437a61e Check if mirror VFD and subfiling VFD are enabled before adding their (#5055)
respective utils subdirectories.

Fixes #4984.
2024-11-01 07:55:31 -05:00
Allen Byrne 3f86b4f228 Add parallel cdash script to daily-build workflow (#5032) 2024-11-01 07:54:33 -05:00
jhendersonHDF 90429f5e7d Implement support for complex number datatypes (#4630)
* Implement support for complex number datatypes

Adds the new datatype class H5T_COMPLEX

Adds the new API function H5Tcomplex_create which creates a complex
number datatype from an ID of a base floating-point datatype

Adds the new feature check macros H5_HAVE_COMPLEX_NUMBERS and
H5_HAVE_C99_COMPLEX_NUMBERS

Adds the new datatype size macros H5_SIZEOF_FLOAT_COMPLEX,
H5_SIZEOF_DOUBLE_COMPLEX and H5_SIZEOF_LONG_DOUBLE_COMPLEX

Adds the new datatype ID macros H5T_NATIVE_FLOAT_COMPLEX,
H5T_NATIVE_DOUBLE_COMPLEX, H5T_NATIVE_LDOUBLE_COMPLEX,
H5T_CPLX_IEEE_F16LE, H5T_CPLX_IEEE_F16BE,
H5T_CPLX_IEEE_F32LE, H5T_CPLX_IEEE_F32BE,
H5T_CPLX_IEEE_F64LE and H5T_CPLX_IEEE_F64BE

Adds hard and soft datatype conversion paths between complex number
datatypes and all the integer and floating-point datatypes, as well as
between other complex number datatypes

Adds a special conversion path between complex number datatypes and
array or compound datatypes where the in-memory layout of data is the
same between the datatypes and data can be converted directly

Adds support for complex number datatypes to the h5dump, h5ls and
h5diff/ph5diff tools. Allows h5dump '-m' option to change floating-point
printing format for float complex and double complex datatypes, as well
as long double complex if it has the same size as double complex

Adds minimal support to the h5watch and h5import tools

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the Java wrappers. Also adds initial,
untested support to the JNI for future use with HDFView

Adds support for just the H5T_COMPLEX datatype class to the Fortran
wrappers

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the high level library H5LT interface
for use with the H5LTtext_to_dtype and H5LTdtype_to_text functions

Changes some usages of "complex" in the library since it conflicts with
the "complex" keyword from the complex.h header. Also changes various
usages of the word "complex" throughout the library to distinguish
compound datatypes from complex datatypes.
2024-10-31 13:54:25 -07:00
Dana Robinson e8257bd2b5 Make H5T__free more aggressive about cleanup (#5054)
oss-fuzz often trips over unfreed datatype memory when parsing
fuzzed files. This changes H5T__free() to use HDONE macros so
cleanup continues on errors.
2024-10-31 09:43:04 -05:00
Dana Robinson 92033dff84 malloc --> calloc in H5B cache entry (#5053)
oss-fuzz occasionally complains about intermittent undefined behavior
when when Boolean variables in H5C_cache_entry_t (like is_protected)
are set to values other than 0 or 1 when parsing fuzzed files. Using
calloc() to iniitialize the H5B_t struct (like other metadata already
does) should fix this.
2024-10-31 09:38:50 -05:00
jhendersonHDF 8f0cdce2a2 Add callable workflows for building OpenMPI and MPICH from source (#5051) 2024-10-30 13:44:49 -07:00
Dana Robinson d8c9b66fb9 Add HDF5 2.0 planning link to README.md (#5050) 2024-10-30 12:02:22 -07:00
Allen Byrne ec4654e698 Verify CMake workflows match autotools (#5035) 2024-10-29 15:13:31 -07:00
Dana Robinson 1e977c1db4 Remove comment about multi VFD duplication (#5029) 2024-10-29 10:18:26 -07:00
Dana Robinson 46901e1d97 Remove Autotools Cygwin PR action (#5031) 2024-10-29 10:18:10 -07:00
Dana Robinson b7ebf03db5 Remove Julia CI source patch (#5030)
The H5Oexists issue has been fixed upstream
2024-10-29 10:17:49 -07:00
Allen Byrne 192d630f27 Add long double format option to h5dump (#5025) 2024-10-29 08:06:13 -07:00
Allen Byrne 72093836a3 restore GH to site name (#5027) 2024-10-29 08:35:01 -05:00
Gerd Heber 40ac285feb Add full-text search to Doxygen (#4994)
* Update hdf5doxy_layout.xml

Menu item for fulltext search.

* Update FTS.dox

Updated Google PSE ID.
2024-10-29 06:05:17 -07:00
Dana Robinson 1cd0168e6e Rework FUNC_ENTER macros (#5024)
* Initial cleanup of "prep" macros
* Cleanup of initialization routines
* Renamed init/push macros
2024-10-29 05:58:30 -07:00
bmribler 5bdd379a64 Fix segfault in h5dump caused by corrupted btree node level (#5002)
Added another argument, expected node level, to H5B__iterate_helper to pass down
to H5B__cache_deserialize for checking the decoded node level.  When this expected
level is not known, the new macro H5_UNKNOWN_NODELEVEL (-1) will be used for not
checking the level.

Fixes GH-4432
2024-10-29 00:53:50 -07:00
Allen Byrne f4dbb810c1 Add msys2 workflow for CMake (#4991)
Also updates CMake configure checks to build HDF5 w/ MSYS2
2024-10-28 16:28:29 -07:00
Allen Byrne cad28e9659 Add workflow step to test expected test failures (#5023) 2024-10-28 09:56:31 -07:00
Dana Robinson 60dd8526d7 Fix bad private FUNC_ENTER macros (#5020)
The name check in the FUNC_ENTER checks for private FUNC_ENTER macros
(which have NOAPI in the name) only checked for not having the
public form (H5Xfoo), so they could be inappropriately applied to
package-level functions (H5X__foo).

This PR fixes the bug and updates the inappropriate macros.
2024-10-28 07:35:33 -07:00
Dana Robinson d8953c0dba bin/restore deleted checked-in files (#5017)
This was not fixed when we started checking in files that were
generated by the Perl scripts in bin
2024-10-28 06:59:26 -07:00
Dana Robinson 786b03317a Fix remaining calloc param reversals (#5018)
gcc 14 identifies likely places where the sizeof() call is used
for the first parameter to calloc(). This PR fixes the remaining
places in the library where this occurs and reworks a few other
allocations to be more uniform.
2024-10-28 06:58:28 -07:00
Dana Robinson a38d87a631 Clean up comments in FUNC_ENTER macros (#5019)
* Clean up comments in FUNC_ENTER macros
2024-10-28 05:54:39 -07:00
Dana Robinson 369099d843 Fix minor Windows warnings (#5021)
* Cast away a signed/unsigned issue in H5HFhuge.c
* Use our platform-independent POSIX types in external_common.c
  and h5test.c
* Replace a memset() call with a (const) array initializer in h5test.c
* Fix an unused done: target in h5diff
2024-10-28 05:54:16 -07:00
Allen Byrne 5425a571e0 Convert develop to v2.0.0 (#5006)
Switches previous 1.16/17/18 values to 2.0
2024-10-27 21:51:07 -07:00
Dana Robinson b8a06b51f1 Remove version number from h5repack test plugin (#5011) 2024-10-26 07:11:22 -05:00
Dana Robinson 8b2f40f2ff Remove duplicate sec2 VFD ID variable (#5013) 2024-10-25 15:12:11 -07:00
Allen Byrne ee61dd51ac Move cygwin workflow to cdash reports in daily-build (#5004) 2024-10-25 09:33:57 -07:00
H. Joe Lee d88466b03e Fix h5py CI failure (#5007) 2024-10-25 09:29:50 -07:00
Dana Robinson c93b3c40e5 Get the Autotools version number from H5public.h (#5009)
The version number in the Autotools is scraped from README.md in configure.ac, which makes README.md count as 'code', which is a problem since changes to markdown files are ignored in CI.

This change scrapes the version number from H5public.h instead
of README.md.
2024-10-25 10:11:05 -05:00
Allen ByrneandLarry Knox 6122828198 Split out compiler flags into specific compiler files (#4974)
* Split CMake HDFCompileFlags into specific compiler files

* Separate out CXX Flags

* Add Fortran compiler specific files

* Merge in #4816 changes and close #4816

* fix hanging endif

---------

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2024-10-25 10:03:35 -05:00
Larry Knox 0439876eeb Switch default for HDF5_GENERATE_HEADERS (CMake) to OFF. (#5005) 2024-10-24 22:31:15 -07:00
Dana Robinson 4a4ad1c137 Update README.md 2024-10-24 15:06:50 -07:00
Allen Byrne 01957b6cb1 Certain versions of VS produce rounding errors in tfloatsattr (#5000) 2024-10-24 15:26:57 -05:00
Dana Robinson 710e46dff5 Update the README (#5003)
* Drop 1.14 badges
* Update the 2.0.0 features list
* Change the version to 2.0.0 (under development)
2024-10-24 12:47:35 -07:00
Quincey Koziol 97e1ed4fc8 Refactor allocation of API context (#4942)
Since each API context is local to a thread, use the stack to
store the context instead of allocating & releasing it each time.
This improves performance (slightly), reduces alloc/free calls,
and eliminates the H5FL package from the push & pop operations,
which helps simplify threadsafe operation.

One effect of this change is that the H5VLstart_lib_state /
H5VLfinish_lib_state API routines for pass through connector
authors now require a parameter that can be used to store
the library's context. It was probably a mistake to assume
that these two routines would not do this previously, so this
is essentially a bug fix for them.

Some other minor things:

 * Added API context push+pop operations to cache tests
  (I'm not actually certain why this was working before) and
  a few other places
* Cleaned up a bunch of warnings in test code (calloc args, mainly)
* Made header file inclusions more standard in some source files
2024-10-24 10:09:22 -07:00
Quincey Koziol 2c58357b8f Refactor H5FD and package initialization (#4934)
- Reverts PR#1024, which (unnecessarily) switched from deferred
  package initialization to centralized initialization of all packages
  and introduced H5FDperform_init() to wrap an internal routine
  to initialize VFD plugins.
- Went back to deferred package initialization (primarily), to
  eliminate unnecessary resource use. (Performance has been
  verified to be the same either way)
- Switched VFD plugins to use “#define (H5OPEN, )” pattern,
  with registration of internal VFD plugins at library initialization
  time. Eliminates calling API routine (H5FDperform_init) from
  within the library, which was deadlocking threadsafe concurrency.
  And also eliminates exposing internal library routines in a public
  header file.
- Removed copy-and-paste replicas of the H5OPEN macro and put
  a (better) single definition in H5public.h
- Separated API and internal routine calls in stdio and multi VFD
  plugins into separate source files, so that the library doesn’t
  invoke API routines internally (also a deadlock problem for
  threadsafe concurrency). Also needed a “private” header for these
  plugins.
- Separated registering/unregistering a VFD plugin from initializing
  /finalizing the plugin, instead of blurring those ideas together.
  Defers the VFD plugin init to when it’s actually used, which reduces
  resource usage, especially for the MPI-based plugins like the subfiling,
  etc.
- Refactored the copy-and-pasted check for locking into a central
  location in the H5FD.c code.
- Fixed a bunch of compiler warnings, especially ones that trigger CI
  failures with -Werror
2024-10-24 06:28:40 -07:00
Allen Byrne 26cf1640b2 Add szip documentation to dataset section of user guide (#4997) 2024-10-23 19:37:15 -07:00
Allen Byrne 8efc084646 Updated zlib and libaec compression versions (#4953) 2024-10-23 19:35:34 -07:00
Dana Robinson 399baa1525 Patch Julia CI (#5001)
A recent bugfix to the library changed the return value of an API call
and a Julia CI action expects the incorrect result. This patch
papers over this until the upstream Julia wrapper CI can be fixed.
2024-10-23 21:09:37 -05:00
Allen Byrne 1b72a1bca0 Add support for native zlib-ng in the library and compression references (#4935)
* Correct compile defs for zip_perf program
2024-10-23 16:20:15 -05:00
Quincey Koziol ed4419cc52 Remove another couple of H5E_clear_stack calls (#4968)
Also cleans up the links test, which had a ton of copy-and-pasted incorrect negative error checks (Calling TEST_ERROR within H5E_BEGIN_TRY / H5E_END_TRY pairs will goto out of the pair, leaving errors suppressed).
2024-10-23 10:13:57 -07:00
Dana Robinson 63b1442127 Disable Julia CI (#4999)
PR #4968 fixes a bug that causes the Julia CI to fail due to buggy
HDF5 behavior. The Julia CI will need to be updated to properly test
the fixed feature.
2024-10-23 10:12:05 -07:00
Allen Byrne 9a02511d0c Add remaining CMake workflow versions of autotools workflows (#4998)
* Add warnings as errors workflow for cmake

* Add spc par workflow

* Add workflow call

* Add parallel special
2024-10-23 09:20:33 -07:00
Allen Byrne baa1e8e292 Prefix remaining CMake options except for CMake BUILD* variables (#4990) 2024-10-22 15:40:54 -07:00
Allen Byrne 720b0057ba Replace COPYING with LICENSE in workflows (#4989) 2024-10-22 15:39:35 -07:00