Purpose:
Bug Fix
Description:
We long ago changed the compiler flags to pick out dependencies to
-MM instead of -M so that only #include "filename.h" type headers
will be put into the .depend file.
Solution:
Changed this flag.
Platforms tested:
Linux
Purpose:
Changed due to bug fixed
Description:
The dsets.cpp/test_compression test was disabled because it
failed on eirene - some variable changed to a very large value.
Solution:
The problem was fixed by Bill. So I removed the #if defined (__linux__)
to enable the test_compression again.
Platforms tested:
eirene (linux)
Code Update
Description:
Ported change from the 1.5 branch to the 1.4 branch where all HDF5
include files are in quotes instead of angle brackets:
#include "hdf5_file.h"
instead of
#include <hdf5_file.h>
Platforms tested:
Linux
Bug Fix
Description:
If we need to specify a -R flag for dynamic libraries (like, in the
case when we specify --with-hdf4), then this flag needs to be added
to the linking line so that it will show up in the generated library
and other programs linking to that library will be able to find the
relevant libraries.
Solution:
Added the DYNAMIC_DIRS macro to the link line.
Platforms tested:
Arabica
Purpose:
Problem suppressing
Description:
The dsets.cpp/compression (write) test failed on eirene for
1.4 branch. I suspected that the problem had something to do with
the word size (32 vs. 64), but I'm not sure. Elena and Quincey
agreed that we take the test out for now since we don't have
a fix for it at this time.
Solution:
Used #if defined (__linux__) to temporarily disable the
test_compression test for this platform.
Platforms tested:
arabica (solaris 2.7)
eirene (linux 6.2)
Description:
dsets.cpp:
- Added routine's headers to be consistent with the C tests
- Added the following tests (they are not in the C version
test because they are C++ specific):
+ Test copying a user-defined type using DataType::copy
+ Test copying a user-defined type using DataType::operator=
+ Test copying a user-defined int type using DataType::operator=
+ Test copying an integer predefined type using a constructor
+ Test copying an integer predefined type using DataType::operator=
th5s.cpp and tfile.cpp:
- Changed routine's headers to be consistent with the C tests
- Cleanup old couts and statements used during debugging
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Description and Solution:
- Predefined type objects become outdated when the application calls
H5close and then H5open to use the library again.
Solution:
+ Reimplemented PredType using enum type to obtain up-to-date
values for predefined types, i.e. H5T_xxx_yyy's, when they
are used.
+ Added to PredType its own version of getId() to return the
appropriate predefined type id according to the enum value.
+ Made IdComponent::getId() a virtual function
- Since Albert already fixed the "multiply defined RcsId" problem,
removed the now become unnessary "#undef RCSID" from H5Include.h
- Added a check for func_name != NULL in one of the Exception
constructors because seg. fault. might occur in some situations.
- It is more convenient to make a copy of a datatype, dataspace,
or property list by using assignment operator
Solution:
+ Added assignment operator to DataType, DataSpace, and
PropList so that they will invoke H5Tcopy, H5Scopy,
and H5Pcopy, respectively, instead of just simply
copying the data members as for other classes. So,
now a type, space, or property list can be copied by
either :
mytype = original_type, or
mytype.copy(original_type)
Note that copy constructors are still just copying the
data members.
+ Added an assignment operator to DataType that takes a
predefined type.
+ Made IdComponent::operator= a virtual function
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Improve C++ API test output appearance - 1.4 branch
Description:
The C++ API tests are not easy to be spotted because their output
look similar to part of the C tests.
Solution:
Added "C++ API:" in front of the C++ test titles.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Bug Fix
Description:
The test programs weren't compiling correctly. They weren't added to
the TEST_OBJ macro, so make didn't know about them.
Solution:
Added them to the TeST_OBJ macro as in the C tests.
Platforms tested:
Linux
Purpose:
Adding tests to the C++ API 1.4 branch
Description:
The C++ API in 1.4 branch has no formal testing yet.
Solution:
Added tests for file, dataset, and dataspace interfaces. I'm still
working on other tests.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose: Updating as in 1.5 branch
Description:
The C++ API source code was modified in 1.5 branch, mainly to
improve usability in exception handlings. Updated 1.4 C++
source code to match.
Platform:
arabica (sparc-sun-solaris 2.7)
Bug Fix
Description:
The RUNSERIAL and RUNPARALLEL macros aren't needed (and aren't set)
for the C++ stuff and were causing errors when people tried to test
the code.
Solution:
Removed them
Platforms tested:
Linux
Bug Fix.
Description:
When the user would do a ``make check'' without doing a ``make all''
first, the tests in the examples directory wouldn't build correctly.
Solution:
Added the tests to the TEST_PROGS macro instead of the PROGS macro.
Platforms tested:
Linux
Bug FIx
Description:
We weren't installing the C++ header files.
Solution:
Added all of the *.h files to the PUB_HDR macro in the Makefile so
that they'd be installed.
Platforms tested:
Linux
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