Commit Graph
1340 Commits
Author SHA1 Message Date
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
Robert Adam 87b3e7c821 Don't build util tests when HDF5_EXTERNALLY_CONFIGURED=ON (#3781)
Fixes #3780
2023-10-30 12:47:06 -05:00
Dana Robinson 74cc1cf59e Fix a format string warning in the C++ examples (#3776) 2023-10-25 21:31:21 -07:00
Dana Robinson 98b5779ea5 Add tools/libtest to Autotools builds (#3735)
This was only added to CMake many years ago and tests the tools
library.
2023-10-20 15:50:57 -05:00
Dana Robinson b916ce2419 Suppress cast-qual warning in H5TB Fortran wrapper (#3728)
This interface is fundamentally broken, const-wise.
2023-10-19 21:19:52 -07:00
Dana Robinson 2a3b511e96 Restore floating-point suffixes in tests (#3698)
A prior commit removed too many F suffixes. This restores the suffixes
for float variables.
2023-10-17 12:22:27 -07:00
Allen Byrne 405b0c62f8 Correct fortran CMake generator expressions (#3670) 2023-10-13 23:41:17 -05:00
Scot Breitenfeld 85c176247d Address nagfor exceptions stoppage. (#3658)
* added cmake ieee flag for nagfor

* generalized determining the nag compiler

* fixing some misc. NAG warnings
2023-10-11 15:16:01 -05:00
jhendersonHDF 34fcb9c5a4 Fix several spelling/grammar issues (#3621) 2023-10-03 09:01:28 -07:00