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
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
Align w/vds branch: Whitespace cleanup, move common code for opening a
dataset into a new routine, misc. style cleanups.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest upcoming)
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
Update the file format debugging routines to match the recent changes to
the metadata cache, along with a few other cleanups and miscellaneous
enhancements.
Tested on:
MacOSX/64 10.10.5 (amazon)
(h5committest forthcoming)
- Updated the preprocessor logic that defines the H5_ATTR_* macros. The Solaris
Studio compiler understands __attribute__ but not the specific attributes
that we use. The H5_ATTR_* macros are now defined as blank with that
compiler which significantly cleans up the warnings, making debugging
easier.
- Replaced a few lingering __attribute__ macros with H5_ATTR_* markup.
Tested on: h5committest
Solaris w/ Solaris Studio (emu)
Convert internal chunk structures to use 'scaled' coordinates instead of
absolute coordinates.
Tested on:
Mac OSX/64 10.10.3 (amazon) w/parallel & serial
Linux 2.6.x/32 (jam) w/parallel & serial
Linux 2.6.x/64 (koala) w/serial
Description:
The test added failed in some machines because the data file contains infinity values that different machines print them differently as "inf", "INF", "Inf", ...
Solution:
Added a "ignorecase" option to TOOLTEST() to do caseless matching between generated output vs expected output. This solved most machines problem for now.
Tested: h5committest, emu by hand for both development and production modes.
But cmake built h5dump failed to read the data file. Using the same source to build h5dump by autotools produced a h5dump that can read the test data file. Don't know why cmake could not produce a correct binary.