Merge from Trunk
Description:
Merging all of my CFLAGS-related changes from trunk to 1.8
This includes revision #s: 17616, 17625, 17627, 17639, and 17643.
Tested:
h5committest and some additional checks on our FreeBSD as well
as NCSA's machines.
Bring r17624 from trunk to 1.8 branch:
Don't allow reads to change or add to the metadata accumulator, since
they might be speculative and could bring raw data into the metadata
accumulator.
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.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Description:
When copying a dataset using a vlen inside a compound, the various dataset
copying callbacks would allocate a background buffer but would not use it when
converting from disk to memory, only memory to disk. This caused an assertion
failure as compounds always need a background buffer. These callbacks have
been modified to use the background buffer for both conversions.
Tested: jam, linew, smirom (h5committest)
Makefile Bug Fix
Description:
Added $(EXEEXT) extension to H5detect when it's executed to generate
H5Tinit.c so it works correctly on platforms that require the full
extension when running executables.
Tested:
h5committest, mingw, and user-verified (via submitted patch).
Configure Fix
Description:
Modified configure to set FC and CXX to "no" when fortran and c++ are
not being compiled, respectively. This will prevent configure from running
some checks on these compilers when they are not being used.
This fixes a problem that was occuring when FC and/or CXX are set to
a nonexistant or invalid compiler. Even if the languages were disabled,
a libtool test would fail, thus preventing libtool from properly linking
any libraries, yet configure would not flag an error message due to this
because the languages were disabled.
Tested:
- h5committest (jam, smirom, linew)
- manually eyeballed configure output and logfile.
r17543 | acheng | 2009-09-28 23:43:22 -0500 (Mon, 28 Sep 2009) | 8 lines
New test: (Bug ID 1656):
Add new tests (tcheck_version, testcheck_version.sh) to verify H5check_version()
does issue warnings and abort accordingly.
Changed H5check_version() to suppress the warning message totally if
$HDF5_DISABLE_VERSION_CHECK is 2 or higher. (Old behavior treated 3 or higher
the same as 1, that is to print a warning and allows the program to continue.
Tests:
H5committed tested plus jam serial tested.
Description:
H5Ppublic.h listed H5Pget_filter_by_id1 and H5Pget_filter_by_id2 as returning
H5Z_filter_t, when in fact they return herr_t. The header file has been
corrected to indicate that they return herr_t.
Tested: jam
Merge from trunk
Description:
Merged revisions 17228 and 17440 from trunk to 1.8
Specifically, this brings support of --enable-static-exec flag into 1.8
Tested:
Manually on jam, linew, smirom, liberty, plus h5committest.
Currently, there is no automatic regression test that exists due to
portability issues. Behavior is both different and undefined on certain
systems (and while 'nm' command seems to exist on all machines, behavior
is confirmed to be different on Mac, possibly others). Solution will be
to set up some sort of framework in daily tests to build statically,
remove shared paths, and verify executables can function.
Updating autotools
Description:
Bring revisions 17345 and 17357 from trunk to 1.8, specifically:
- Automake upgraded to 1.11
- Autoconf upgraded to 2.64
- bin/reconfigure script edited to use new versions (on jam), and
run to generate new configure script and Makefile.in's.
- configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
(in order to comply with new autoconf standard).
- bin/install-sh script replaced with new version as provided
by automake.
Tested:
- All issues on trunk were resolved, so only tested on jam and linew. Any
other outliers should be caught by daily tests.
Description:
Previously, when H5Z_filter_info was called for a filter that was not present,
it would succeed and return the information from one position past the end of
the pipeline, possibly causing a segfault. This affected at least
H5Pget_fitler_by_id1/2, and possibly other API functions. Fixed to properly
return failure.
Tested: jam, linew, smirom (h5committest)
Description:
When using H5T_copy on committed datatypes that are already open, H5T_copy would
properly use the already existing shared struct, but would still deep copy all
of the fields in that struct. This would cause memory leaks, and in the case of
a compound containing a vlen (or reference), the change in size would cause the
size of the resulting type to be set to an incorrect value. Changed H5T_copy to
properly avoid deep copies when using a reopened shared struct.
Tested: jam, linew, smirom (h5committest), purify on jam
#1522 (B1) h5ltread_dataset_string_f error with g95
ISSUE: h5ltread_dataset_string_f causes library assertion with g95.
SOLUTION: convert the fortran string buffer to a C buffer with HD5f2cstring, and pass this string to the C function
TEST: added a test call in the fortran test lite program
DOCS: added the note in RELEASE.txt "- Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions had memory problems with the g95 fortran compiler. (PVN - 5/13/2009) 1522
tested: linux g95, windows fortran intel 11