Correct errors in ID wrapping code, add some small optimizations, and make
certain that all IDs of a given class can be used, especially when wrapping
around. Also, enable ID reuse for error classes/values, property lists and
datatypes. Includes regression testing for ID wrapping.
Note that this change does not apply to the trunk, since that ID manager
code is using 64-bit IDs and doesn't worry about wrapping around.
Tested on:
MacOSX/64 10.9.5 (amazon) w/debug, C++, FORTRAN & parallel
Did not provide default values for clang++ options.
Also, applied wrong values for the *_CPPFLAGS.
Solution:
Added default values for *_CXXFLAGS.
Fixed the *_CPPFLAGS values.
Tested: duck, swallow, quail with --eanble-production.
There is an interface incompatibility in the C library due to the renamed symbols in H5Ppublic.h.
Solution:
Bump the library interface version on the shared libraries (soname).
Tested: h5committested.
Update the default setting for the memb_addr array when use passes
NULL to equally divide all the address space between all the members.
Before there was one chunk of the address space not being used.
Description:
Added notes regarding UTF-8 and extended ASCII, provided in HDFFV-8899,
to C++ API.
Platforms tested:
Linux/32 2.6 (jam) - only in comments
Description:
Followed hints from user's report on JIRA to remove several potential
memory leaks.
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Description:
- Used H5I_INVALID_HID instead of 0 to initialized member "id" in classes
that represent HDF5 objects. For PropList, H5P_DEFAULT has to be used
instead of H5I_INVALID_HID.
- Added try/catch block to some dynamically allocating memory code and
re-throw the bad_alloc exception with a message informing the location of
the failure.
(merged from trunk-r25640)
Purpose: Fixed HDFFV-8852
Description:
H5F_ACC_CREAT was included in the C++ API while the C library doesn't
allow it yet. Possibly, in the future, but not now. In addition, the
two flags H5F_ACC_RDONLY and H5F_ACC_RDWR were missing from the
documentation, causing confusion that appending is not supported.
Solution:
- Removed H5F_ACC_CREAT from the function until the C library support it
- Added H5F_ACC_RDONLY and H5F_ACC_RDWR to the comments to update the
documentation
(merged from trunk-r25632)
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Description:
Mac has changed to use the clang/clang++ compilers but compiler settings for production, debug and profile
were not setup.
Solution:
Setup default values for PROD_CFLAGS, PROD_CPPFLAGS, DEBUG_CFLAGS, DEBUG_CPPFLAGS.
PROFILE_CFLAGS and PROFILE_CPPFLAGS were set too but clang does not -pg or such for
profiling. Need to fix it later.
Tested: duck, swallow, and quail using --enable-production.
Fix a bug in multi VFD when the memb_addr in H5Pset_fapl_multi is
passed as NULL. The library is supposed in that case to equally divide
the address space among all members, but there was a bug causing an
overflow in the assignment.
Optimize chunked dataset fill operation by making it collective.
+ add a workaround for new algorithm to work with ompi.
Update RELEASE.txt with this new optimization.
Merged r25508 from the trunk.
Adds a check that ensure the page_size parameter in
H5Pset_core_write_tracking is not zero. This ensures that the behavior
matches the text in the reference manual.
Tested on:
32-bit LE linux (jam), tested with make check-vfd.
This is a very minor change and does not require full testing.
Merge changes that correspond to the 64-bit ID changes (without the actual
switch to 64-bit IDs) to the 1.8 release branch. (Plus a few minor cleanups
and alignments with the trunk 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)
Aligning code with changes made in VOL branch. This will make porting
non VOL related changes from trunkto the 1.8 branch much easier.
tested h5commitest.