| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
- Fixed a few comments that Doxygen gave warnings on.
- Removed stylesheet from configuration so Doxygen will use the default
stylesheet and removed the CLANG-related lines to eliminate another
error since we're not using that feature, so the lines should not
present. (from cpp_doc_config)
Platforms tested:
Linux/32 2.6 (jam) - only changing comments
|
|
|
|
|
|
|
|
|
| |
- Added a lot of documentation to classes for Reference Manual.
- Fixed some format inconsistencies
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)/PGI compilers
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- The failure in daily test was caused by missing initialization of member
"id" in a few constructors. This is now fixed.
- Added two overloaded H5Location::setComment
- Improved some error reporting in H5Location
- Improved error reporting in tests
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Linux/64 2.6 (koala)/PGI compilers
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Improved the changes in revisions r22836 and r23438, mainly on the
wrappers of reference, dereference, get region, and set/getcomment.
- Added more tests.
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Linux/ppc64 (ostrich)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Completed the changes in revisions r22836 and r23438 with improvement
on wrappers such as reference, dereference, get region, and set/getcomment.
- Added more tests.
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Linux/ppc64 (ostrich)
|
|
|
|
|
|
|
| |
Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.
Platforms tested:
Linux/32 2.6 (jam)
Regenerated and verified generated documentation.
|
|
|
|
|
|
|
|
|
|
| |
Description:
Fixed miscellaneous inconsistencies and typos, which also took
care of the failure in Packet Table test on daily test today.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)
Mac Lion (duck)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
In this bug, H5File doesn't have the ability to create attribute. The
following changes will provide that functionality and several others that
were also missing:
- Added an abstract class H5Location in between IdComponent and H5Object.
- New class structure of IdComponent, H5Location, H5Object, H5File
IdComponent
|
H5Location
/ \
H5Object H5File
- Wrappers in H5Object were moved to H5Location because the related C
functions take either file, group, dataset, or named datatype ID.
- Added wrapper for H5Rget_obj_type2
- Added tests for file attributes and H5Rget_obj_type2 wrapper
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Replaced PredType::NotAtexit() with PredType::AtExit(H5CPP_EXITED);
and used PredType::AtExit as a flag to detect when all predefined
types have been destroyed. Then, H5close will be called to terminate
the library after its being re-initiated when the PredType destructors
were activated. This change removed the memory leaks shown by the
user's sample program.
- Added H5CPP_EXITED for PredType::AtExit to use as a flag
- Updated some inaccurate comments
- Removed stream functions from FileAccPropList
- Replaced H5_VMS with appropriate macro in H5IdComponent.cpp
- Corrected many URLs (hdfgroup vs. ncsa) in comments
- Replaced std::string with H5std_string in comments
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (amani)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
After a C++ API object is closed, its id should be reset regardless
of the reference count of the underlying HDF5 object. User reported
the bug for Group, but it's applicable to all other objects. Fixed.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
| |
Trim trailing whitespace from source code files with this command:
find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'
Tested on:
None - eyeballed only
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added missing wrappers for H5Rdereference.
Also, for these wrappers, improved exception handlings to report specific
overloaded functions, where failure occurs. Will do the same for more
functions later...
Platforms tested:
Linux 2.6 (kagiso)
SunOS 5.10 (linew)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove trailing whitespace from C/C++ source files, with the following
script:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Tested on:
Mac OS X/32 10.5.5 (amazon)
No need for h5committest, just whitespace changes...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Changed all subclasses' setId to protected p_setId and put back setId
in IdComponent. p_setId is used in the library where the id provided
by a C API passed on to user's application in the form of a C++ API
object, which will be destroyed properly, and so p_setId does not
call incRefCount. On the other hand, the public version setId is
used by other applications, in which the id passed to setId needs
to be closed properly by the application, so setId must call incRefCount
for the new object to prevent prematurely closing of the id.
Platforms tested:
Linux 2.6 (kagiso)
SunOS 5.10 (linew)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
| |
one of the handles,
the file didn't have the data. It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value. This is
fixed by making some attribute information like the data be shared in the
attribute structure.
Tested on smirom, kagiso, and linew.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The class hierarchy was revised to address the problem reported in
bugzilla #1068. Classes AbstractDS and Attribute are moved out of
H5Object. Class Attribute now multiply inherits from IdComponent and
AbstractDs and class DataSet from H5Object and AbstractDs.
In addition, data member IdComponent::id was moved into subclasses:
Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add H5Rget_obj_type() to the API versioning and switch internal
routines to use H5Rget_obj_type2()
Misc. other code cleanups, etc.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
AIX/32 5.3 (copper)
Solaris/32 2.10 (linew)
Mac OS X/32 10.4.10 (amazon)
|
|
|
|
|
|
|
|
|
| |
copyright notice.
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Wrappers of H5Rcreate had incorrect prototypes.
Solution:
Added these overloaded functions for H5Rcreate wrapper to IdComponent:
void reference(void* ref, const char* name, DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
Added these overloaded functions for H5Rdereference:
void dereference(IdComponent& obj, void* ref);
DataSet(IdComponent& obj, void* ref);
Group(IdComponent& obj, void* ref);
DataType(IdComponent& obj, void* ref);
The incorrect wrappers will be removed after announcing.
Platform tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
| |
Description:
Fixed typos and re-arranged some functions to be in sync with 1.6.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.9 (shanti)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Shanti compiler destroy unnamed objects later than others, which caused
some reference counting test fail. Revised the test so that destructors
are called at the same time, regardless the differences of compiler
implementation.
Revised some constructors, close, operator=, and destructors to make
sure that all the object ids are handled properly.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.9 (shanti)
HPUX 11.00 (kelgia)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Changed to alias string instead of std, i.e. H5std_string instead
of H5std, because the old way wasn't working when std didn't exist.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't
able to test before.
|
|
|
|
|
|
|
|
| |
Description:
Removed an empty #ifdef block that was left by mistake.
Platforms tested:
Linux 2.4 (heping) - very minor
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added alias H5_std so either the global or std namespace can be
used, depending on H5_NO_STD.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
There was a workaround for predefined types, in the C++ library,
implemented when the C++ library was handling the reference
counting of the object ids on its own. Currently, the C++ library
is using the available APIs from the C library for that purpose,
and there were bugs reported involving that part of the C++ library.
So, I decided to remove the workaround completely.
Also, improved the use of std members.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
Linux 2.4 w/PGI (colonelk)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweak copyright on C++ source files to reduce whining by copyright checking
script.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++
|
|
|
|
|
|
|
|
|
|
| |
Description:
Used "using" declaration and directive better to reduce namespace
pollution.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added wrapper for H5Iget_type.
Added try/catch to many APIs that call private functions so that more
specific information can be provided at failure.
Added IdComponent::inMemFunc to help providing specific info.
Added const to parameters of several functions that missed that.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
IRIX64 with -n32 (modi4)
HPUX 11.00 (kelgia)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The use of FileCreatPropList::DEFAULT sometimes caused failure
in the reference counting area. This occurs to all the default
property lists, which also include FileAccPropList::DEFAULT,
DSetCreatPropList::DEFAULT, and DSetMemXferPropList::DEFAULT.
H5P_DEFAULT was used to create these default prop lists and
because its value is 0, the id of these prop lists are 0, which
is rejected by the H5I functions during the reference counting.
Solution:
The main action to fix the above problem was to use
H5P_FILE_CREATE
H5P_FILE_ACCESS
H5P_DATASET_CREATE
H5P_DATASET_XFER
to define the default property lists accordingly. Yet, when this
fix was applied, some bug in reference counting was revealed.
It appeared that some ids were not incremented but were passed in
for decrementing. The following actions were then taken to fix and
improve the current use of reference counting H5I functions.
* added private func IdComponent::p_valid_id to verify that the
id is a valid id and can be passed into an H5I function
* used p_valid_id to validate an id before calling an H5I functions
in the reference-counting member functions incRefCount,
decRefCount, and getCounter
* changed to use member function incRefCount, decRefCount, and
getCounter instead of the C APIs H5Iinc_ref, H5Idec_ref, and
H5Iget_ref throughout IdComponent.
In addition, overloadings were added for incRefCount, decRefCount,
and getCounter to take an id different than the id of the current
instance; they can be convenient during debugging.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
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)
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
|
|
|
|
|
|
|
|
|
|
|
| |
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 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 documentation
Description:
Added doxygen documentation and removed incorrect comments.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding new platform support
Description:
Added support for the C++ API on hpux11.00 with the compiler aCC.
Because aCC doesn't use "std," a new macro H5_NO_STD is provided
and used where "std" is presented in the library.
In addition, changed several cout's when reporting errors to cerr's.
Platforms tested:
HPUX 11.00 (kelgia)
Linux 2.2x (eirene)
IRIX 6.5.11 (modi4)
SunOS 5.7 (arabica) - by Elena
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new functions
Description:
Added these member functions to class Group per the new C functions
H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx:
// Returns the number of objects in the group.
hsize_t getNumObjs() const;
// Retrieves the name of an object in a given group by giving index
ssize_t getObjnameByIdx(hsize_t idx, string& name, size_t size) const;
// Returns the type of an object in a given group by giving index;
// the overloaded function also provided the object type in text as
// "group" for H5G_GROUP
// "dataset" for H5G_DATASET
// "datatype" for H5G_TYPE
int getObjTypeByIdx(hsize_t idx) const;
int getObjTypeByIdx(hsize_t idx, string& type_name) const;
Platforms:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IRIX 6.5.11 (modi4)
|
|
|
|
|
|
|
|
|
| |
Description:
Added copyright notice to C++ API files, including *.h, *.cpp, and
Makefile.in
Platforms:
Linux 6.2 (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Small bug fixing
Description:
Replaced NULL by 0 for initializing or passing null "string".
The problem showed up on platinum.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IA-32 Linux Cluster (platinum)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
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)
|