Commit Graph

3823 Commits

Author SHA1 Message Date
Neil Fortner
0f847f30bc
Fix issue with H5_now_usec() with 32 bit systems (#1416)
* Implement H5ESget_requests() to retrieve request pointers and
corresponding connector IDs from an event set.  Add tests for this
function.

* Add "order" parameter to H5ESget_requests, to allow the user to specify
the order in which requests are returned.

* Fix bugs with H5ESinsert_request()

* Change H5ESget_requests() API to have separate input and output
parameters for the allocated array length(s) (in) and the number of events in
the event set (out).

* Fix issue with H5_now_usec() with 32 bit systems.  Also improve event
set test.

* Committing clang-format changes

* Add comments to H5_now_usec() explaining rationale for uint64_t casts.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-10 17:23:26 -06:00
Allen Byrne
c9347450c1
Implemented suggestion in #1381 for dtransform test (#1415)
* Implemented suggestion in #1380

* fix typo

* Use differently named files in tests

* format fix

* Revise comments

* fic typos

* Change test display and file name
2022-02-04 16:50:45 -06:00
David Young
856de93673
Don't use a nonliteral format string in test/fheap.c:begin_test(). (#1401)
* Avoid using a non-literal formatting string with sprintf in begin_test.
Use snprintf.  Don't duplicate a string on the heap unnecessarily.

* Do not deactivate -Wformat-nonliteral: we don't use a nonliteral format
string any more.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-03 10:41:41 -06:00
Sean McBride
4ac6ccc021
Snprintf2 (#1399)
* Replaced many uses of sprintf with safer snprintf

Many very straightforward, but in a few cases added a length parameter to some private functions, because buffer length was otherwise unknowable.

* Removed unnecessary use of static on small buffers

This improves thread safety.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-28 16:43:48 -06:00
Allen Byrne
ad71539d30
Remove const from the argv tools/tests main sig. (#1390)
* Remove const from the argv tools/tests main sig.

* also remove const from H5_get_option and parse_command_line.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-28 16:30:33 -06:00
Sean McBride
b5eed1b563
Replaced several uses of sprintf with safer snprintf (#1383)
* Replaced several uses of sprintf with safer snprintf

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-28 10:34:57 -06:00
Sean McBride
44de59b642
Used clang-tidy to change all floating point f suffixes to F (#1359) 2022-01-28 08:31:26 -06:00
Sean McBride
d45124d708
Open bsd fixes (#1195) 2022-01-20 08:38:56 -06:00
Neil Fortner
dd6ad33c75
Implement H5ESget requests function to retrieve requests from an event set (#1355)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-20 07:34:43 -06:00
Baljak
8430e3d661
Fix compilation issues with Mingw (#1342) 2022-01-07 22:29:25 -06:00
Scot Breitenfeld
cf1aab28fb
Changed to correct return datatype for H5Lexists (#1330)
* changed to correct return datatype for H5Lexists

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-04 09:12:11 -06:00
Allen Byrne
5580d7ec81
Fix directory variable in shell scripts (#1273)
* Fix testswmr scripts with utils/test variable

* Change format of configure var assignment

* quote the variable value in configure

* Use sh.in expected var pattern

* Only ref builddir in script

* Create vars for utils/test and test as H5_<path>_BUILDDIR

* Use abs_top_builddir in test scripts

* Change script var to make it easier to read.

* Use @abs_top_builddir@ directly in paths

* Correct typos/comment
2021-12-09 23:06:53 -06:00
H. Joe Lee
e36aa06950
OESS-168: Remove clang warnings. (#1269) 2021-12-08 16:00:19 -06:00
Allen Byrne
83cf2cb15b
Convert vds swmr test script to powershell (#1245)
* Convert SWMR shell scripts to Windows powershell.

* Use $LastExitCode instead of $? in script

* Prevent execution in a different window

* Github #969 Use stdout instead of file for configure check (#1089)

* Use stdout instead of file for configure check

* Make change requested by #1157

* Change fortran to use stderr for configure

* Correct typo

* remove obsolete file check

* Fortran statement fix

* Don't allow H5Pset(get)_all_coll_metadata_ops for DXPLs (#1201)

* Fixes const warnings in H5ES package (#1211)

* Quiets a 'set but not used' warning in h5diff_array.c (#1210)

* Convert vds swmr test script to powershell

* Enable vdsswmr powershell test

* Add configure vdsswmr statement

* Correct powershell script vars

* Convert SWMR shell scripts to Windows powershell.

* Use $LastExitCode instead of $? in script

* Prevent execution in a different window

* Github #969 Use stdout instead of file for configure check (#1089)

* Use stdout instead of file for configure check

* Make change requested by #1157

* Change fortran to use stderr for configure

* Correct typo

* remove obsolete file check

* Fortran statement fix

* Convert vds swmr test script to powershell

* Enable vdsswmr powershell test

* Add configure vdsswmr statement

* Correct powershell script vars

* Cleanup review issues

* Fix variable assignment

* Change the wait function to pass in the path

* Disable actual test execution until programs fixed

* Adjust copyright text

* Fix spelling

Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
2021-12-08 11:21:15 -06:00
H. Joe Lee
abb05bce6e
OESS-168: Remove clang warnings. (#1263) 2021-12-08 08:38:40 -06:00
Scot Breitenfeld
f859cb732b
Fixed Spelling Errors (#1166)
* fixed missed closing of a dataset

* fixed missed closing of a dataset

* fixed typo in error return

* Committing clang-format changes

* minor edits

* code format

* Committing clang-format changes

* code format

* minor edit

* switched from using MPI_count, to actual bytes written for H5FD_mpio_debug rw debugging

* Committing clang-format changes

* changed size_i in printf to reflect the I/O.

* Committing clang-format changes

* Fixed seg fault with xlf on BE with -qintsize=8

* fixed error function string

* spelling corrections via codespell, added new spell check github actions

* Committing clang-format changes

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* Committing clang-format changes

* misc

* misc

* misc

* misc

* misc

* misc

* Committing clang-format changes

* misc

* work around for https://github.com/codespell-project/codespell/issues/2137

* misc

* added missing file

* misc

* misc.

* misc

* switch to using Codespell with GitHub Actions

* misc.

* misc.

* fixed more sp errors

* Fix new typos found by codespell.

* fixed proceed with precede

* fixed variable in fortran test

* fixed minnum

* updated spelling list

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2021-12-07 08:27:29 -06:00
Dana Robinson
ca6f9e3716
Fixes an assert in H5Pget_filter_by_id1/2 w/ out-of-range IDs (#1222)
* Fixes an assert in H5Pget_filter_by_id1/2 w/ out-of-range IDs

Filter IDs < 0 or > H5Z_FILTER_MAX could trip an assert in the
library due to missing ID range checks in H5Pget_filter_by_id1/2.
The library now returns a normal error code when filter IDs are
out of range. Fixes HDFFV-11286.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-24 16:20:13 -06:00
David Young
462e9a373f
Create 2D arrays on the heap in a different way (#1169)
* Create 2D arrays on the heap by malloc'ing `struct { TYPE arr[ROWS][COLS];
}`.  This avoids the double-indirection through pointers and the
additional memory of H5TEST_ALLOCATE_2D_ARRAY().

This change will safely quiet the cast warning that PR #1129 was
intended to fix.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-23 08:09:05 -06:00
jhendersonHDF
3f2271364e
Make sure plugin interface is initialized before property list interface phase 2 (#1216) 2021-11-23 08:04:11 -06:00
Dana Robinson
4475a12b5f
Fixes unused parameter warnings in the null VFD (#1179) 2021-11-12 20:11:23 -06:00
Sean McBride
9cea7c9bb9
Assume C99 fixed sized ints exist, use them (#470)
* Committing clang-format changes

* Assume C99 fixed sized ints exist, use them

* Assume H5_SIZEOF_LONG_DOUBLE != 0, `long double` has existed since C89

Note, this is only assuming that `long double` exists, no assumptions about its size have been touched.  Didn't remove any code that does things like test if `long double` and `double` have different sizes.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-08 12:44:06 -06:00
H. Joe Lee
b3f35a97a9
OESS-168: Remove clang warnings. (#1136)
* OESS-168: Remove clang warnings.

* OESS-168: Address @byrnHDF and @derobinson review.
2021-11-05 08:06:54 -05:00
H. Joe Lee
57c6fbfdd7
OESS-168: Remove clang warnings. (#1137)
* OESS-168: Remove clang warnings.

* OESS-168: Address @derobins review.
2021-11-05 08:06:02 -05:00
H. Joe Lee
60ed6c0df4
OESS-168: Remove clang warnings. (#1146) 2021-11-02 14:24:14 -05:00
H. Joe Lee
ed3584ecc6
OESS-168: Remove clang warnings. (#1135) 2021-11-02 14:22:45 -05:00
Allen Byrne
fabdce56ef
Split dir create into separate macro (#1141)
* Split dir create into separate macro

* Correct VFD settings
2021-10-28 07:49:28 -05:00
Allen Byrne
aee9e06aa8
Consolidate VFD create list macro (#1132) 2021-10-25 21:17:23 -05:00
Dana Robinson
b0bd984ed6
Removes the "try free" behavior from the skip lists (#1126)
* Removes the "try free" behavior from the skip lists

This was only used in the ID code when iterating and a callback
could delete IDs. It is not used anywhere else in the library and
is now pointless overhead.

Also quiets the const warnings when returning stored elements. They
only need to be const with respect to the skip list code, which should
never modify them. The library can do whatever it wants with the elements
it stored.

* Formatted source
2021-10-22 10:02:28 -05:00
Allen Byrne
6d4d0fb13d
Move test utilities to utils/test folder (#1109)
* Move test utilities to utils/test folder

* Fix makefile assignment

* Add new dir

* add new folder

* Correct copied makefile

* Fix dir typo

* Add missing include dir

* Remove unnecessary lib link

* Correct dependent dirs

* Fix conditional checks

* Disable test if not built

* fix path to executable

* Use fixture for swmr_vfd check

* Add release note

* Correct shell tests and c++ flag warning

* Update autotools c++ warning

* Fix typo
2021-10-20 08:25:06 -05:00
H. Joe Lee
c196bf98eb
OESS-168: Remove clang warnings. (#1075)
* OESS-168: Remove clang warnings.

* Committing clang-format changes

* OESS-168: Fix CI failure.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-20 08:09:30 -05:00
H. Joe Lee
82b61574e1
OESS-168: Remove clang warnings. (#1072)
* OESS-168: Remove clang warnings.

* Committing clang-format changes

* Address review by @jehndersonHDF.

* Address review by @jehndersonHDF.

* OESS-168: Fix CI failure.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-14 22:06:42 -05:00
H. Joe Lee
780dc11e6e
OESS-168: Remove clang warnings. (#1077) 2021-10-07 21:59:32 -05:00
H. Joe Lee
0f3ed99d85
OESS-168: Remove clang warnings. (#1076) 2021-10-07 21:59:10 -05:00
H. Joe Lee
52cb2833de
OESS-168: Remove clang warnings. (#1071)
* OESS-168: Remove clang warnings.

* Address review by @jehndersonHDF.
2021-10-06 16:25:08 -05:00
jhendersonHDF
6c794a8d98
Move HDstrcmp operations inside casting block for PGI compilers (#1063) 2021-09-30 10:37:40 -05:00
jhendersonHDF
3da0802c40
VFD plugins (#602)
* Implement support for loading of Virtual File Drivers as plugins

Fix plugin caching for VOL connector and VFD plugins

Fix plugin iteration to skip paths that can't be opened

* Enable dynamic loading of VFDs with HDF5_DRIVER environment variable

* Temporarily disable error reporting during H5F_open double file open

* Default to using HDstat in h5_get_file_size for unknown VFDs

* Use macros for some environment variables that HDF5 interprets

* Update "null" and "ctl testing" VFDs
2021-09-29 13:28:12 -05:00
jhendersonHDF
4640005052
VFD ctl feature (#981)
* Added "ctl" callback to the VFD interface, and the associated
H5FDctl() and H5FD_ctl() calls.

Modified the MPIO VFD accordingly -- specifically:

Added ctl() call with op-code support to expose rank, size,
and communicator.

Modified H5FD_mpi_get_rank(), H5FD_mpi_get_size(),
and H5FD_mpi_get_comm() to use the new ctl() callback.  In passing
removed the const qualifier from the file parameter of these
functions, as the file parameter of the ctl callback is not
const.

Deleted the old  H5FD__mpio_mpi_rank(), H5FD__mpio_mpi_size(), and
H5FD__mpio_communicator() calls from the MPIO VFD.

Deleted H5FD_class_mpi_t from H5FDprivate.h, and modified the
MPIO VFD accordingly.  Note that all VFDs now use H5FD_class_t,
with no special class for VFDs that that support MPI.

Some minor touch ups to the Neil's selection I/O mods in passing.

Tested serial and parallel, debug and production on charis and
jelly.

* Reserve a range of VFD "ctl" opcodes for library and experimental usage

* Add "ctl" callbacks to passthrough VFDs

* Add RELEASE.txt entry for "ctl" callback

* Use H5FDopen with H5F_ACC_RDWR flag instead of H5F_ACC_TRUNC in vfd test

* Remove handling of passthrough "ctl" flag from multi VFD

* Move logic for testing H5FD_CTL__TEST_OPCODE into a testing VFD

Revise description of "ctl" callback in RELEASE.txt

Remove unused H5FD_CTL__NUM_OPCODES definition

Fix some warnings in multi VFD

Co-authored-by: mainzer <mainzer#hdfgroup.org>
2021-09-23 07:50:00 -05:00
Sean McBride
1f2bba5255
Modified gcc/clang warning suppression macros to account for some warnings flags being supported by one compiler but not the other (#379)
* Committing clang-format changes

* Fixed GCC warning suppression pragmas to also work with clang

H5_GCC_DIAG_ON remains gcc-only.

Added a new H5_CLANG_DIAG_ON that's clang-only, but it's not used anywhere currently.

Added a new H5_GCC_CLANG_DIAG_ON that works with both compilers, which afterall support mostly the same warnings.  Changed almost all uses of H5_GCC_DIAG_ON to use H5_GCC_CLANG_DIAG_ON, with the exception of a couple, where they really were suppressing gcc-only warnings.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-16 07:42:20 -05:00
jhendersonHDF
cd2ca91875
Fix several warnings (#720) 2021-09-14 15:24:01 -05:00
Jan-Willem Blokland
7c973deaf1
H5Ztrans: (feature) Improved H5Z_xform_noop() and H5Z_xform_create() … (#933)
* H5Ztrans: (feature) Improved H5Z_xform_noop() and H5Z_xform_create() function

- Made a small improvement for H5Z_xform_noop() function. Now,
  the function will also return TRUE if the data transform function
  expression = "x". For this case, the HDF5 library behaves in a
  similar fashion as the case when no data transform function has been
  specified.
- Improved the inline documentation of the function
  H5Z_xform_create() such it is more inline with the rest of the
  code.

* Committing clang-format changes

* H5Ztrans: (feature) Added 3 tests for improved H5Z_xform_noop() function

- Added serial test with data transform expression = "x" to
  verify the improved H5Z_xform_noop() function behaves as expected.
- Added 2 parallel tests with data transform expression = "x"
  in combination with a filter. Before, these tests will fail but
  with the improved H5Z_xform_noop() function they work and result
  in the expected behavior.
- Small bug fix for one of parallel filter tests.

* Committing clang-format changes

* H5Ztrans: (feature) Added release note about detection of the
           simple data transform function "x".

- Added a brief explanation about the implemented improvement
  of the detection of the simple data transform function "x"
  to the RELEASE.txt file.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-13 15:05:19 -05:00
Sean McBride
131402a92d
More various warnings (#958)
* Committing clang-format changes

* Fixed various -Wdouble-promotion warnings

* Fixed -Wshadow warning for `optopt` conflict

On macOS at least, there is a global various named `optopt` in unistd.h.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-24 23:05:23 -05:00
Sean McBride
f6c49fe891
More clang tidy (#908)
* Pacify clang-analyzer-unix.cstring.NullArg

* Apply some bugprone-suspicious-string-compare

* Apply some readability-simplify-boolean-expr

* Apply some readability-make-member-function-const

* Apple some bugprone-macro-parentheses

* Changed an f suffix to L for `long double`

* Applied some readability-uppercase-literal-suffix automatically

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-23 16:14:53 -05:00
Allen Byrne
3600d33f10
CMake should use the output dir programs for shell scripts (#928) 2021-08-19 16:03:05 -05:00
Dana Robinson
b5c66529e9
Fixes a bad memory read and unfreed memory in fsinfo code (#893)
* Fixes a bad memory read and unfreed memory in fsinfo code

The segfaul from CVE-2020-10810 was fixed some time ago, but the
illegal memory read and unfreed memory were not.

This fix tracks some buffer sizes and errors out gracefully on errors,
ensuring buffers are cleaned up and avoiding the H5FL infinite loop +
abort on library close.

* Committing clang-format changes

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-12 07:21:50 -05:00
Allen Byrne
cfcdf21518
Remove version-check for relnum in H5check. (#812)
* Remove version-check for relnum in H5check.

* Add in release exception code check

* Fix typos

* Fix more typos

* Rework comments

* format change

* format whitespace

* Library version must be less than or equal to headers

* Need the NOT version of the compare

* Enable release+1 check for PASS

* Add release note

* Update note
2021-07-27 15:44:05 -05:00
Dana Robinson
06de43332d
Fixes a couple of warnings: (#849)
- warn_unused_result warnings from h5jamgentest and j5stat_gentest
   that were triggered by write(2) calls where we didn't check the
   return value
 - A missing callback in the NULL VOL connector
 - A possibly uninitialized property list pointer
2021-07-22 08:13:14 -05:00
H. Joe Lee
6b94bf50a0
OESS-168:Remove implicit conversion warnings. (#829)
* OESS-168:Remove implicit conversion increases floating-point precision warnings.

* OESS-168:Remove clang warnings.
2021-07-12 09:00:48 -05:00
Dana Robinson
86e8238ad3
Removes develop header cruft (#828) 2021-07-09 16:27:10 -05:00
Dana Robinson
f0e0c7ed2a
Fixes parallel issues from recent C99 changes (#809)
* Fixes parallel issues from recent C99 changes

* Adds MPE FUNC --> __func__ changes missed in earlier PRs

* Even more missed FUNC --> __func__ macros
2021-06-30 10:17:35 -05:00
Dana Robinson
4ff544f997
Cleans up POSIX/C bits in H5private.h (#804)
* Cleans up POSIX/C bits in H5private.h

* Assume difftime exists (C89)
* Reorg AC_CHECK_HEADERS so headers are in alphabetical order
* Split off networking-related AC_CHECK_HEADERS
* Remove unused UNAME_CYGWIN from configure.ac
* Remove checks for unused sys/timeb.h
* Tidying pass over H5private.h HD prefix macros
* Tidy H5win32defs.h
* Add HD prefix to various scanf calls

* Committing clang-format changes

* Fixes to the alarm(2) code used in the tests to make Windows happy

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-06-28 23:59:25 -05:00