summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Many fixes to various compiler warnings (#3124)Sean McBride2023-06-1914-39/+39
| | | | | | | | | | | * Fixed various -Wmissing-variable-declarations by adding static keyword * In a few cases, renamed the variable suffix from _g to _s. * Fixed some -Wmissing-variable-declarations by using different declaration macros * Fixed various -Wconditional-uninitialized warnings by just initializing variable to zero * Fixed various -Wcomma warnings * Fixed clang -Wstrict-prototypes warnings * Fixed various -Wunused-variable warnings * Updated some casts to fix the only 3 -Wcast-qual warnings * Fixed the only -Wsometimes-uninitialized warning
* Track s3 i/o when S3COMMS_DEBUG enabled (#3139)mattjala2023-06-161-0/+5
| | | * Track s3 i/o when S3COMMS_DEBUG enabled
* Remove HD prefix from network calls (#3142)Dana Robinson2023-06-162-50/+8
| | | HDsocket(), etc. Only affects the mirror VFD and its test code.
* Many clang -Wextra-semi-stmt fixes (#2537)Sean McBride2023-06-1697-537/+549
| | | | | * Adds semicolons to function-like macros * Adds a do..while(0) loop to some macros * Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
* Removed .lnt linter files (#3143)Dana Robinson2023-06-163-145/+0
| | | These were last usefully modified in 2004
* Revert long double checks (#3133)Dana Robinson2023-06-153-0/+47
| | | | | | | * Revert "Remove long double conversion work-arounds (#3097)" This reverts commit 1e1dac1dac58fa18f6b7788346d1ba7d3315b0f9. * Update comments to reflect newer systems
* Remove unused HD macros (#3120)Dana Robinson2023-06-141-285/+0
| | | | | | | | | * 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
* clang-tidy clang-analyzer-core issues addressed (#3113)Allen Byrne2023-06-132-5/+3
| | | | | | | | 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]
* Remove H5detect and H5make_libsettings (#3104)Dana Robinson2023-06-1315-1452/+856
| | | | | | | | 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
* Remove long double conversion work-arounds (#3097)Dana Robinson2023-06-123-47/+0
| | | | | | | | | | | | | | | | | | | | | 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
* Address memory issues when copying empty enums (#3088)Dana Robinson2023-06-122-17/+26
| | | | | | | | | | 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.
* Fix misc warnings on Windows (#3094)Dana Robinson2023-06-113-21/+21
| | | | | * Debug functionality where pointers were munged into longs (which are only 32-bits on Windows) * Fix a missing cast in Wstrcasestr_wrap()
* Minor cleanup of H5detect.c (#3081)Dana Robinson2023-06-091-152/+115
| | | | | | * Clean up H5detect.c * Whitespace cleanup * Align things a bit better * Comment changes
* Remove Win32 POSIX redefinitions (#3068)Dana Robinson2023-06-071-35/+15
| | | | | | 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.
* Fix MSVC 32/64 bit shift conversion warnings (#3067)Dana Robinson2023-06-071-5/+5
|
* Add netCDF and HDF-EOS5 badges to README.md (#3065)Dana Robinson2023-06-071-1/+1
|
* Fix doxygen comments in structure and enable FAIL_ON_WARNINGS (#3059)Allen Byrne2023-06-061-0/+6
|
* CMake build is missing H5FDsubfiling.h #3037 (#3053)Allen Byrne2023-06-061-2/+2
|
* Move encode/decode macros to a new header (#3040)Dana Robinson2023-06-0634-456/+492
| | | | | | | | | | | 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.
* Convert H5F haddr_t macros to H5 (#3039)Dana Robinson2023-06-05123-948/+945
| | | | | | | | | | | | | | | | | | | | | | 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.
* Add casts to type conversion to fix long dbl bug (#3038)Dana Robinson2023-06-031-2/+22
| | | | | | 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.
* Only pass efc pointer to H5F__efc_open (#3026)Dana Robinson2023-05-303-22/+21
| | | | The H5F__efc_open() API call only needs the efc pointer, so there is no need to pass the entire file struct in.
* Remove unused H5F_EN|DECODE_OFFSET macros (#3027)Dana Robinson2023-05-301-26/+0
|
* API test updates (#3018)jhendersonHDF2023-05-261-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix release version for some H5Pfapl routines (#3023)jhendersonHDF2023-05-261-3/+3
|
* Remove src/.indent.pro (#3008)Dana Robinson2023-05-251-150/+0
| | | | | There is no need for this since we use clang-format Fixes #3004
* Fix missing/misplaced h5_reset calls (#3001)Dana Robinson2023-05-231-6/+0
| | | | | | Fixes failures when running tests after building with thread-safety w/ code stacks on. Fixes #2990
* Fix FUNC_ENTER macro mismatch in H5VL_object_inc_rc() (#2991)bazimo2023-05-231-1/+1
|
* Fix 'datatype' misspellings ('dataype') (#2984)Dana Robinson2023-05-193-14/+14
|
* Add test for HDstrcasestr macro (#2115)jhendersonHDF2023-05-192-1/+24
|
* Change UBSAN for undefined instaed of address (#2964)Allen Byrne2023-05-171-2/+2
|
* Remove unnecessary fields from cache structs (#2951)Quincey Koziol2023-05-1526-524/+36
| | | | | | | | | | | | * 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>
* Warn about changing collections during iteration (#2950)mattjala2023-05-157-15/+37
| | | Resolves #92
* Prevent buffer overrun in H5S_select_deserialize (#2931)mattjala2023-05-1212-104/+233
| | | | | | | | | | | | | | | | | | | | | * 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 (#2936)Quincey Koziol2023-05-1216-7442/+7508
| | | | | | | | | | | | | | * 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>
* More code duplication reduction (#2930)Quincey Koziol2023-05-094-2210/+1523
| | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Remove unused variable warning in H5C.c (#2844)H. Joe Lee2023-05-091-2/+2
|
* Reduce code duplication in macros (#2914)Quincey Koziol2023-05-081-539/+126
| | | | | | | | | | | | | | | | | | * 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>
* Public header cleanup (#2923)Dana Robinson2023-05-0721-93/+59
| | | | | | Removes unnecessary headers and adds missing headers, ensuring that headers can be included independently and in any order. Fixes #2789
* Add Doxygen for H5ES_NONE _WAIT_NONE/FOREVER (#2922)Dana Robinson2023-05-061-10/+13
|
* Add Doxygen for H5S_ALL, _PLIST, and _BLOCK (#2921)Dana Robinson2023-05-061-3/+24
| | | Fixes #688
* Fix CMake generator expression syntax (#2909)Allen Byrne2023-05-051-11/+11
|
* Remove H5TB discussion (#2899)Dana Robinson2023-05-051-10/+0
|
* Fix Autotools internal-debug=all builds (#2886)jhendersonHDF2023-05-031-1/+1
|
* Harden H5O cache deserialize calls (#2856)Dana Robinson2023-05-011-295/+237
|
* Fix memory leaks in H5Dwrite w/ selection I/O (#2859)Dana Robinson2023-04-301-0/+7
|
* Fix TRACE macros in selection I/O plist calls (#2857)Dana Robinson2023-04-301-2/+2
|
* Don't use strnlen when len is not known (#2855)Dana Robinson2023-04-291-15/+41
| | | | | | | | | | 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).
* Converted H5D asserts to normal error checking (#2842)Dana Robinson2023-04-292-57/+45
| | | | These cases can trip when processing malformed files and it's better to invoke normal HDF5 error handling than crash a process.
* Implement selection I/O with type conversion (#2823)Neil Fortner2023-04-2823-336/+2167
| | | | | 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.