Commit Graph

2307 Commits

Author SHA1 Message Date
jhendersonHDF
c4cc33abe1
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
2024-03-21 17:39:13 -07:00
Allen Byrne
874c473f34
Suggested header footer for NEWSLETTER (#4204)
* Suggested header footer for NEWSLETTER

* Updates

* Add NEWSLETTER.txt to h5vers script
2024-03-21 09:11:10 -07:00
jhendersonHDF
2d09c77325
Add NEWSLETTER item about _Float16 support (#4197) 2024-03-20 16:44:54 -05:00
jhendersonHDF
e9f0464352
Add RELEASE.txt note for recent datatype conversion improvements (#4195) 2024-03-20 16:44:34 -05:00
bmribler
4af02c213c
Update Release Specific Information link. (#4179) 2024-03-19 09:22:20 -07:00
H. Joe Lee
9806b96ad0
Capitalize linux for consistency (#4178) 2024-03-19 04:58:03 -07:00
mattjala
e80272eb21
Add RELEASE.txt note for cmpd segfault fix (#4175)
RELEASE notice for the fix in #3842
2024-03-18 21:52:31 -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
Dana Robinson
344ba97fec
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
2024-03-18 06:57:52 -07:00
jhendersonHDF
840476ead8
Fix an issue where the Subfiling VFD's context cache grows too large (#4159) 2024-03-17 18:48:16 -07:00
H. Joe Lee
3861c0c777
Remove at the end of list item. (#4151) 2024-03-15 13:00:47 -07:00
Dana Robinson
26837b4af8
Make the newsletter scheme work like HDF4 (#4149) 2024-03-15 10:36:18 -07:00
Neil Fortner
40e1c6d078
Fix error when overwriting an indirectly nested vlen with a shorter sequence (#4140) 2024-03-15 09:26:56 -07:00
Dana Robinson
c7c8b93d06
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
2024-03-15 07:41:07 -05:00
bmribler
782c0e5a8c
Update URLs in RELEASE.txt (#4132) 2024-03-14 07:15:16 -07:00
Allen Byrne
ca4db46c5a
Deprecate bin/cmakehdf5 (#4127)
* Deprecate bin/cmakehdf5

* Add reference text
2024-03-13 08:02:47 -07:00
Dana Robinson
56f1092ddb
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
2024-03-12 14:36:50 -07:00
Allen Byrne
50a6522322
Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
2024-03-10 16:43:37 -07:00
Dana Robinson
3d09a7d5f6
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
2024-03-08 23:17:13 -08:00
Scot Breitenfeld
7de7c25646
update macOS support statement (#4084) 2024-03-07 19:05:10 -08:00
Dana Robinson
b0af7cf58b
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
2024-03-07 18:36:58 -08:00
Allen Byrne
c872acae63
New option for building with static CRT in Windows (#4062) 2024-03-07 09:27:56 -08:00
Dana Robinson
30c34f927d
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
2024-03-07 08:52:32 -08:00
Scot Breitenfeld
9d8e882496
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
2024-03-07 03:34:55 -08:00
Allen Byrne
129d80d208
Update INSTALL files (#4052) 2024-03-05 14:42:08 -08: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
jhendersonHDF
f5f6975c2f
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.
2024-03-05 08:23:34 -06: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
3fd1e90df6
Update and Add general INSTALL (#4016) 2024-02-23 08:02:18 -06:00
jhendersonHDF
46f7aa75fd
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.
2024-02-22 14:52:36 -06:00
Christoph Niethammer
f1e8f42b5a
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>
2024-02-21 14:04:38 -06:00
Glenn Song
14ed93e749
Update install texts (#4010)
* Update INSTALL_CMake.txt as necessary

* Update remaining docs that use HDF5_USE_GNU_DIRS

* Update options in HDFMacros in HDF5Examples
2024-02-14 07:37:18 -06:00
bmribler
868f23f94e
Updated information about obtaining the HDF5 source code to use the repos. (#3972) 2024-02-08 08:26:30 -08:00
H. Joe Lee
2b33423c94
Remove ADB signature from RELEASE.txt. (#3986) 2024-02-06 09:52:27 -06:00
H. Joe Lee
33f1a00baf
Add a missing left parenthesis in RELEASE.txt. (#3990) 2024-02-06 09:49:36 -06:00
Scot Breitenfeld
d79667eb0c
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
2024-01-29 13:13:33 -06:00
Allen Byrne
365e23340c
Fix doxygen errors (#3962)
* Switch warnings as errors to default OFF

* Enable mac docs

* Add doxygen action uses step

* Use html div around snippet

* Allow preset name to be an argument to cmake-ctest.yml
2024-01-29 07:38:54 -06:00
jhendersonHDF
a1d3e486e6
Add RELEASE.txt note for the fix for issue #1256 (#3955) 2024-01-26 07:59:48 -08:00
Scot Breitenfeld
54fb809382
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.
2024-01-23 07:59:10 -08:00
Allen Byrne
c12932865d
Reorg and update options for doc and cmake config (#3934)
* Reorg and update options for doc and cmake config
* Correct subfiling depends
2024-01-09 09:42:45 -08:00
Scot Breitenfeld
8f1a93f1a2
New Fortran Examples added (#3916)
* added subfiling example

* Added filtered writes with no selection example
2024-01-03 10:55:17 -06:00
Scot Breitenfeld
2fc140079b
Added H5Fdelete_f with test (#3912) 2023-12-30 17:33:31 -06:00
Quincey Koziol
3a21ee0877
Add 'warning density' computation to the warnhist script (#3910)
* Add 'warning density' computation to the warnhist script, along with several
cleanups to it.   Add "--enable-show-all-warnings" configure (and CMake)
option to disable compiler diagnostic suppression (and therefore show all the
otherwise suppressed compiler diagnostics), disabled by default.  Clean up
a buncn of misc. warnings.

Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
2023-12-29 08:42:35 -06:00
jhendersonHDF
6ffc55c6d9
Implement optimized support for vector I/O in Subfiling VFD (#3896)
Vector I/O requests are now processed within a single
set of I/O call batches, rather than each I/O vector
entry (tuple constructed from the types, addrs, sizes
and bufs arrays) being processed individually. This allows I/O to be
more efficiently parallelized among the I/O concentrator processes
during large I/O requests.

* Fixed some calculations and add test cases for issues spotted from review

* Removed a variable that was compensating for previous miscalculations
2023-12-27 16:28:41 -06:00
Allen Byrne
6f2d22d86e
Add variable option syncing for examples (#3885) 2023-12-14 12:50:30 -06:00
Lori Cooper
2f23f2afe6
Some changes to portal links when they could be found on docs.hdfgroup.org, and changed the helpdesk link to help.hdfgroup.org (#3893)
* Updated some portal links to go directly to docs.hdfgroup. 

* Fixed some portal and help desk links
2023-12-12 22:21:15 -06:00
Allen Byrne
e81fb9eddf
Correct urls and handling of external git repos (#3890) 2023-12-12 22:10:27 -06:00
Allen Byrne
3ea21ccb3e
Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859) 2023-11-22 07:51:30 -06:00
Dana Robinson
e807dee0fd
Add CMake long double cross-compile defaults (#3683)
HDF5 performs a couple of checks at build time to see if long double
values can be converted correctly (IBM's Power architecture uses a
special format for long doubles). These checks were performed using
TRY_RUN, which is a problem when cross-compiling.

These checks now use default values appropriate for most non-Power
systems when cross-compiling. The cache values can be pre-set if
necessary, which will preempt both the TRY_RUN and the default.

Affected values:
    H5_LDOUBLE_TO_LONG_SPECIAL      (default no)
    H5_LONG_TO_LDOUBLE_SPECIAL      (default no)
    H5_LDOUBLE_TO_LLONG_ACCURATE    (default yes)
    H5_LLONG_TO_LDOUBLE_CORRECT     (default yes)
    H5_DISABLE_SOME_LDOUBLE_CONV    (default no)

Fixes GitHub #3585
2023-11-14 20:36:47 -08:00