| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
The macro is no longer necessary now that we require C++11.
|
|
|
|
|
|
|
|
|
|
| |
* Added more C++11 override keywords
* Format updates in src/H5Tconv.c.
* Committing clang-format changes
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixed many -Wreserved-id-macro warnings by fixing header guard spelling
Removed leading underscore(s) from header guard spelling. Used 2 regexes:
` _H5(.*)_H`
` __H5(.*)_H`
Applied case-insensitively to only .h files.
* Modified scripts that generate header files to not use underscore prefix
Interestingly, there was already no leading underscore in the trailing comment at the end of the file
* Fixed remaining -Wreserved-id-macro warning not caught by regex
|
|
|
|
|
|
| |
* Modify temporary rpath for testing in java example scripts.
* Update URL in source file Copyright headers for web copy of COPYING
file - files not in src or test.
|
| |
|
|
|
|
|
|
|
|
| |
Description:
- Updated the description of copy constructor for clarification.
- Removed unnecessary comments.
Platforms tested:
Linux/64 (jelly)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Removed two inadvertently-added Group constructors in the header file.
There was no implementation.
- Removed deprecated H5Location and H5Object constructors that take an
existing ID.
- Miscellaneous improvements in comments, including updating URLs.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
| |
hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
|
|
|
|
|
|
|
| |
Miscellaneous clean-up: format and comments
Platforms tested:
Linux/64 (jelly)
Darwin (osx1010test)
|
|
|
|
|
|
| |
Only format changes: mostly tabs vs. spaces
Platforms tested:
Linux/64 (jelly) - very minor
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed obsolet macros from C++ API:
H5_NO_NAMESPACE, H5_NO_STD, __cplusplus
Leave OLD_HEADER_FILENAME because iostream.h might still be in use,
until further checking is done.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Jelly
|
|
|
|
|
|
|
|
|
| |
Description:
Revised class brief description and other comments for up-to-date info.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
trunk:
Description:
Continued rearranging the classes to model the relationship of HDF5
objects more accurately. The changes included:
- in the baseclass list of Attribute, changed "public IdComponent" to
"public H5Location", because location sometime can be specified with
attribute
- moved H5A wrappers in H5Location to H5Object because H5A functions
can't be called on attribute id
- removed the stubs Attribute::iterateAttrs and Attribute::renameAttr
- removed Attribute::getFileName and Attribute::flush, because
H5Location has them
- result of the modified partial class diagram, regarding Attribute
IdComponent
|
H5Location AbstractDs
/ \ /
H5Object Attribute
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Removed H5Library::instance because it is unnecessary. All H5Library's
methods are static. This, in turn, removed the memory leaks by
H5Library::instance not being deleted.
- Added ObjCreatPropList::deleteConstants to atexist() list
- Cleaned up comments and format inconsistencies with 1.8
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
When copy constructor or constructor that takes an existing id is invoked,
the C ref counter stays the same but there is an extra C++ object which
later is destroyed and may cause the HDF5 id to be closed prematurely. The
C++ library needs to increment the ref counter in these situations, so that
the C library will not close the id when it is still being referenced.
However, the incrementing of ref count left some objects opened at the end
of the program, perhaps, due to compiler's optimization on cons/destructors. The constructor, that takes an existing id, needs to increment the counter
but it seems that the matching destructor wasn't invoked. The workaround
is to have a function for each class that has "id" that only sets the id
and not increment the ref count for the library to use in these situations.
These functions are "friend" and not public.
The friend functions are:
void f_Attribute_setId(Attribute *, hid_t)
void f_DataSet_setId(DataSet *, hid_t)
void f_DataSpace_setId(DataSpace *, hid_t)
void f_DataType_setId(DataType *, hid_t)
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam gnu and Intel 15.0)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
| |
Put back overloaded functions for backward compatibility:
- were replaced by better prototyped versions, such as Attribute::getName.
- were modified to add const to constant arguments.
Added notes for future removal in documentation.
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added wrappers to H5Object for H5Iget_name() to get object's name
ssize_t getObjName(char *obj_name, size_t buf_size = 0) const;
ssize_t getObjName(H5std_string& obj_name, size_t len = 0) const;
H5std_string getObjName() const;
- Added tests tobject.cpp
- Added to various cleanup_* functions in tests to remove generated files
- Added an overload H5I_type_t getHDFObjType() to get object's type
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu) with gmake
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Overloaded Atribute::getName to take a char* for the attribute name:
ssize_t Attribute::getName(char* attr_name, size_t buf_size)
- Switched the arguments in this function:
ssize_t getName(size_t buf_size, H5std_string& attr_name)
so it became:
ssize_t getName(H5std_string& attr_name, size_t buf_size)
The second argument is default to 0, and can be skipped.
- Removed this function:
H5std_string getName(size_t buf_size); it'll collide with the
first function when that function takes a NULL for the first
argument, and uses default value for the second argument.
- Added more tests
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
| |
- Added a null terminator to the comment returned from the C call, in
getComment methods
- Some minor cleanup
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (platypus)/PGI compilers
|
|
|
|
|
|
|
|
|
| |
- 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:
Changed header guards from single underscore to double underscore.
Platforms tested:
Linux/32 2.6 (jam) - very minor
Linux/64 2.6 (koala)/PGI compilers
|
|
|
|
|
|
|
|
|
|
| |
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:
- Revised DataSet::write to pass in correct string buffer
- Added member function DataSet::getInMemDataSize() to simplify
getting the dataset's data size in memory.
- Added private functions for reading fixed- and variable-length
string data: p_read_fixed_len and p_read_variable_len.
- Added tests to write/read array of strings to datasets.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Divided Attribute::read into specific private functions for fixed-
and variable-len string data: p_read_fixed_len and p_read_variable_len.
Added test to write/read array of strings to attributes.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added member function Attribute::getInMemDataSize(), which is a wrapper
of several C calls, to simplify getting the attribute's data size in
memory. Used this new function in Attribute::read to get the fixed-len
string attribute data.
Added to tests in tattr.cpp.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
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:
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:
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:
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++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
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:
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:
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 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:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
Description:
Added copyright notice to C++ API files, including *.h, *.cpp, and
Makefile.in
Platforms:
Linux 6.2 (eirene)
|
|
|
|
|
|
|
|
|
| |
Purpose:
use H5_DLLCPP to replacer __DLLCPP__ for c++ interfaces.
Description:
Solution:
Platforms tested:
linux 2.2.18smp, IRIX64, solaris 2.7, windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Adding support for dll
Description:
Added __DLLCPP__ to all public classes and templates.
Added #include "H5Include.h" to H5RefCounter.cpp because of the
use of DLLCPP in .h file and it needs the following chain:
H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
this warning on private data members of type 'string.' This
occurs because 'string' is not yet instantiated at compilation
time; however, since the class is exported, the warning is
harmless.
Changed this member function's parameter to be passed as reference.
from:
void CompType::insertMember( const string name,...
to:
void CompType::insertMember( const string& name,...
Platforms tested:
Linux 6.2 (eirene)
Windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bug fix
Description:
Add the overloaded member function Attribute::getName to return
the attribute name's length as in C API. This functionality was
missing. Note that the current getName that returns "string"
is not removed, for different way of using getName.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed prototype for the buffer in Attribute::write from "void *"
to "const void *"
Platforms tested:
FreeBSD 4.4 (hawkwind)
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
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)
|