Commit Graph

23767 Commits

Author SHA1 Message Date
H. Joe Lee
c72ac3ec13
Add OSS-Fuzz badge (#5059) 2024-11-04 05:52:26 -08:00
H. Joe Lee
a6cae20c3a
Update nvhpc version to 24.9 (#4993) 2024-11-04 05:50:51 -08:00
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](c062e08bd5...e7a8f85e1c)

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](e2b3eafc8d...662472033e)

---
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 Byrne
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