Purpose: Usability enhancement
Description:
- Added more information about the failure to all the throw's,
i.e, member function name and more detail about the failure, where
appropriate. Also, added exception throws for private functions,
such as p_close to provide more specific details.
- Added two api functions: Exception::getFuncName() and
Exception::getCFuncName() to provide the name of the member
function where failure occurs.
- Fixed some typos, one of which caused segn. fault in some
situations (resetIdComponent was accidentally called twice
in a couple of places :)
Platforms:
arabica (sparc-sun-solaris 2.7)
Purpose:
Test code improvement
Description:
- Added H5_HAVE_ZLIB_H and H5_HAVE_LIBZ to dsets.cpp
- Added the use of new API Exception::getCFuncName to obtain
the name of the function where failure occurs, to various places
in the test code.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Bug Fix
Description:
Fixed the compile lines for the C++ tests.
Solution:
Added the actual objects to be compiled into the testhdf5 program and
removed the tfile from the TEST_PROGS line since it would try to
create a program from the tfile module, but it didn't have a "main"
function.
Platforms tested:
Linux
Update
Description:
We now have a "real" testing thingy for the C++ code. We don't need
to run things in the examples directory.
Solution:
Commented out the "TEST_SCRIPT" line.
Platforms tested:
Linux
Purpose:
Bug fix
Description:
Compiled error about "RcsId initialized twice"
Solution:
This problem has been taken care of in the C++ API already. However,
because dsets.cpp includes the C++ header file H5Cpp.h after the
C test header files, h5test.h and testhdf5.h, the fix was missed.
Moved H5Cpp.h to before those C header files.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose:
Bug fix
Description:
The Exception destructor accidently called H5Eprint, which caused
error messages to be printed where they are not supposed to because
the failures are expected.
Solution:
Removed that lousy call!
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Adding Test
Description:
- Add the tests to the Makefile so that they'll be executed.
- Fixed a few bugs in dsets.cpp
* Some buffers should have been char *'s instead of void *'s.
* An iterator for a loop wasn't declared properly.
- Formatting changes
Solution:
- Changed the void *'s to char *'s.
- Declared the loop iterator.
NOTE: Doesn't work just yet. There's a conflict with a C++ keyword
(delete) in the H5Pprivate.h header file. Quincey's looking into
this.
Platforms tested:
Linux
Feasibility improvement
Description:
- Some member functions in class Exception can be called without
an Exception instance exits, but because they are not static, they
cannot.
- Many exception throwings don't provide any information to callers.
Solution:
- Add 'static' to several member functions in class Exception.
- Added <class name::function name> to some exceptions thrown
in H5File.cpp and H5FcreatProp.cpp. I'm trying this for users'
comments. More information may be added later and to all
exceptions.
- Changed the comment line for emacs editor to:
// C++ informative line for the emacs editor: -*- C++ -*-
because... I'd rather not say that the code "may look like C" :-)
Platforms tested:
Linux (gcc version egcs-2.91.66)
Bug Fix
Description:
Wasn't building the test programs if user simply did a build with
``make check'' instead of ``make all && make check''.
Solution:
Put the test programs in the TEST_PROGS macro so that they'd be
built.
Platforms tested:
Linux
Bug Fix
Description:
The RUNSERIAL and RUNPARALLEL macros weren't needed in the C++ stuff
and were messing up some of the testing.
Solution:
Removed them.
Platforms tested:
Linux
Bug Fix
Description:
Added comments to the top of C++ files to indicate that it's a C++
file and not a C source code file. Also added a macro which makes
emacs automagically enter c++-mode. (Recommended by Frank Schimmel
fschimme@monsoon.CAPS.ou.edu)
Adding tests to the C++ API
Description:
The C++ API has no formal testing yet.
Solution:
Added tests for file and dataset interfaces. I'm still working on
other tests.
Platforms tested:
Linux (gcc version egcs-2.91.66)
I temporarily modified the Makefile on my local Linux machine and these
tests work. I need Bill to help adding them permanently before I can
test on an NCSA machine. I checked the files in now so Bill can do that.
Purpose:
Small bug fix
Description:
A stub function has returned type hsize_t but returns -1.
Solution:
Changed returned value from -1 to 0
Platforms tested:
Solaris (arabica)
Fixup
Description:
We were specifying a config file for the C++ stuff and it didn't need
one. This would cause problems with compiling the C++ stuff since it
wouldn't get the correct H5config.h file.
Solution:
Removed support for it.
Platforms tested:
Eirene
Purpose: bug fix
Description:
I found a couple of places where virtual destructors were missing
and could cause small memory leaks. Also, some destructors were
not virtual when they should be.
Solution:
- added virtual destructors, which also free dynamically allocated
memory
- added virtual to several destructors
- also, fixed several typos
Platforms tested:
Solaris 2.7 (arabica)
Fix and improve
Description:
- Put functions that are common to H5File and Group into a
prototype class, CommonFG. I didn't do that before because
of the fear of the consequences of multiple inheritance, since
H5File and Group already inherit from different super classes.
I recently read a C++ book and learned to use MI more safely.
This change reduced some more of code redundancy.
- Added missing const to some function parameters
Platforms tested:
Solaris/CC 5.0 (arabica)
Fix and improve
Description:
- Put functions that are common to H5File and Group into a
prototype class, CommonFG. I didn't do that before because
of the fear of the consequences of multiple inheritance, since
H5File and Group already inherit from different super classes.
I recently read a C++ book and learned to use MI more safely.
This change reduced some more of code redundancy.
- Added missing const to some function parameters
- Added missing return statements for some functions.
Platforms tested:
Solaris/CC 5.0 (arabica)
Doh!
Description:
When adding the examples directory to the testing, forgot to
remove it from the other scripts in the makefile since it would
then be run twice.
Solution:
Removed it (saved the old code)
Platforms tested:
Hey! Trust me :)
Description:
Dec CC compiler doesn't support some new c++ features.
Some typos caused compilation erros on Dec Alpha.
Solution:
- Added macro BOOL_NOTDEFINED to define bool type on Dec
Alpha (gondolin) since its compiler doesn't support bool.
- Added macro NO_STATIC_CAST to prevent the use of the new
c++ feature static_cast since Dec CC compiler doesn't support.
- Added const to parameters of some functions to match the
functions' declaration and definition. Typos errors and
Dec CC complained.
Platform:
Solaris (arabica). Also tried to build on Dec Alpha but still
not linked due to some missing compiler flags; its compilation
went fine though.
Fix
Description:
When not building in the same directory, we needed to tell the
checker wherre to look for files.
Solution:
Put $(srcdir) before things which needed it.
Platforms tested:
Linux
Add
Description:
Adding a small amount of testing to the C++ library until "real"
testing can be created. (We use the examples).
Platforms tested:
Linux
Fix
Description:
Needed to change the extention to the file configure expects to
be in the source directory when Binh-Minh changed the extensions
for all the files.
Solution:
Did just that.
Fix
Description:
Windows couldn't handle the .C extension. The filenames had to be
changed to *.cpp instead.
Solution:
Changed in the Makefiles to accomodate said change.
Platforms tested:
Eyeballed.
Purpose:
Support portability
Description:
I forgot that source file extension .C will not work on Windows.
Solution:
Changed all source file from *.C to *.cpp for portability.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Description:
The prototype of two C API functions, H5Tget_offset and
H5Sget_simple_extent_npoints was changed to fix bug #446,
resulting in the need for updating the two corresponding
C++ API functions.
Solution:
- Changed the return type of AtomType::getOffset from size_t
to int, and the error return value from 0 to -1.
- Changed the return type of DataSpace::getSimpleExtentNpoints
from hsize_t to hssize_t, and the error value from 0 to -1.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Improvement
Description:
Made the Makefiles better.
Solution:
Added standard macros concerning where things are place. Like
libraries and so forth.
Platforms tested:
Linux
YABF
Description:
Needed to add the source directory for the built HDF5 library.
Solution:
Added -I../../src to the compile flags.
Platforms tested:
Linux
Bug fix
Description:
When building in a different directory, we weren't picking up the
header files correctly. The -I flag wasn't pointing to the
correct place.
Solution:
Changed the -I flag to point to the C++ source directory.
Platforms tested:
Linux
Reversal of Patch
Description:
I thought that the solaris boxen could handle the -Wc,<flag> flag
(or, rather, that libtool would do the correct thing with their
compilers). However, this isn't the case, apparently.
Solution:
Removed the ``-Wc,-LANG:std'' flag and put it in the CPPFLAGS
macro instead. This should cause it to be passed to the compiler
only...one hopes...
Bug-ish fix
Description:
Spurious warnings would show up if libtool was trying to pass the
-LANG:std flag to the compile line.
Also, if the library is compiled with -all-static, then it would
complain about not finding dlopen and friends.
Solution:
Used the libtool -Wc,<flag> option to pass the -LANG:std flag to
the compile line.
Used ``-dlopen self'' when compiling.
Platforms tested:
Linux
Bug
Description:
Compiler needed both the -instances=global and the -LANG:std flag
to function.
libtools spits out a warning about not being able to find the
ANG:std library directory, but that's okay...it passes it to the
linker anyway.
Platforms tested:
Solaris (Arabica)