1348 Commits

Author SHA1 Message Date
jhendersonHDF
be63ed0cb0
Enable building of test generator programs against shared libraries (#5404)
Build test generator programs against shared libraries, if available,
by default. Otherwise, build them against static libraries. If
HDF5_BUILD_STATIC_TOOLS is set to ON, the tools test generator
programs will be built against static libraries even if shared
libraries are available.
2025-03-26 14:26:19 -05:00
Allen Byrne
1602e1fbfe
Remove autotools files and docs (#5358) 2025-03-14 13:28:44 -05:00
Allen Byrne
d81ae5586a
Add presets cookbook and use cases (#5323)
* RPM has issue with packaging RPM of a parallel library
2025-02-27 09:58:03 -06:00
Allen Byrne
b26089af1b
Fix the HL H5TB fill-info #5332 (#5333) 2025-02-25 14:38:19 -06:00
Allen Byrne
409f738e9d
Translate release-specific changes docs to doxygen (#5314) 2025-02-18 11:21:27 -06:00
Scot Breitenfeld
dbbc7122df
Cray cce/18.0.1 work-around (#5313)
Co-authored-by: Michael Breitenfeld <brtnfld@login04.frontier.olcf.ornl.gov>
2025-02-12 09:11:10 -06:00
Allen Byrne
d84337ad8c
Fix codespell issues (#5256) 2025-01-21 17:36:27 -06:00
Allen Byrne
2ad03911d9
Convert doc folder files to doxygen (#5216) 2025-01-17 11:48:58 -06:00
Dana Robinson
8f2c03b2da
Remove the hash_size param from H5Iregister_type() (#5170)
The hash_size parameter of H5Iregister_type() hasn't been used since 1.8.
It's been removed and the API call has been versioned.

This PR also updates the make_vers script to handle v2.0.0.

Fixes #4344
2024-12-10 00:34:40 -08:00
Allen Byrne
f07537722c
Convert HL Dim Scales doc to doxy UG (#5152) 2024-12-03 07:33:26 -06:00
Allen Byrne
2ce2fb0054
Convert file image ops file to doxygen (#5134) 2024-11-23 12:00:16 -08:00
H. Joe Lee
cd7682cd18
Remove CMake-3.31.0 warnings (#5091) 2024-11-19 13:09:31 -06:00
Allen Byrne
ad3ea2633a
Move hl example into HDF5Examples (#5057) 2024-11-04 05:22:27 -08: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
Allen Byrne
192d630f27
Add long double format option to h5dump (#5025) 2024-10-29 08:06:13 -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
245bb2cd23
Remove some Solaris Studio work-arounds (#4979)
Solaris Studio hasn't been updated in almost a decade and the last
version (12.4, circa 2015) doesn't seem to fully support C11.

This PR removes some work-arounds for things like __attribute__()
support.
2024-10-20 12:47:52 -07:00
Dana Robinson
7f1e49206d
Renamed COPYING to LICENSE (#4978)
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
2024-10-18 21:13:04 -07:00
Dana Robinson
bb5661101a
Remove the high-level GIF tools (#4976)
The high-level GIF tools, h52gif and gif2h5, have unfixed CVE issues
(with no proof-of-concept files). They are not critical tools, are not
well maintained, and are an odd fit for building with the library.
Because of this, they have been removed. We may move them to a separate
repository in the future.
2024-10-18 12:09:42 -07:00
Dana Robinson
1c23395bd6
Remove TRUE and FALSE from H5private.h (#4969)
* Remove TRUE and FALSE from H5private.h

* Replace hbool_t with bool in test code
2024-10-18 07:57:34 -07:00
Dana Robinson
54f8f12ed9
Update clang-format to 17 (#4931)
Also bump the clang-format GitHub actions to 17
2024-10-04 19:49:35 -07:00
jhendersonHDF
34d6ef545a
Refactor h5test.c, testframe.c and testpar.h testing frameworks (#4891)
Added new testframe.h header to document testing framework functions and
split them away from h5test.h and from test programs that don't
integrate with the testframe.c testing framework

Added new test setup callback to testframe.c testing framework

Added parameters to AddTest() to specify size of test parameters so they
can be copied for later use

Enabled HDF5 error stacks in testframe.c framework by default and added
some error stack suppressions to some testhdf5 tests

Added new maxthreads option to testframe.c framework to allow specifying
the maximum number of threads a multi-threaded test can use

Moved TestExpress functionality out of testframe.c and into more general
h5test.c for wider use by tests through getter and setter

Updated some tests to not mix and match functionality between h5test.c/h
and testframe.c/h

Moved some functionality from testphdf5.h into testpar.h for parallel
tests that aren't part of testphdf5

Added new parallel test library that contains common shared
functionality for parallel tests (similar to h5test library)
2024-10-01 16:10:03 -05:00
bmribler
f39101806f
Fix an incorrect returned value by H5LTfind_dataset() (#4869)
H5LTfind_dataset() returns true for non-existing datasets because it only compares up to the length of the searched string, such as "Day" vs "DayNight" (issue GH-4780).

This PR applied the user's patch and added tests.
2024-09-24 04:20:06 -07:00
Allen Byrne
0737d0dbf7
Correct URLs in documentation (#4823) 2024-09-12 22:46:58 -05:00
Larry Knox
baa04393fb
Change name of libhdf5hl_fortran installed by autotools (#4811)
* Change name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran to be
consistent with CMake install and with other hl lib files.  Switched
corresponding symlink to libhdf5hl_fortran.
Fixes issue #4684.

* Update h5fc.in to use renamed libhdf5_hl_fortran.
Fix typo in code to create link to libhdf5_hl_fortran.a.

* Removed code to create symlink for previous name of renamed lib
libhdf5hl_fortran.
Add RELEASE.txt entry about changeing name libhdf5hl_fortran to
libhdf5_hl_fortran.
2024-09-07 10:27:33 -07:00
abushwang
0a7f89d5ad
Add bounds checking to avoid Out-of-bounds Write for gif2h5 (#4786) 2024-09-03 11:11:07 -05:00
Allen Byrne
bca2806055
Update URL documentation links to support site (#4781) 2024-08-29 16:27:44 -05:00
Scot Breitenfeld
7e7d3b30e1
Fixes Fortran parallel build race condition for tests (#4789) 2024-08-29 12:58:16 -07:00
Allen Byrne
f77b70859f
Rework Dynamic Analysis and sanitize testing (#4681)
* Ignore predetermined failing test and check pointer before use

* Rework Analysis process
2024-08-05 09:53:53 -05:00
Allen Byrne
e71605966a
Update doxygen Learn Basics / example refs. Add Reference sections (#4640) 2024-07-15 22:02:08 -05:00
Allen Byrne
f8069fa850
Add tools usage text as doxygen for Tools UG (#4602) 2024-07-15 09:43:20 -05:00
Allen Byrne
bf843c54f0
Fix Fortran pkconfig to indicate full path of modules (#4593) 2024-06-27 13:36:20 -05:00
Allen Byrne
162e7d676d
Allow HDF5_LIB_INFIX to work with DLL (#4500)
* Allow HDF5_LIB_INFIX to work with DLL

* Separate individual library name into parts and add suffix option

* Java cannot use alternative names and removed extra setting

* Incorporate the underscore into the CORE name
2024-05-28 08:27:15 -07:00
jhendersonHDF
8897e25b00
Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
Julien Schueller
239d2f849d
CMake: Fix mingw/fortran build (#4466) 2024-05-10 12:33:55 -05:00
Allen Byrne
3fad116502
Use aliases for URLs (#4409) 2024-04-16 13:51:20 -05:00
Dana Robinson
4dbaec7991
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
2024-04-08 07:58:13 -07:00
Dana Robinson
7b8fe54c1a
Remove noise comment from H5DO.c (#4342) 2024-04-08 07:56:56 -07:00
Dana Robinson
8787e7f325
Fix uninitialized memory issues in packet table (#4271) 2024-03-27 20:26:34 -07:00
Dana Robinson
15608c00b5
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.
2024-03-21 05:31:30 -07:00
jhendersonHDF
330b80a266
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
2024-03-18 21:36:46 -07:00
Allen Byrne
0be892585a
Rename incorrectly named option (#4067)
* Rename incorrectly named option

* Restore the correct uses of USING_MEMCHECKER

* Update release note
2024-03-05 09:07:16 -08:00
Allen Byrne
7ce8c6f81a
Add options to allow tools type selection and naming (#4046) 2024-03-04 06:53:52 -08:00
jhendersonHDF
221e429578
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.
2024-02-26 08:52:33 -08:00
Allen Byrne
f02ecb21dd
Fix missing NOT from if check in HL folder (#4036) 2024-02-22 14:55:15 -06:00
Larry Knox
16e9937111
Fix h5watch test failures to ignore system warnings on ppc64le. (#3997) 2024-02-08 09:53:33 -06:00
Dana Robinson
ab11e076bf
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().
2024-01-18 09:03:59 -08:00
Allen Byrne
6f2d22d86e
Add variable option syncing for examples (#3885) 2023-12-14 12:50:30 -06:00
Allen Byrne
3ea21ccb3e
Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859) 2023-11-22 07:51:30 -06:00
Allen Byrne
66786fa036
Add intel oneapi windows build to CI CMake (#3836) 2023-11-10 07:36:46 -06:00