* commit 'b2878dec04c120e4e3cdf00e943283e359862c84':
Move cache debugging routines into separate module.
Change file memory type for extending to default, and correct error in backward compatibility for multi VFD.
Warning and whitespace cleanup.
Improvements to the log VFD, for helping with SWMR debugging.
Minor code cleanups.
Uncomment line in test/objcopy.c, clean up whitespace and POSIX call wrapping in tools code.
git mirror or the hdf5 repository prior to the manual migration of the
hdf5 svn repository to the git repository in bitbucket.
Added entries to MANIFEST for the 2 new files.
The features is controlled via H5Pset/get_evict_on_close()
and is currently enabled by default (it will be disabled
by default in the final implementation).
There is a bug in the code where the eviction of tagged
metadata fails due to some of the metadata being dirty,
resulting in error return values and test failures.
Bring object/dataset/group/named datatype features from revise_chunks
branch to trunk. Also CMake support for h5format_convert and a bunch of
misc. cleanups.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Extract query routines into separate source module.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
Bring r29934 from revise_chunks branch to trunk:
(1) Fix for HDFFV-9434: throw an error instead of assertion when v1 btree level hits the 1 byte limit.
(2) Modifications to better handle error recovery when conversion by h5format_convert fails.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring h5format_convert tool from revise_chunks branch to trunk.
Tested on:
MacoSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring H5LD* routines from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring H5DOappend(), H5P[s|g]et_object_flush_cb, and H5P[s|g]et_append_flush
from revise_chunks branch to trunk. Brings along updated metadata cache
entry tagging, and the internal object flush routine.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Minor rearrangements, to align with revise_chunks branch
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring over some of the tool testing for the new chunk indices.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring 'none' chunk index from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
Bring "single" chunk index from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
Bring over more dataset tests from the revise_chunks branch.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring support for earray and v2 B-trees from revise_chunks branch to
trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
bin/release uses the content of MANIFEST file to build the release tarball. But all the files generated by autogen had been removed. Therefore the release would not contain those needed generated files for a proper release.
Solution: Added all those generated files to the tail of MANIFEST and titled it accordingly. (Somehow bin/chkmanifest does not complain against these entries though they are not svn managed. This needs further investigation.)
Test: bin/release generated the release tarball in jam, then use it in Platypus to do a full build (--enable-fortran --enable-cxx). All passed.
This was giving a lot of users headaches and the parser code rarely
changes. There is now a new script (bin/genparser) which can be
run as needed.
Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0)
gcc 5.2.1, flex 2.5.39, bison 3.0.2
compatible between 32 and 64 bit systems.
Expand cross platform property list encode/decode testing.
Fix warning in H5P__fill_value_enc.
Tested: jam, koala, ostrich (h5committest), ummon
NOTES:
- Developers will have to run autogen.sh before building with the autotools.
- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.
- The generated error, overflow and version headers have been left in place.
- The generated H5LT parser code has also been left in place.
- There are no changes for CMake users at this time.
Tested on: h5committest
Removes .pl extension from Perl scripts. This may be returned in the future,
but it's best to keep the script names unchanged while we merge with the
trunk.
Tested on: 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
Updates to older special config files in configure.ac:
- solaris2.x renamed to solaris. There are recent changes to this file
but the "2.x" is misleading since the changes are applied to all
versions.
- Removed support for OSF 4.x/5.x (Digital and Tru64 Unix). We no
longer have the config files for these.
Tested on: h5committest
gen_* files in test/. These files will remain distributable since
they are needed if a user specifies --enable-build-all.
Fixes HDFFV-8236
Tested on: jam (bin/chkmanifest only)
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
Split parallel metadata cache code into separate source code modules.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
(too minor for h5committest)
The tool claimed it could handle 24bit images but there was no code to handle it.
(or might be there were but was removed by previous revisions.)
Also discovered that it does not accept multiple images nor -p for palette
as its user document and online help message indicated.
Solution:
Added code to verify dimension sizes are within 8 bit raster images limit and
added tests to verify the tools correctness.
Need to update user document tool.
Tested: h5committested.
Description: h52gif crashed when it was asked to convert a 24bitimage.
Upon viewing the code, it did not prepare to handle images other than 2 dimensions.
It has no concept of multiple planes images. Further examinations showed past attempts
to fix it ended up removed some abilities (-p or multiple planes, animation, ...) have
been removed but documentation was not updated. Even its online help message still
shows -p is an option.
Solution: added protection code to flag errors if input request is not an
8bit image within size limits. (I don't have enough knowledge of the GIF
format to fix this tool. All I did was plugging known bug from crashing the
program.)
Tested: h5committest.
Bring r26503 & r26528 from autotools_rework branch back to the trunk:
Remove old platform configure files: craynv, dec-flags, hpux11.23,
ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu
Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the
configure files being removed.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
been permanently deleted. I've not removed all the generated
files from the MANIFEST, though, since I'm waiting on a decision
as to whether we leave those in or not.
Tested on: bin/chkmanifest after running autogen.sh
Change AC_TRY_RUN TO AC_TRY_COMPILE
Changed all the instances of AC_TRY_RUN for the Fortran and C++ tests to use
AC_COMPILE_IFELSE and moved all the tests to new files in m4 directory:
aclocal_cxx.m4 (for C++ tests)
aclocal_fc.m4 (for Fortran tests)
tested: jam
Move timing measurement routines used by h5perf and h5perf_serial to tools/lib
so that they can be used by other tools too.
tools/lib/io_timer.c
tools/lib/io_timer.h
tools/perform/io_timer.c
tools/perform/io_timer.h
renamed perform/io_timer.[ch] to lib/io_timer.[ch]
tools/lib/Makefile.am
tools/lib/Makefile.in
tools/lib/CMakeLists.txt
tools/perform/Makefile.in
tools/perform/Makefile.am
tools/perform/CMakeLists.txt
MANIFEST
updated due to the move.
Tested; h5committest and jam (serial)
tools/perform/sio_timer.h:
tools/perform/pio_timer.c:
tools/perform/io_timer.h:
tools/perform/io_timer.c:
Renamed pio_timer.[ch] as io_timer.[ch];
merged content of sio_timer.[ch] into io_timer.[ch] so that both h5perf and h5perf_serial
call the combined io_timer.[ch].
Moved the debug printing code segment in set_time() in [sp]io_timer.c to as debug_start_stop_time() in [sp]io_perf.c where it belongs.
Screened out set_timer_type() and get_timer_type() which were not used by any code.
tools/perform/Makefile.am:
tools/perform/Makefile.in:
tools/perform/CMakeLists.txt
Adjusted to use io_timer.c for both h5perf and h5perf_serial.
tools/perform/pio_perf.c:
tools/perform/sio_perf.c:
tools/perform/pio_perf.h:
tools/perform/sio_perf.h:
Renamed [sp]io_time_destory() to same io_time_destroy();
Moved the debug printing code segment in set_time() in [sp]io_timer.c to as debug_start_stop_time() in [sp]io_perf.c where it belongs.
tools/perform/pio_engine.c:
tools/perform/sio_engine.c:
Removed #include io_timer.h since it was already #include by [sp]io_perf.h.
MANIFEST:
Updated the merge of [sp]io_timer.[ch] into io_timer.[ch].
Tested: h5committest and jam in extra.
h5diff issues "unable to read attribute" error message when comparing two files
Description:
h5diff did not handle attributes of variable length strings correctly. It created the wrong memory type if one but not both compared attributes are of the variable strings type. It ended in H5Aread() failure.
Solution:
We decided to treat the case when one type is variable length string and the other is not as incomparable. That bypassed the above error. We still need to figure out the proper way, if possible, to compare variable string with non-variable string types.
Tested: h5committested plus tested in Swallow (OS X 10.8).
and examples.
Platforms tested: Manual testing in place and using srcdir on jam, platypus, and emu with default and
PGI, Intel and new GNU compilers. ifort compiler was also tested with -i8 and -r8 flags
on jam. CMake tested on jam.
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
KitWare recommendations: Change CMake commands to lower case.
Bump up CMake minimum versions.
Split test file into separate file for h5repack test.
Tested: local linux
Check in Mohamad's changes to support collective I/O on point selections,
along with some other minor cleanups.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/parallel & serial
(h5committest forthcoming)
view objects. The addition of view objects in the fastforward project
is expected to be brough into the trunk sometimes in the future, which
is why we need to make this change.
Tested Manually on Jam and Ostrich.
Tested with h5commitest - Koala with intel compilers failed, but nothing had to do with those changes.
error on Koala: error while loading shared libraries: libirng.so
This is needed to avoid a conflict with the Read Context object to be
introduced in another Project.
No impact on users, since this is a private module, and low for
developers as the RC module use is very sparse in the library.
Tested with h5committest.
Some files are not distributed when release tarball is created by bin/release
according to MANIFEST. But --enable-build-all compiles them in test/.
Solution:
Distributed those missing files for now. Need to resolve if these files
should be distributed or not. And if not, fix --enable-build-all NOT to
compile them.
Tested: use bin/release to generate the tarball and run --enable-build-all with
it. Error is gone and all passed.
1. The file states that:
NOTE:
We are no longer actively supporting MinGW as of 1.8.5.
2. It is not tested for v1.8.11.
3. If we ever supports it again, it can be "restored" from previous
release (e.g. v1.8.10).)