summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
Commit message (Collapse)AuthorAgeFilesLines
* Made HGOTO_ERROR a do-while loop (#3308)Sean McBride2023-08-021-320/+329
| | | | | * Made HGOTO_ERROR a do-while loop
* Another round of fixing -Wextra-semi-stmt warnings (#3264)Sean McBride2023-07-241-15/+15
| | | Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixed more warnings about extra semicolons (#3249)Sean McBride2023-07-181-36/+36
| | | | | | | * Require semi-colon after H5_CHECK_OVERFLOW calls Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove HD from HDmem* calls (#3211)Dana Robinson2023-06-291-9/+9
|
* Remove programmer/date from comments (#3210)Dana Robinson2023-06-291-58/+0
| | | | * Removes Programmer: and Date: fields * Fixes a few Modifications: fields leftover from previous work
* Rename HD(f)printf() to (f)printf() (#3194)Dana Robinson2023-06-281-49/+49
|
* Rename HDassert() to assert() (#3191)Dana Robinson2023-06-281-429/+429
| | | | | * Change HDassert to assert * Fix bin/make_err
* Many clang -Wextra-semi-stmt fixes (#2537)Sean McBride2023-06-161-14/+14
| | | | | * Adds semicolons to function-like macros * Adds a do..while(0) loop to some macros * Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
* Prevent buffer overrun in H5S_select_deserialize (#2931)mattjala2023-05-121-16/+64
| | | | | | | | | | | | | | | | | | | | | * 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.
* Addressed various Doxygen grammar issues. (#2524)Scot Breitenfeld2023-03-131-1/+1
| | | | | | | | | | * reviewed H5A * Addressed various grammar issues. * remove double words, spelling fixes * replace the use of rawdata with raw data
* H5F_LIBVER_LATEST changes for move to 1.15 (#2288)Allen Byrne2022-12-211-0/+1
| | | | | | | | | | | | | | | * H5F_LIBVER_LATEST changes for move to 1.15 * Add new default api check * Format fixes * Fix default configure * fix lib version tests * Fix another version variable * Add 1.14 doc link
* Update copyright headers (#2184)Larry Knox2022-11-011-1/+0
| | | | | * Updated source file copyright headers to remove "Copyright by the Board of Trustees of the University of Illinois", which is kept in the top-level COPYING file.
* Cleans final production mode warnings from H5Shyper.c (#2163)Dana Robinson2022-10-141-160/+226
| | | | | | | | | | | | | | | | | | | * H5S__hyper_free_span_info() returns herr_t (not checked) * Set up H5S__hyper_free_span_info() error handling * Set up H5S__hyper_free_span() error handling * Added error handling to H5S_HYPER_ADVANCE_SPAN * Handled errors in H5S__hyper_iter_get_seq_list_gen() * Added a production mode build target for -Werror * Committing clang-format changes * Updated names for -Werror checks Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixed an issue that could occur when combining hyperslab selections (#2122)Neil Fortner2022-09-271-2/+2
|
* Fix typos found in src/ subdirectory (#1983)luzpaz2022-08-101-1/+1
| | | Found via `codespell -q 3 -S ./release_docs,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c -L isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn\'t,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,minnum,ake,gord,numer,ro,oce`
* Develop clang 13 format (#1933)Allen Byrne2022-07-261-57/+57
| | | | | * Update format source to clang 13 * More format changes
* Fixes for production mode gcc warnings (#1873)Dana Robinson2022-07-111-6/+10
| | | | | | | | | | | | * Fixes for production mode gcc warnings With the strict-overflow changes, this brings the number of warnings in the C library w/ gcc 12 to zero. * Fix typo * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Quiets const warnings (#1831)Dana Robinson2022-06-291-1/+1
|
* Fix some const cast and stack/static object size warnings (#1700)jhendersonHDF2022-05-011-5/+4
| | | | | | | | | * Fix various warnings * Move HDfree_const to H5private.h for wider use * Print output from all ranks in parallel tests on allocation failure * Move const pointer freeing macro to h5test.h for now
* Removes the STATIC flavor of FUNC_ENTER macros (#1622)Dana Robinson2022-04-081-84/+84
| | | | | * Removes the STATIC flavor of FUNC_ENTER macros
* Use appropriate printf format specifiers for haddr_t and hsize_t types ↵jhendersonHDF2022-01-111-28/+22
| | | | directly (#1340)
* Fix usage of several HDfprintf format specifiers after HDfprintf removal (#1324)jhendersonHDF2022-01-041-28/+35
|
* Fixed Spelling Errors (#1166)Scot Breitenfeld2021-12-071-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Stop lying about H5S_t const-ness (#1209)Dana Robinson2021-11-201-30/+30
| | | | | | Hyperslabs can be reworked inside several H5S callbacks, making H5S_t non-const in some places where it is marked const. This change switches these incorrectly const H5S_t pointer parameters and variables to non-const where appropriate.
* Simplify function enter macros for performance benefits (#1024)David Young2021-11-081-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Take a stab at using constructors to initialize instead of function-entry macros. This is a work in progress. It's good enough to run `many_dsets`. * Committing clang-format changes * Add the `many_dsets` benchmark and some scripts I used on jelly for setting up the build/test environment and for recording/flame-graphing profiles. * Committing clang-format changes * Change my Makefile and environment script to work both on jelly and on mayll (and probably on Summit). * Disable clang-format "fix." * Replace the `if (!H5_TERM_GLOBAL)` test in each FUNC_ENTER_ macro with `if (true)`. * Fix bad grammar in a comment. * Instead of labeling the H5*__init_package routines constructors, fold each into an initialization routine, H5*_init(), and call each of the H5*_init() routines. Call most of the H5*_init() routines from H5_init_library() in an explicit order that I found out earlier by instrumenting each __init_package routine and running the library tests. Roll H5FD*__init_package routines into H5FD*_init() routines. This change ends just-in-time initialization of package dependencies by package initializers. Don't track in per-package variables (H5_PKG_INIT_VAR) whether each package has been initialized. Instead, track in a single library variable whether the whole library is initialized or not. Drive the initialization of packages by H5_init_library() with a table of initializer routines. Also drive the termination of packages by H5_term_library() with a table. Perform initialization as needed from FUNC_ENTER_API_INIT(err). This basically restores the old behavior of that macro. Delete a bunch of #definitions in H5private.h that have fallen out of use with these changes. * Committing clang-format changes * Undo the bad auto-formatting that appears to have occurred in spite of my disabling it. Bracket some code in /* clang-format off */ /* clang-format on */ to prevent a recurrence. * Remove a diagnostic abort(). * Fix a logic error: print a comma between every package terminator run, and don't print an initial comma. * Complete the changes I started in H5_term_library() that undo the bad auto-formatting. Stop tracking whether package "tops" were initialized in per-package variables H5*_top_package_initialize_s. H5_term_library() takes care of that for them. Remove H5R_top_term_package() and H5R_term_package(), they don't do anything. * Committing clang-format changes * NFCI. Simplify macro text: replace `if (true) {` with `{`. * Fix formatting and suppress clang-format on a longer range. * Quiet some unused label, unused variable complaints that cropped up after I simplified the FUNC_ENTER_ macros for the sake of performance. * Committing clang-format changes * Delete some programs and scripts that don't belong in the pull request. * Use the right function-entry macro. * Use a sensible format and disable auto-formatting. * Stop calling do-nothing initializer H5FS_init(). Delete it. * Document what changes to make if the default VFD changes. * While I am here, change an `await_prior` flag on the terminator table to `true` to match the previous, non-table-driven code that was here. Found the oversight making the following changes: NFCI: insert an empty line and copy over slightly-edited comments from the previous version, where those comments still correctly explained how library termination operated. * NFCI: lower a staircase. * Replace every occurrence of FUNC_ENTER_NOAPI_INIT(...) with H5_PUSH_FUNC since that is all that that macro does any more. Quiet a bunch of new warnings by changing FUNC_ENTER_NOAPI(...) to FUNC_ENTER_NOAPI_NOERR and removing disused `done:` labels. * NFCI: add curly braces around a multiline statement. * Quiet a signed/unsigned comparison warning. * Add some documentation about library initialization and shutdown. * Make sure that the library is initialized, or else that initialization is already underway, before performing any VFD's initialization. * Committing clang-format changes * Committing clang-format changes * Reduce differences from `develop` branch. * Always initialize `tot_init`. * Committing clang-format changes * Fix typo: H5SL_init initializes skip lists, not VOL. * Remove H5_TERM_GLOBAL test in H5T_init. H5T_init was unusual in that it tested H5_TERM_GLOBAL and exited early if it was set. No other module initializers did that, and I cannot find any reason that should be necessary. Tests still pass when I remove it, so away it goes. * Use HD prefix. * Add function header comments. * Drop the intermediate variable, it's only used once. * Extract subroutine `H5FDperform_init(hid_t (*init)(void))` that initializes the library, if necessary, before calling its VFD-initializer argument. Use H5FDperform_init in the definition of the symbols H5FD_<vfd> (e.g., H5FD_SEC2), which may be evaluated before the library is initialized, like so: ``` ``` I implement H5FDperform_init in its own source file, H5FDperform.c, and exclude that file from trace processing because the `bin/trace` cannot deal with the function-pointer type. * Straggler from last: add new source file src/H5FDperform.c. * Committing clang-format changes * Add a missing file to the MANIFEST. * Switch to FUNC_ENTER_API_NOINIT in H5FDperform_init() and hbool_t in H5_term_library(). Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes parallel issues from recent C99 changes (#809)Dana Robinson2021-06-301-9/+9
| | | | | | | * Fixes parallel issues from recent C99 changes * Adds MPE FUNC --> __func__ changes missed in earlier PRs * Even more missed FUNC --> __func__ macros
* Fixed all -Wincompatible-pointer-types-discards-qualifiers warnings (#341)Sean McBride2021-02-221-2/+2
| | | | | | | | | | | | | * Fixed various -Wincompatible-pointer-types-discards-qualifiers warnings by adding const * Fixed various -Wincompatible-pointer-types-discards-qualifiers warning by removing extraneous consts There were casts with const, but the function parameter doesn't actaully take const, so just modified the casts. In the other case, a local variable was const that should not have been, becuase its source wasn't const either. * Fixed a -Wincompatible-pointer-types-discards-qualifiers warning by strdup-ing a string Create a duplicate string instead of mutating a supposedly const one.
* Fixed uninitialized warnings (#360)Sean McBride2021-02-191-8/+8
| | | | | | | | | | * Fixed all -Wsometimes-uninitialized warnings by initializing variables * Fixed all -Wconditional-uninitialized warnings by initializing variables * Commit alignment changes from running bin/format_source with clang version 10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Update license url (#332)Larry Knox2021-02-171-1/+1
| | | | | | * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING file - src and test directories.
* develop revert source to clang-format version 11 (#293)Allen Byrne2021-01-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction
* Replace H5E_ATOM major error category with H5E_ID (#121)Dana Robinson2020-11-301-4/+4
| | | | | | | | | | * Renames H5I_ATOM to H5I_ID, among other related changes * Java has been updated. * Fortran is failing on my VM, even though I don't touch that. * Adds a RELEASE.txt note for H5E_ATOM to H5E_ID changes * Fixes typos in comments
* Enhance API tracing (#120)Quincey Koziol2020-11-261-4/+5
| | | Enhance API tracing to handle more types, and to put tracing info in a string, allowing it to be used when reporting errors. Also refactor ref-counted strings (H5RS) module to add capabilities needed for the tracing. Refactored H5Gname.c routines to use new H5RS routines also. Added /*out*/ tags to API routines that are returning information to the application. Updated H5TRACE macros from running updated trace script over library code. Added tests for new H5RS routines.
* Basic alignment with async branch (#115)Quincey Koziol2020-11-231-3/+3
| | | | | | | * Basic alignment with async branch - trivial changes to reduce clutter in overall diff. * Update minor error code to reflect change within library * Update the error output to match library
* Removes -Wimplicit-fallthrough=5 from the gcc warningsDana Robinson2020-10-221-1/+8
| | | | | | | | | | | | -Wimplicit-fallthrough=3 is added by -Wextra, which we already set. Bumping the warning level only changes how fall-through comments are parsed, with level 5 turning off fall-through comments entirely. This is unnecessary and results in having to do extra work to squash warnings when included external code uses fall-through. This change also adds /* FALLTHROUGH */ comments where H5_ATTR_FALLTHROUGH is used so compilers that don't use attributes but do respect fall-through comments don't raise spurious warnings.
* Clang-format of source filesAllen Byrne2020-09-301-2738/+2807
|
* Clean up private / package / static namespace issues (function naming, whichQuincey Koziol2020-08-061-6/+4
| | | | | | header file, FUNC_ENTER / LEAVE, etc). Removed remaining personal email addresses from library source code (still needs cleaned from other directories). Misc. warning, style, and whitespace cleanup.
* Minor normalization with 1.10Dana Robinson2020-07-171-20/+19
|
* Minor changes from normalization with 1.10Dana Robinson2020-07-091-105/+106
|
* Normalization with hdf5_1_10Dana Robinson2020-06-011-47/+47
|
* Merge branch 'develop' into bugfix/intel_warningskmu2019-12-091-1/+4
|\
| * Two fixes:Vailin Choi2019-12-051-0/+3
| | | | | | | | | | (1) Set the version for reference datatype messge to H5O_DTYPE_VERSION_4. (2) Verify the decoded version for hyperslab selection.
| * Add support for scalar dataspaces to H5Sproject_intersection. AddNeil Fortner2019-12-021-1/+1
| | | | | | | | checking for ank validity.
* | remove unnecessary check macrokmu2019-12-061-1/+1
| |
* | fix intel compile warningskmu2019-12-041-1/+1
|/
* Move checking for zero offset in selection adjust calls to the selection ↵Neil Fortner2019-11-181-22/+33
| | | | | | | callbacks. This makes the procedure for checking it consistent across selection types and between _s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package.
* Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() withNeil Fortner2019-11-181-48/+9
| | | | | H5Sselect_adjust. Implement "adjust_s" callback for all selection types. Add range checking to H5Sselect_adjust().
* Implement public H5Sselect_project_intersection(). Updated internalNeil Fortner2019-11-131-87/+189
| | | | | | | | algorithm to (optionally) avoid sharing selection data structures. Tested internal code (including with valgrind) by setting VDS code to avoid sharing selection, has since been changed to share selection for performance, so this code is not yet tested in regression tests. API has not been tested.
* Fix the errors when updating the versions in the new 1.13 develop branch.Vailin Choi2019-09-261-1/+1
|
* Update versioning to next major versionAllen Byrne2019-09-251-214/+215
|
* Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls.Dana Robinson2019-08-151-0/+41
|