summaryrefslogtreecommitdiffstats
path: root/src/H5S.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r27956] Description:Quincey Koziol2015-10-051-2/+3
| | | | | | | | Minor code cleanups, preparing to merge to trunk. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (h5committest not required on this branch)
* [svn-r27916] Re-merge of r27884-27891 from the trunk + bugfix for a fewDana Robinson2015-09-301-18/+22
|\ | | | | | | | | | | | | | | H5S recursive functions where an aliased pointer was incorrectly set too early. Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2 serial and parallel (w/ MPICH 3.1.4)
* | [svn-r27912] Revert of r27887, which caused failures in the vds test. TheseDana Robinson2015-09-291-22/+18
| | | | | | | | | | | | | | | | changes will be merged more carefully so we can more easily identify any errors that arise. Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2 serial and parallel (w/ MPICH 3.1.4)
* | [svn-r27887] Description:Quincey Koziol2015-09-271-18/+22
|\ \ | |/ | | | | | | | | | | | | Merge changes from trunk to the branch. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (h5committest not required on this branch)
| * [svn-r27884] Description:Quincey Koziol2015-09-261-18/+22
| | | | | | | | | | | | | | | | | | Update dataspace selection encode/decode routines to avoid type aliasing errors. Tested on: Linux/64 2.6.x (platypus) w/production (h5committest forthcoming)
| * [svn-r27851] Description:Quincey Koziol2015-09-221-32/+63
| | | | | | | | | | | | | | | | | | Normalization changes that wouldn't otherwise be necessary if the VDS branch wasn't coming in shortly. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (h5committest forthcoming)
* | [svn-r27835] Description:Quincey Koziol2015-09-211-42/+87
|\ \ | |/ | | | | | | | | | | | | Sync w/trunk. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (h5committest not required on this branch)
| * [svn-r27768] Description:Quincey Koziol2015-09-141-42/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* | [svn-r27632] Description:Quincey Koziol2015-08-311-3/+3
| | | | | | | | | | | | | | | | | | | | Revert changes to pass file pointer to selection serialize/deserialize routines. Also patch back in some changes that were merged out in the previous merge w/trunk. Tested on: MacOSX/64 10.10.5 (amazon) w/serial (h5committest not required on this branch)
* | [svn-r27606] Merge revisions 27593 through 27605 from trunk to vds branch.Neil Fortner2015-08-281-1/+1
|\ \ | |/ | | | | Tested: ummon
| * [svn-r27605] Fix potential memory error when using a dataspace that was ↵Neil Fortner2015-08-281-1/+1
| | | | | | | | | | | | | | | | created with H5Screate and had its extent set by H5Sextent_copy. Tested: jam, ostrich (h5committest)
* | [svn-r27598] Description:Quincey Koziol2015-08-271-15/+1
| | | | | | | | Check in misc. minor code cleanups, found during code review
* | [svn-r27479] Add checking for invalid inputs to H5Dset_virtual: point ↵Neil Fortner2015-08-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | selections, incorrect numbers of elements selected, incorrect "slice" through limited dimensions, incorrect number of printf substitutions. Patch source selection space extent with bounds of selection if extent is unknown before returning via H5Pget_virtual_srcspace. Write updated VDS dataspace to file when it changes due to unlimited selections. Other minor fixes/cleanup. Tested: ummon
* | [svn-r27424] Implement support for h5debug for VDS.Neil Fortner2015-07-221-23/+21
| | | | | | | | | | | | | | | | | | | | Implement support for H5Pencode/decode with VDS properties. Testing for H5Pencode/decode with VDS. Relax assertion check for number of elements written to buffer as we do not check for overlaps in mappings. Other minor fixes/cleanup. Tested: ummon
* | [svn-r27246] Remove "clipped" status from unlimited selections, decoupling ↵Neil Fortner2015-06-181-12/+0
| | | | | | | | | | | | | | | | | | | | | | them from the extent. Improve algorithm for calculation of VDS extent by removing the need for a temporary copy of a dataspace. Other minor fixes/cleanup. Tested: ummon
* | [svn-r27103] Merge revisions 26780 through 27102 from trunk to vds branch.Neil Fortner2015-05-211-6/+5
|\ \ | |/ | | | | Tested: ummon
| * [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-orderedDana Robinson2015-05-101-1/+1
| | | | | | | | | | | | the arguments to be in a more logical order. Tested on: h5committest
| * [svn-r26842] Description:Quincey Koziol2015-04-181-5/+4
| | | | | | | | | | | | | | | | | | | | Cache the dataset's rank & dimension sizes, instead of querying them frequently, to speed up various checks & algorithms. Also, a few minor cleanups. Tested on: MacOSX/64 10.10.2 (amazon) w/serial & parallel Linux/32 2.6.18 (jam) w/serial & parallel
| * [svn-r26690] Fix error in H5Sextent_copyNeil Fortner2015-04-011-0/+6
| | | | | | | | | | | | | | | | When the selection is set to all, H5Sextent_copy did not update the number of elements in the selection in the destination space. Fixed H5Sextent_copy to do this. Added tests for this functionality. Tested: jam, koala, ostrich (h5committest)
* | [svn-r26962] Add support for unlimited selections to VDS code.Neil Fortner2015-04-291-9/+17
| | | | | | | | | | | | | | | | Not tested (except for percival-unlim example) Fix percival-unlim example Other bug fixes/cleanup Tested: Fedora 64
* | [svn-r26878] Fix errors in unlimited selection serialize/deserializeNeil Fortner2015-04-211-10/+8
| | | | | | | | | | | | Other minor fixes Tested: jam
* | [svn-r26828] Implement support for unlimited selections (not supported by ↵Neil Fortner2015-04-161-2/+20
| | | | | | | | | | | | | | | | | | VDS code yet). Add tests for unlimited selections. Various other minor changes. Tested: ummon
* | [svn-r26680] Implement minor suggestions from 3/26/15 code review.Neil Fortner2015-03-311-5/+1
| | | | | | | | | | | | Note make check still fails in h5dump test (unrelated to this checkin). Tested: ummon
* | [svn-r26559] Fix error in H5S_extent_copy (needs testing) - would not patch ↵Neil Fortner2015-03-241-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | number of elements selected with "all" slections nor reset sharing state. Fix error in H5S__hyper_project_intersection algorithm. Note there are still some code coverage assertions in the selection matching algorithm - if you hit these try taking them out. Note make check still fails in h5dump test (unrelated to this checkin). Tested: ummon
* | [svn-r26306] Merge r26296 through 26304 from trunk to vds branch.Neil Fortner2015-02-251-1/+5
|\ \ | |/ | | | | | | | | | | It should no longer be necessary to use --enable-using-memchecker make check fails due to an issue with h5ls apparently unrelated to the merge Tested: ummon
| * [svn-r26302] Description:Quincey Koziol2015-02-251-2/+2
| | | | | | | | | | | | | | | | | | Revise dataspace encode/decode routines to make them work better with future virtual dataset feature. Tested on: Mac OSX/64 10.10.2 (amazon) w/serial (h5committest forthcoming)
| * [svn-r26301] Description:Quincey Koziol2015-02-251-1/+5
| | | | | | | | | | | | | | | | Bring Neil's fix for error in H5S_extent_copy() back to the trunk. Tested on: Mac OSX/64 10.10.2 (amazon) w/serial (h5committest forthcoming)
* | [svn-r26293] Implement patching of virtual dataspace extent in mapping ↵Neil Fortner2015-02-241-5/+38
| | | | | | | | | | | | | | | | dataspaces when opening virtual dataset. Add tests for this. Tested: ummon
* | [svn-r26153] INCOMPLETE, UNWORKING CODENeil Fortner2015-02-101-2/+2
|/ | | | Commit progress through 2/10/15 at 1500 CST
* [svn-r25766] Description:Quincey Koziol2014-11-031-1/+2
| | | | | | | | | | Revert r25273, 25283 & 25439 (the hyperslab improvement changes). They are buggy and it's taking me a long time to correct the problem. I'll check in a revised form of the changes when I've got them straightened out. Tested on: Mac OSX 10.10.0 (amazon) w/gcc 4.9.x, C++, FORTRAN Linux 2.6.x (jam) w/parallel
* [svn-r25531] remove use of C99 PRI that failed on windows in dtypes.cMohamad Chaarawi2014-08-111-1/+1
| | | | fix bugs where hid_t were assumed to be 32 bit ints or herr_t.
* [svn-r25496] Description:Quincey Koziol2014-07-301-5/+6
| | | | | | | | | Merge 64-bit ID changes from branch to trunk. (Plus a few minor cleanups that aren't on the branch) Tested on: Mac OSX/64 10.9.4 (amazon) w/C++ & FORTRAN (h5committested on branch already for a week)
* [svn-r25273] Description:Quincey Koziol2014-06-131-2/+1
| | | | | | | | | | | Bring in Chao/Neil/my changes to optimize hyperslab selection operations further, along with 3 new public API routines: H5Scombine_hyperslab(), H5Sselect_select() and H5Scombine_select(), along with many minor cleanups to the code and fixing a few compiler warnings. Tested on: Mac OSX/64 10.9.3 w/gcc 4.9.x and parallel w/OpenMPI (h5commttest forthcoming)
* [svn-r24864] Description:Quincey Koziol2014-03-211-13/+0
| | | | | | | | | | | | | | | | | | Remove all traces of MPI-POSIX VFD and GPFS detection/code. Remove remaining traces of stream VFD. Remove testpar/t_posix_compliant test (it's not actually verifying anything). Clean up H5D__mpio_opt_possible() further. Moved environment variable that disables MPI collective operations into MPI-IO VFD (instead of it being in src/H5S.c). A few other small code cleanups. Tested on: Mac OSX/64 10.9.2 (amazon) w/parallel & serial
* [svn-r24255] Description:Quincey Koziol2013-10-041-1/+0
| | | | | | | | Switch H5I internal data structure from using hash table to skip lists. Tested on: Mac OSX 10.8.4 (amazon) w/C++ & FORTRAN FreeBSD, Linux, etc. forthcoming
* [svn-r23713] Description:Quincey Koziol2013-05-211-5/+5
| | | | | | | | | | Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r22582] Description:Quincey Koziol2012-07-161-5/+44
| | | | | | | | | Refactor ID class registration to be more like how other "class"s in the library are registered, and clean up compiler warnings. Tested on: Mac OSX/64 10.7.4 (amazon) w/debug (Too minor to require h5comittest)
* [svn-r22053] Description:Quincey Koziol2012-03-121-2/+7
| | | | | | | | | | Correct corner case for creating a contiguous dataset with a zero-sized dataspace, when the allocation time is set to early. Also clean up a few compiler warnings in the dataspace code. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & parallel
* [svn-r21919] Description:Quincey Koziol2012-02-091-48/+45
| | | | | | | | Refactor function name macros and simplify the FUNC_ENTER macros, to clear away the cruft and prepare for further cleanups. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r20497] Bug 1386 - allow dimension size to be zero even though it isn't ↵Raymond Lu2011-04-141-6/+1
| | | | | | unlimited. I took out some comment. No test needed.
* [svn-r20496] Bug 1386 - allow dimension size to be zero even though it isn't ↵Raymond Lu2011-04-141-9/+1
| | | | | | | | | unlimited. I made a change in H5Sset_extent_simple to forbid setting the dimension size bigger than existing maximal size. In this checkin, I restored it to the previous behavior that any change will wipe out previous record of dimensionality. Tested on jam - a simple change.
* [svn-r20487] Bug 1386 - allow dimension size to be zero even though it isn't ↵Raymond Lu2011-04-121-5/+20
| | | | | | | | | | | | unlimited. This is a follow-up checkin for r20440 and r20469: 1. The dataspace code has another bug - when the maximal dimension isn't passed in for H5Sset_extent_simple, it is supposed to be same as the dimension. The current library sets NULL to it. I corrected it and added a test case to it. 2. I corrected the tests of Fortran and C++ for this problem. Tested on heiwa, jam, and amani.
* [svn-r20440] Bug 1386 - allow dimension size to be zero even though it isn't ↵Raymond Lu2011-04-071-16/+14
| | | | | | unlimited. I added test cases for contiguous, compact, and chunked, and external storage datasets, and also attribute. The test includes dataspace selections. I'll handle the tools in the next step. Tested on jam, amani, and heiwa.
* [svn-r19398] Descriptino:Quincey Koziol2010-09-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Clean up the internal usage H5I_dec_ref() to eliminate the sequence of flags that has been creeping in. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
* [svn-r19363] When mandatory filter failed to write data chunks, the datasetRaymond Lu2010-09-091-1/+1
| | | | | | | couldn't close (bug 1260). The fix releases all resources and closes the dataset but returns a failure. Tested with h5committest - jam, heiwa, amani.
* [svn-r18702] Description:Quincey Koziol2010-05-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Bring r18672 from metadata journaling "merging" branch to trunk: Mostly changes to move to only using one 'user data' parameter for calls to H5AC_protect(), along with some minor reformatting code cleanups. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18595] Description:Quincey Koziol2010-04-201-2/+2
| | | | | | | | Clean up compiler warnings Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor to require h5committest)
* [svn-r18157] Description:Quincey Koziol2010-01-231-72/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring back changes from Coverity session on 1/15/10: r18111: Fix Coverity issue #130: make certain that the cache gets freed on error. r18112: Fix Coverity issue #43 by making cache testing calls protected by 'pass' variable. r18113: Fix Coverity issue #129 by releasing the cache on error. r18115: Coverity #45 fix: patched an error check in H5Screate_simple to prevent future dereferencing of a NULL point. Added a verification in test/th5s.c. r18116: Fix Coverity issue #43 by releasing cache on error. r18117: Coverity #362,363 by adding HGOTO_DONE, freeing allocations and associated changes. REsolving coverity results #364-368, 369, 370-372, 377, 379, and 380. r18118: Fix Coverity issue #42: assert that cache & test specification pointer are valid. r18122: Coverity #362,363 by adding HGOTO_DONE and freeing allocations. This also takes care of #357,358. r18123: Coverity #359-361, 373-376: Added HGOTO_DONE(FAIL) statement after checking allocation for NULL. Verified allocation is freed in done block. r18128: Fixed coverity issue #10 -- removed dead code. Tested on: Mac OS X/32 10.6.2 (amazon)
* [svn-r18031] Description:Quincey Koziol2009-12-171-6/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18030 from merge_metadata_journaling branch to trunk: Bring "brush clearing" changes (whitespace & style issues, mostly) from metadata_journaling branch to the "merging" branch, to converge the trunk and the metadata_journaling branch. Also, some other minor cleanups along the way. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* | [svn-r18011] Description:Quincey Koziol2009-12-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring Coverity changes into the trunk: (also other minor cleanups) r17991: Fix Coverity items 175 and 176. Fixed memory leak on error in print_enum in H5LT.c. r17993: (r17992 was not a Coverity change) Close Coverity issue #206: inconsistently checking whether dt->shared was non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee that dt->shared is valid). r17994: Fix Coverity item 149. Fixed file handle leak on error in H5FD_stdio_open. r17995: Fixed Coverity issues 154 to 161: Added H5MP_close routine to error handling in the event *mp has not been freed before error. r17996: Close Coverity issue #126: potentially leaking merged_spans on routine failure. r17997: Fix Coverity items 147 and 148. Fixed resource leaks on error in H5FDloc.c. r17998: Coverity issue 269-272: Added integer result variable to functions that could return negative. Assigned to unsigned after checking. Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the catch block. Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if block to H5E_THROW. r17999: Close Coverity issue #127: release temporary spans in more generic manner. (Also add error checking to previous fix) r18000: Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore Coverity warning regarding not checking pointer for NULL, as we are using an assert which catches the issue. r18001: Fix Coverity item 146. Fixed resource leak on error in H5O_layout_copy. r18002: Fix Coverity items 143 and 145. Fixed resource leaks on error in H5D_compact_copy and H5D_contig_copy. r18003: Close Coverity issue #192: close file on error r18004: Fix Coverity issue #125: release temporary spans on error r18005: Resolved Coverity issues 5, 25, and 83 (in H5T.c): Separated embedded functions in order to check for NULL on return of H5I_object before passing into H5T_copy. Check to see if new_dt is NULL within error handling before dereferencing it. Ignore Coverity's dead code warnings as the checks that lead to the code are machine dependent. r18006: Coverity 63,70,73: Checked result of function before assigning to an unsigned variable. r18007: Coverity 78,79: added continue statement if H5Pget_filter2 returns negative. r18008: Fixed Coverity issue # 138: Added support in error handling to free dst pointer (if allocated) on error. r18009: Whitespace & coding style cleanup