Description:
Doxygen 1.4.2 has a bug that when an \exception immediately
follows a \brief, the exception will be displayed prominently
in the brief section.
Solution:
Temporarily added /// to after \brief to work around this
problem and notified the Doxygen's author.
Platforms tested:
Linux 2.4 (heping) - only in documentation sections
Description:
cpp_doc_config is the configuration file, used by Doxygen to
generate the RM.
RM_stylesheet.css is the style sheet used by the RM html pages; this
style sheet is a modified version from the default doxygen.css.
header.html and header_files are input to produce different page
header than the default.
Platforms tested:
Verified on Windows XP.
Output tweak
Description:
Test output in C++ and Fortran directories now puts "C++ API:" or
"Fortran API:" in front of the name of the test being run.
I had overlooked the line of code that caused this to happen.
Solution:
Added HDF_CXX and HDF_FORTRAN variables to C++ and Fortran Makefiles.am.
Platforms tested:
heping (minor change)
Code cleanup
Description:
Clean up various warnings reported by the Windows team.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Minor feature
Description:
If a user configures without C++ or Fortran, 'make' will not recurse into
c++ or fortran directories. However, if the user cd's into these
directories and 'makes,' the Makefiles will attempt to build interfaces
that have not been configured, usually failing.
In an unrelated but minor change, src/H5detect should be compiled with
the -g flag to disable compiler optimizations since it is only
executed once.
Solution:
Make it harder for users to try to compile interfaces that have not been
configured by making c++, fortran, and hl directories not recurse into
their subdirectories unless they have been configured.
Thus, 'make' in /fortran/src will break if Fortran has not been configured,
but 'make' in /fortran will not break.
Platforms tested:
mir, modi4, copper
Misc. update:
Description: Removed support for SRB driver
Solution: Removed or modified appropriate files; ran reconfigure
to regenerate Makefile.in and configure files.
Platforms tested: heping and shanti
Misc. update: ran bin/chkmanifest on heping
Configuration feature
Description:
Different Fortran compilers mangle function names in different ways
(upper case, lower case, adding underscores). To link between
Fortran and C functions, we need to know what a given function's
name is under a given compiler.
Solution:
Use autoconf's FC_WRAPPERS check to determine the Fortran
naming scheme and define the FC_FUNC_ macro to name our
functions (in H5f90proto.h). Removed references to
our old FNAME macro, as well as flags that indicated whether
function names were upper or lower case.
Platforms tested:
mir, pommier, modi4, copper, more
Bug fix
Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests. Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.
Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.
Platforms tested:
mir, sleipnir, modi4, copper
Purpose:
"Bug fix"
Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically. This is what v1.6 does, and avoids
problems on janus.
Platforms tested:
sleipnir, copper, modi4, mir
Feature - conditional compilation
Description:
SRB file driver and tests are now compiled only when SRB is enabled
(using --with-srb during configure).
Solution:
Added an automake conditional in configure.in, altered Makefiles.am in
src and test directories to depend on that conditional.
This should make a nice example for posterity to add conditionally
compiled sources.
Platforms tested:
heping (only configure change)
Purpose:
Added C++ wrapper for Packet Table API.
Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.
Platforms tested:
sleipnir, mir, modi4
Misc. update:
Description:
Added an overloaded function for the template function verify_val.
Updated various comments/headers.
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
Description:
Added the following to the C++ library
+ overloaded functions:
string CommonFG::getObjnameByIdx(hsize_t idx)
H5T_order_t AtomType::getOrder()
+ wrappers for H5*close
+ wrappers for H5Arename, H5Aget_storage_size, and H5Dget_storage_size
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
Removed GASS configuration and software packages associated with
it. The following software are no longer configurable.
checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes
Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
Bug fix
Description:
C++ tests would die with strange linking-type errors.
Solution:
C++ build needs to be static, too. Applied -static flags liberally in
c++/src and c++/test directories.
Platforms tested:
sleipnir, heping
Description:
Fixed typo in using namespace; it was mistakenly opening the namespace.
Platforms tested:
Linux 2.4 (heping)
Very minor, and tested 3 platforms for 1.6 branch
Bug fix
Description:
c++/src directory was having trouble finding main HDF5 library.
Solution:
Replaced AM_CPPFLAGS with INCLUDES to include files in main src directory.
Platforms tested:
mir, modi4, verbena
Description:
Checked return value from C API for failure condition.
Added/Modified some comments appropriately.
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper) - tests passed but there were some old warnings about
duplicate symbols on std::string; I'll check on that.
Purpose:
Bug fix
Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.
Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.
Platforms tested:
sleipnir, copper, modi4, sol
Bug fix
Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.
Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables. If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*. To run make from a subdirectory, still need to use -V flag
(or use make or gmake).
Platforms tested:
modi4, heping, copper, sleipnir
Purpose:
Bug fix
Description:
Parallel builds were breaking in tools/lib
Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in
Platforms tested:
sleipnir (minor change)
New feature
Description:
Add basic code for new B-tree implementation. They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Found the permanant fix to automake/CVS dependency problem
Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.
Platforms tested:
heping sleipnir copper
Bug fix
Description:
Configuration files' timestamps were incorrect.
Solution:
Update Makefiles.in. Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.
Platforms tested:
sleipnir
Bug fix
Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.
Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.
Platforms tested:
sleipnir (No changes to Makefile content)
Bug fix
Description:
Different compilers use different flags to include Fortran module files
Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.
Platforms tested:
sleipnir, sol, copper
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Description:
+ C tests' macro VERIFY casts values to 'long' for all cases. Since
there are no operator<< for 'long long' or int64 in VS C++ ostream,
I casted the hsize_t/hssize_t values passed to verify_val to 'long'
as well. If problems arise later, this may have to be specificly
handled with an overload - th5s.cpp
+ Added the use of InvalidActionException for when an action
should cause an exception but didn't - th5s.cpp and tfile.cpp
+ Small changes to improve failure reports
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
H5PredType copy constructor was made "protected" accidentally.
Solution:
Moved it back into "public" section.
Platforms tested:
Linux 2.4 (eirene)
Very minor and already tested on two platforms in 1.6 branch.
Bug fix
Description:
Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs
have been corrected to not use it either.
Solution:
Pass in the string buffer length for FORTRAN
In the C++ API, call H5Eget_msg() in a manner similar to the way
H5Fget_name() is called.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN & C++
Description:
+ replaced "goto error" with throw exceptions
+ properly cleanup dynamically allocated memory in failure cases,
for in some cases, the execution continues on after the failures
were reported.
+ added test utility class InvalidActionException for when an action
should cause an exception but doesn't.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Note that there was an error due to the missing symbol H5E_LEN. To
be able to test my changes, I temporarily replaced H5E_LEN in c++/src
with a constant as in the C tests, before the problem can be fixed.
This value doesn't effect the C++ tests at all, at this time.
Description:
C tests' macro VERIFY casts values to 'long' for all cases. Since
there are no operator<< for 'long long' or int64 in VS C++ ostream,
I casted the hsize_t/hssize_t values passed to verify_val to 'long'
as well. If problems arise later, this may have to be specificly
handled with an overload.
Platforms tested:
Linux 2.4 (eirene)
Windows 2000
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Description:
Accidentally edited this file and removed a couple characters from a
defined name, thus caused undefined error in daily test. Fixed!
Platforms tested:
SunOS 5.7 (arabica)
Description:
Replaced cout's with cerr's.
Replaced macro VERIFY with template function verify_val to
verify read data/info.
Cleanup various places in the tests to make them more consistent.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Xuan reported that "uint" used in this example caused error when
built with MS Visual Studio compiler.
Solution:
Changed to "int."
Platforms tested:
Very minor, so I only tested on eirene. I'll let Xuan know
to check on Windows.
Misc. update:
Code cleanup
Description:
Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch. This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter). This should make the H5E API changes as forwardly
compatible as possible.
One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.
Platforms tested:
FreeBSD 4.10 (sleipnir)
IRIX64 6.5 (modi4)
h5committest
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Description:
The private function p_close was removed previously, but I
inadvertently put it back in a few places, while transferring
the changes from 1.6 branch. These are removed now.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Updated various function headers for the RM as reviewing progresses.
Rearranged functions in header files for more sensible look of the RM.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Added wrappers for H5Fget_name:
H5File::getFileName
H5Object::getFileName
Moved some functions from Group into the base class CommonFG for
H5File too.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
feature
Description:
Another revamp of the test interface.
TestInit: is used to register Test Program name, test program specific
Usage and option parsing routines.
TestUsage: will invoke extra usage routine if provided.
TestParseCmdLine: will invoke extra option parsing routine if provided.
GetTestSummary() and GetTestCleanup() replaces the previous Summary and
CleanUp arguments of TestParseCmdLine.
test/testhdf5, test/ttsafe.c, testpar/t_mpi.c, testpar/testphdf5.c:
All have been updated to use the new Test Routines.
testpar/t_mpi.c:
Also a fix of a compiler optimization bug when pgcc in Linux is
used to compile it. Changed buf[] and expected to unsigned char
type to avoid a bug that failed to do sign-extension.
Platforms tested:
"h5committested"
Also tested thread-safe option in eirene.
Description:
Added an argument to the call to TestParseCmdLine because its
prototype has just been changed.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Description:
Removed private functions p_close, that were left over from the
removal of the reference counting mechanism.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
release_docs/RELEASE will be updated soon.
Add new files
Description:
Added H5VarLenType.cpp and H5ArrayType.cpp to LIB_SRC
Added H5CppDoc.h, H5VarLenType.h, and H5ArrayType.h to PUB_HDR
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Code cleanup
Description:
DataType::commit had incorrect parameter, H5Object. Changed
it to CommonFG, for H5File and Group.
The change caused additional header files needed for several
other cpp files.
Moved some functions from Group into the base class CommonFG for
H5File too.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Description:
Added mainpage to the RM via the new file H5CppDoc.h.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (verbena)
This new file will be added to windows project soon.
Misc. update:
Description:
Changed call to H5File::getFileSize according to C library and
removed CHECK for this call because failure will be handled by
exception.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (eirene)
Description:
Added function headers with doxygen.
Changed H5File::getFileSize according to C library.
Platforms tested:
Linux 2.4 (eirene)
FreeBSD 4.10 (sleipnir)
Misc. update:
Description:
H5IdComponent.cpp: initialized a pointer to NULL
H5Object.cpp: removed functions being added by mistake
Update function headers for the rest.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Removed macro H5_FILES from Makefile.in so that output files from the
example programs will not be installed.
Platforms tested:
Linux 2.4 (eirene)
SunOS 5.7 (arabica)
Description:
These data files are generated by the example programs and shouldn't
need to be in the CVS. Removed them.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Code cleanup
Description:
Clean up almost all warnings from Windows builds.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Description: Added new API H5Fget_name and new test program called filename.c. This function
returns the name of the file by object ID(file, group, dataset, named datatype, and attribute)
which belongs to the file.
Platforms tested: h5committest and fuss.
Misc. update: MANIFEST and RELEASE.txt
Fixing minor bug
Description
The new function H5File::getFileSize was missing a return statement.
Added one.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description: 1. Added H5Fget_filesize and test(in file_handle.c) which returns
the actual file size of an opened file. Also added to C++ API and test.
2. The error tests were messed up in test/Makefile.in.
Solution: 1. Call H5FDget_eof to return file size. 2. Corrected.
Platforms tested: h5committest
Misc. update: RELEASE.txt
Code update
Description:
Update C++ wrappers to use new ID reference counting mechanisms.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/C++
Too focused to require h5committest
Add/Improve documentation
Description
Added doxygen documentation to H5PredType.cpp and made minor changes
to the others for either correction or clarification.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add more C++ wrapper and documentation - incrementally check-in
Description
Added another overloaded constructor to StrType.
Added doxygen documentation to H5IdComponent.cpp.
Corrected some comments.
This is an incremental check-in to preserve the code, corresponding
tests will follow in a few weeks.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add C++ wrappers - incrementally check-in
Description
Added wrapper for these C APIs:
H5Rcreate
H5Rget_obj_type
H5Rget_region
This is an incremental check-in to preserve the code, corresponding
tests will follow in a few weeks.
Platforms:
Linux 2.4 (eirene)
I'm checking the code out and test on arabica too.
Misc. update:
Add C++ wrappers - incrementally check-in
Description
Added wrapper for these C APIs:
H5Dget_offset
H5Dget_space_status
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add another wrapper - incrementally check-in
Description:
Added an overloaded wrapper for H5Rcreate to H5Object.* and tests
will be added later. Also, corrected some comments.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add more C++ wrapper and documentation - incrementally check-in
Description:
Added doxygen documentation to:
H5DataSet.cpp
H5DataSpace.cpp
H5CommonFG.cpp
and a wrapper for H5Rcreate to H5Object.* with tests will be added
later.
There are more documentation need to be added to these files but
to preserve the changes, I check them in now.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add/Correct documentation - this file was left out by mistake from
this checkin.
Description:
Added doxygen documentation to:
Exception.cpp
H5CompType.cpp
H5FcreatProp.cpp
and corrected some typos in comments for:
H5AbstractDs.cpp
H5EnumType.cpp
H5File.cpp
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Misc. update:
Add documentation and a missing function - incrementally check-in
(Note: these files supposed to be checked in with my checkin on
May 19, but were accidentally left out. -> same log message)
Description:
Added wrapper for H5Tget_nmembers to H5EnumType.*; it was
accidentally left out. Also, added doxygen documentation and
removed outdated comments.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add documentation and an overloaded function - incrementally check-in
Description:
Added Attribute::getName that takes no argument for user's convenience.
Also added Doxygen documentation to existing functions in H5Attribute.cpp.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Add documentation and a missing function - incrementally check-in
Description:
Added wrapper for H5Tget_nmembers to H5EnumType.*; it was
accidentally left out. Also, added doxygen documentation and
removed outdated comments.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Add more C++ wrappers and documentation - incrementally check-in
Description:
Added wrappers for:
H5garbage_collect
H5set_free_list_limits
to H5Library.*
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Add more C++ wrapper - incrementally check-in
Description:
Added wrapper for H5Tis_variable_str to DataType class.
Tests for the new wrappers will follow in a few weeks.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Add more C++ wrappers and documentation - incrementally check-in
Description:
Added class VarLenType to provide wrapper for:
H5Tvlen_create
Added wrapper for H5Tis_variable_str to DataType class
Tests for the new wrappers will follow in a few weeks.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add more C++ wrappers and documentation - incrementally check-in
Description:
Added class ArrayType to provide wrapper for:
H5Tarray_create
H5Tget_array_ndims
H5Tget_array_dims
Test for the new wrapper will follow in a few weeks.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add more C++ wrappers and documentation - incrementally check-in
Description:
Added wrapper for:
H5Tdetect_class
Also, added Doxygen documentation to existing member functions of
AtomType and DataType. Test for the new wrapper will follow in a
few weeks.
Some typos and small format changes are done in H5File.cpp.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add more C++ wrappers - incrementally check-in
Description:
Added more wrappers for C H5F functions and added Doxygen documentation
to existing member functions of H5File. This is an incremental check-in
to preserve the code, corresponding tests will follow in a few weeks.
Newly added wrappers are for:
H5Fget_freespace
H5Fget_obj_count
H5Fget_obj_ids
H5Fget_vfd_handle
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Fix bug #124 (Bugzilla)
Description:
Build failed on Windows because the C++ API provides support for
Stream VFD, yet this feature is disabled on Windows, making its
support from the C library unavailable.
Solution:
Added #ifdef H5_HAVE_STREAM to properly support Stream VFD.
Platforms tested:
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Purpose: Correct my mistake
Description:
I inadvertently deleted the changes that Ray and Quincey put in
these two files. Added them back.
Platforms tested:
SunOS 5.8-64 (sol)
Linux 2.4 (eirene)
Misc. update:
Add more C++ wrappers - incrementally check-in
Description:
Added wrapper for many C property list functions and added Doxygen
documentation to existing C++ functions in these files. This is
an incremental check-in to preserve the code, corresponding tests
will follow in a few weeks.
For H5PropList.h and H5PropList.cpp, added C++ wrappers for:
H5Pexist
H5Pclose_class
H5Pget
H5Pget_size
H5Pget_class_name
H5Pget_nprops
H5Pset
H5Pisa_class
H5Premove
H5Pequal
H5Pget_class_parent
For H5FaccProp.h and H5FaccProp.cpp, added C++ wrappers for:
H5Ps[g]et_driver
H5Ps[g]et_family_offset
H5Ps[g]et_fapl_core
H5Ps[g]et_fapl_family
H5Ps[g]et_fapl_stream
H5Ps[g]et_sieve_buf_size
H5Ps[g]et_meta_block_size
H5Ps[g]et_alignment
H5Ps[g]et_multi_type
H5Ps[g]et_fclose_degree
H5Pset_fapl_stdio
H5Pset_fapl_split
H5Pset_fapl_log
H5Pset_fapl_sec2
For H5FcreatProp.h and H5FcreatProp.cpp, added C++ wrappers for:
H5Pfill_value_defined
H5Premove_filter
H5Pget_filter_by_id
H5Pmodify_filter
H5Pall_filters_avail
H5Pset_shuffle
H5Ps[g]et_alloc_time
H5Ps[g]et_fill_time
H5Pset_fletcher32
For H5DxferProp.h and H5DxferProp.cpp, added C++ wrappers for:
H5Ps[g]et_dxpl_multi
H5Ps[g]et_small_data_block_size
H5Ps[g]et_hyper_vector_size
H5Ps[g]et_edc_check
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
SunOS 5.8-64 (sol)
Bug fix
Description:
Change C++ methods to match C prototypes for datatype overflow callback
routines.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/C++
too minor to require h5committest
Description: A new exception handler for datatype conversion(set through
H5Pset_type_conv_cb) to replace the old overflow callback function(set
through H5Tset_overflow). This new handler can deal with overflow, precision
loss and fraction truncate during datatype conversion.
Platforms tested: h5committest
Misc. update: release_docs
Feature
Description:
Added to AddTest() a generic parameters pointer argument to
allow some extra parameters for some tests. E.g., test file
names can be customized during runtime and passed into the
test routines.
Platforms tested:
"h5committested".
Also run compat test in eirene.
Cleaning up warnings
Description:
Many exception constructors have warnings about reference to temporary
location because of the parameter initialization, for example,
"const string& var = 0."
Solution:
Changed "string&" parameters to pass by value for these constructors.
Consequently, passing string by value also takes care of char pointers
so the overloaded constructors for char pointers are then removed.
Also, instead of setting Exception::detailMessage to null string, I
set it to DEFAULT_MSG ("No detailed information provided") by default.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IA-64 (titan)
Purpose:
replaced name of delete filter with remove filter for the new function H5Premove_filter
Description:
Solution:
Platforms tested:
linux
Misc. update:
Code cleanup
Description:
Add C++ and FORTRAN wrappers for new H5Pdelete_filter routine, along with
documentation and a note in the release notes.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/ C++ and FORTRAN
Too minor for full h5committest
Code cleanup
Description:
Remove duplicate output code accidentally left in after testing changes.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Too minor to require h5committest
Code cleanup & reorganization
Description:
Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
h5committested
Feature
Description:
Added option -showconfig which Shows the HDF5 library configuration summary
Platforms tested:
No h5committest test which does not test these tools.
Tested in eirene by hand.
Misc. update:
Code cleanup
Description:
Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o thread-safety
h5committest
Fix example
Description:
On Solaris 64 (Sol), the output has garbage for a dataset when
fill value is not set.
Solution:
Added setting fill value to the dataset first.
Platforms:
Only effected C++ API
Linux 2.4 (eirene)
SunOS sol 5.8 (sol)
Minor bug fix
Description:
Added missing "const" to the first parameter in two functions:
DSetCreatPropList::set/getFillValue
Platforms:
Only effected C++ API
SunOS 5.8 (sol)
Linux 2.4 (eirene)
Code cleanup
Description:
Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
Update/Fix
Description:
The Dependencies files weren't begin generated properly for C++.
Solution:
Modified the "dependencies" script to use "top_srcdir" only instead
of "srcdir", which tended to confuse matters. Regenerated the
Dependencies files.
Platforms tested:
Arabica (Small changes)
Misc. update:
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
Bug fix
Description:
Elena and I suspected that the order of *.cpp files in TEST_SRC
might have caused the failure of a C++ examples in the daily test.
Solution:
Reordered the files from:
compound.cpp h5group.cpp create.cpp readdata.cpp chunks.cpp \
extend_ds.cpp writedata.cpp
to:
create.cpp readdata.cpp writedata.cpp compound.cpp extend_ds.cpp \
chunks.cpp h5group.cpp
Platforms tested:
Tested on verbena and the examples still worked (without -tlocal.)
I'll be testing on other platforms later tonight, I'm trying to
catch the daily test!
Misc. update:
Code cleanup
Description:
Finish converting the B-tree 'K' values to use unsigned integers, rather
than signed ones, since negative amounts of entries in a B-tree node aren't
meaningful.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Update configuration
Description:
Now that we've split the tree (Yea!), change the main trunk back to debug
on and production off.
Also, change the version # to 1.7.0
Changed enable-production as the default for release.
Platforms tested:
Only in eirene using pgcc and pgCC.
Did not use h5committest since the change is trivial
and Elena will test it at once. :-)
Misc. update:
update for release
Description:
Set the version information to 1.6.0-pre1 to get ready for
v1.6 release.
Platforms tested:
h5committested.
Misc. update:
Purpose:
Bug Fix
Description:
Changes needed to make "pmake" work on Modi4.
Solution:
Needed to add some null macro defines in the commence.in files.
Needed to remove a dependence on LIBH5TEST in the fortran make
since LIBH5TEST isn't used in the fortran stuff.
Platforms tested:
Modi4 (small change)
Misc. update:
Purpose: Maintenance
Description: I added three new configuration files in c++/config
directory for Cray SV1, T3E and T90IEEE
Solution:
Platforms tested: I used BlankForm in c++/config directory to create
new configuration files for Crays. Only test
on T3E is finally completed successfully. Two other
Crays are still running, and running, and running.
I am checking files in since they will not affect
any other platforms.
Binh-Minh and Bill,
could you please take a look since I made minimum changes
just to make it to work. I am not sure that everything is correct
even if it works.
Thanks!
Misc. update:
Bug fix
Description:
Missing returning error for failures occur in C++ examples.
Solution:
Added "return -1;" when an exception is caught.
Also, turned off automatic error printing so that the C++ API
will catch and handle the failures.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
Purpose: Maintenance
Description: Bumped the version number to 1.5.62 after creating
a tar ball for the fourth round of testing.
Solution: run bin/h5vers -s scipt on arabica
Platforms tested: N/A
Misc. update:
Bug Fix
Description:
Quincey discovered that the new compiler on SOL needs the
-features=tmplife flag. However, this flag is only available for
version 5.3 of the compiler (and up, we're assuming).
Solution:
Add this flag only if the version of the compiler is 5.3 or greater.
Platforms tested:
Sol and Arabica (only affects solaris machines)
Misc. update:
Improvement
Description:
If $CXX is not defined, configure will try a list of possible
C++ compiler name. That is not always desireable.
Solution:
Change configure to combine all powerpc-ibm-aix* to one version.
Add xlC as the default $CXX value.
Platforms tested:
Tested in Copper only since the change affect AIX machine only.
Misc. update:
Purpose:
Bug Fix
Description:
There was another GNU-make-ism in the C++ examples Makefile.in
that I didn't clean up.
Solution:
Changed the "$<" to the name of the file to compile.
Platforms tested:
Copper (Small fix...problem was on Copper).
Misc. update:
Bug Fix
Description:
On Kelgia, the h5c++ script file needs to be explicitly chmod'ed to
executable.
Solution:
Placed this at the end of the configure script (just like in the
other configure scripts).
Platforms tested:
Kelgia (Very small fix...only needed to test it on one platform).
Misc. update:
Purpose: Maintenance for the third round of testing
Description: Increased the version number to 1.5.59 after creating
a tar ball for testing.
Solution:
Platforms tested:
Misc. update:
Bug fix
Description:
Corrected an omission of a module needed by the testhdf5 program.
Platforms tested:
Only in modi4 as the change is small.
Misc. update:
Text cleanup
Description:
Re-worded some informative and error messages.
Remove/Updated outdated comments.
Platforms:
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
Purpose:
Code cleanup
Description:
Moved a utility function out so other tests can use the same
function and avoid code duplication. Future utility functions
can also benefit from this move.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
HPUX 11.00 (kelgia)
Cleanup
Description:
Remove h5c++ when distclean is called.
Solution:
Platforms tested:
Tested only in copper since the change is trivial.
Misc. update:
Bug fix and minor code enhancement
Description:
Missing methods to read/write C++ String for an attribute and
a dataset.
Solution:
Added overloaded functions read and write to H5::Attribute and
H5::DataSet.
Also, added another constructor StrType so the need to separately
set the length of the string type can be eliminated. It's minor
but convenient.
Made some minor changes to make error messages more readable.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
HPUX 11.00 (kelgia)
Utility Addition
Description:
Added h5c++ script file to compile HDF5 C++ applications.
Modified so that these are compiled only during a make check-install
action and then only with the h5c++ script.
Platforms tested:
Verbena (Fortran & C++)
Arabica (Fortran & C++)
Modi4 (Fortran & Parallel)
Misc. update:
API tweak.
Description:
The H5Sget_select_bounds() API call was using hsize_t arrays for retrieving
the 'start' and 'end' coordinates, which is counter to the rest of the dataspace
API.
Solution:
Change the arrays to be hssize_t instead.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
Misc. update:
Updated all docs for this change.
Added 1.4 compatibility #ifdef's