Merge in part of Neil's property list fixes: Fix a minor memory leak,
add some sanity checks, clean up the code a little, and verify that encoding/
decoding default versions of the property lists works correctly.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial
(Too minor to require h5committest)
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
Bring the "metadata rings" code from its branch (mdc_rings_v2) to the trunk.
(This change will support the page buffering feature)
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Fix handling of layout version number.
Other minor fixes/cleanup.
NOTE: This commit changes the file format for VDS, all files must be
re-generated.
Tested: ummon
gcc 4.9.2 was used to create the warning list
- implicit casts
- shadowed variables
- various enum issues
- other minor fixes (comments, unused macros, etc.)
Tested on: h5committest
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.
Tested on: h5committest
Tested w/ h5committest
NOTES: - The manifest may still be messed up.
- Cmake fails since the dual binary work needs to be merged with
this repo's CMake externals.
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
Renamed a few "h5tri_t extended" variables to "h5tri_t was_extended".
Apparently, "extended" is a typedef name someplace in the headers used
on Solaris, which causes potentially confusing warnings to be emitted.
Tested on: h5committest
Solaris w/ Solaris Studio (emu)
Description:
XL compilers in ostrich (PowerPC64 linux) fail in test/dt_arith
because of the removal of the LLONG_TO_LDOUBLE_CORRECT (removed in
r26625) and LDOUBLE_TO_LLONG_ACCURATE (removed in r26623).
Solution:
Reverse revisions
r26623: bring back LDOUBLE_TO_LLONG_ACCURATE configure macro
r26625: bring back LLONG_TO_LDOUBLE_CORRECT configure macro
r26627: bring back WANT_DATA_ACCURACY configure macro which is
used together with the above two macros. This also brings
back the enable-dconv-accuracy configure option.
Tested:
h5committested.
Also tested in ostrich using the XL compilers.
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