| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
HDsocket(), etc. Only affects the mirror VFD and its test code.
|
|
|
|
|
| |
* Adds semicolons to function-like macros
* Adds a do..while(0) loop to some macros
* Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
|
|
|
| |
These were last usefully modified in 2004
|
|
|
|
|
|
|
| |
* Revert "Remove long double conversion work-arounds (#3097)"
This reverts commit 1e1dac1dac58fa18f6b7788346d1ba7d3315b0f9.
* Update comments to reflect newer systems
|
|
|
|
|
|
|
|
|
| |
* Remove unused HD macros
The library prefixes most C and POSIX API calls with 'HD'. We are
going to start removing these so the code looks like normal C.
This PR removes most of the unused HD markup macros.
* Replace ntohl/ntohs
|
|
|
|
|
|
|
|
| |
src/H5system.c:1293:13: warning: Dereference of null pointer
[clang-analyzer-core.NullDereference]
src/H5trace.c:4048:17: warning: Passed-by-value struct argument contains
uninitialized data (e.g., via the field chain: 'initial.user')
[clang-analyzer-core.CallAndMessage]
|
|
|
|
|
|
|
|
| |
Removes H5detect and H5make_libsettings from the build and replaces
their functionality with things that don't affect cross-compiling.
H5detect --> floating-point types are now detected on library load
H5make_libsettings --> Moved functionality to a new H5build_settings.c template file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several options and public symbols that were provided to paper
over non-standard long double conversions between signed/unsigned
long and long long values were removed from the Autotools and
CMake. These were added twenty years ago, when C99 and 64-bit
platforms were less common and are no longer needed.
Autotools:
--enable-dconv-accuracy
CMake:
HDF5_WANT_DATA_ACCURACY
H5pubconf.h symbols:
H5_WANT_DATA_ACCURACY
H5_LDOUBLE_TO_LONG_SPECIAL
H5_LONG_TO_LDOUBLE_SPECIAL
H5_LDOUBLE_TO_LLONG_ACCURATE
H5_LLONG_TO_LDOUBLE_CORRECT
H5_DISABLE_SOME_LDOUBLE_CONV
|
|
|
|
|
|
|
|
|
|
| |
When copying an empty enum type (including implicitly, as when an enum
is contained in a compound type), the library would allocate 0-size
blocks of memory and attempt to memcpy 0 bytes from NULL pointers, which
are undefined behavior. In debug mode, the library would raise an
assert in H5MM.
The library now avoid undefined memory operations when copying empty
enum types and a test that copies empty enums has been added.
|
|
|
|
|
| |
* Debug functionality where pointers were munged into longs
(which are only 32-bits on Windows)
* Fix a missing cast in Wstrcasestr_wrap()
|
|
|
|
|
|
| |
* Clean up H5detect.c
* Whitespace cleanup
* Align things a bit better
* Comment changes
|
|
|
|
|
|
| |
Microsoft has redefined most POSIX API calls with a leading underscore
in order to strictly comply with C99. Nobody else cares about this and
we define _CRT_NONSTDC_NO_WARNINGS in CMake Windows builds to suppress
their warnings.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Moves the file-independent encode and decode macros to a new
H5encode.h header that is itself included in H5private.h.
Removes UINT64ENCODE_VARLEN and UINT64DECODE_VARLEN, which
were unused.
Fixes include statements in files where H5VMprivate.h and
H5MMprivate.h were included via H5Fprivate.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several macros for handling haddr_t values exist in H5Fprivate.h
and have H5F prefixes, even though they have nothing to do with
a particular file (e.g., H5F_addr_lt()).
These macros have been moved to H5private.h and renamed to have
an H5 prefix.
Affected macros:
H5F_addr_overflow
H5F_addr_defined
H5F_addr_eq
H5F_addr_ne
H5F_addr_lt
H5F_addr_le
H5F_addr_gt
H5F_addr_ge
H5F_addr_cmp
H5F_addr_overlap
H5F_addr_pow2 was unused and removed instead of converted.
|
|
|
|
|
|
| |
If a user buffer is misaligned in the type conversion code, memcpy
could fail if the call is SSE-optimized by the compiler. This change
adds uint8_t * casts so the compiler won't make optimistic assumptions
about buffer alignment.
|
|
|
|
| |
The H5F__efc_open() API call only needs the efc pointer, so there is
no need to pass the entire file struct in.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove macros from api tests (#2929)
* Remove macros and undefined callbacks (#2959)
* Remove remaining macros from H5_api_tests_disabled.h (#2968)
* Put some vol capability checks in testpar tests and remove remaining warnings (#2995)
* API tests datatype generation cleanup
* Clean up API tests' random datatype generation and fix bug with enum
datatype generation
* Init parallel API tests with MPI_THREAD_MULTIPLE
* HDF5 API tests - Check VOL connector registration
* Determine whether a VOL connector failed to load before running API
tests
* Cleanup some usages of H5VL_CAP_FLAG_CREATION_ORDER in API tests
* Remove some now-unused macros from H5_api_tests_disabled.h
* Enable HDF5 API tests by default
* Implement CMake option to install HDF5 API tests
* Check for invalid AAPL from H5Acreate
* Enable building of VOL connectors alongside HDF5 in CMake
* Prepend CMake VOL URL option indices with 0s so they come in order
* Don't turn on API tests by default yet
* Document VOL connector FetchContent functionality
* Add release note for API test updates
* Only install testing library if API tests are installed
* Fix grammar
|
| |
|
|
|
|
|
| |
There is no need for this since we use clang-format
Fixes #3004
|
|
|
|
|
|
| |
Fixes failures when running tests after building with thread-safety
w/ code stacks on.
Fixes #2990
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove unnecessary 'magic' field from cache structs
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* Committing clang-format changes
---------
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
|
|
|
| |
Resolves #92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Prevent buffer overrun in H5S_select_deserialize
The call to H5S_select_deserialize from H5S_decode doesn't have
the buffer size available to it, so to allow decoding there
I set it to assume a max size buffer for now.
Making the buffer size known in H5S_decode could be done by
modifying the external API's H5Sdecode, or splitting H5Sdecode
into two functions using a macro (similar to H5Sencode), with the
macro taking one argument and assuming a max buffer size.
* Conditional buffer check in H5S_select_deserialize
Moved and renamed a macro for only checking buffer overflow when
buffer size is known from H5Odtype.c to H5private.h,
so it can be used throughout the library.
Also silenced some build warnings about types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move functions into more focused source code modules, along with a small #
of directly secondary effects. No actual changes to the contents of any
moved routines.
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* Committing clang-format changes
---------
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add failure value where it's missing from 1+ macros. Clean up
whitespace / continuation characters ('\'). Made hash-table macros generic
for use in both the package header and test header. Remove duplicated
copy & pasted macros (by hoisting difference into #ifdef'd macro).
Updated and re-flowed comments to read better.
Also clean up a few compiler warnings in production builds.
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* Committing clang-format changes
* Remove unused variable warning in H5C.c (#2844)
* Remove trailing /* NDEBUG */ comment from #endif's
* Committing clang-format changes
---------
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Reduce code duplication in macros
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
* "insert" -> "remove" in error string
Signed-off-by: Quincey Koziol <koziol@lbl.gov>
* Remove unused macro also
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
---------
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
Signed-off-by: Quincey Koziol <quincey@koziol.cc>
|
|
|
|
|
|
| |
Removes unnecessary headers and adds missing headers, ensuring
that headers can be included independently and in any order.
Fixes #2789
|
| |
|
|
|
| |
Fixes #688
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The datatype object header message decode function was updated to do
bounds checking on the decode buffer. This buffer may arrive with
no buffer size via H5Tdecode(), in which case the buffer size will
have been set to SIZE_MAX by the library.
This fix changes the string length calls to strlen when we don't
know the buffer size (and avoids a potential compiler bug
with icc 17).
|
|
|
|
| |
These cases can trip when processing malformed files and it's better
to invoke normal HDF5 error handling than crash a process.
|
|
|
|
|
| |
Initial implementation of selection I/O with type conversion. Allows
Parallel collective I/O with type conversion, as long as selection I/O
is enabled.
|
| |
|
| |
|