* commit 'dcc66a4f157ace0858b788228550f3e104df3242': (35 commits)
GGC requires attribute before function
Correct COMPILE defs usage
Add missing module_dir property
Text cleanup
Correct sentence punctuation.
Add release note.
Use set_property for MT flag
Correct command usage
Remove APPEND
Fix typo
Add missing test lib
add missing folder to path
Fix another command revert
Missed a command revert
Revert to old style for LINK_FLAGS gen expr not working
LINK_FLAGS must be separate property sets
Fix link flags syntax
Revert refactor link flags
refactor link flags to interface
Refactor link flags
...
* commit '02a9433fa0aac34ae81ab5f0d5b97a7934881215':
Add 2 parallel test files to CHECK-CLEANFILES so that if their tests fail before removing them, make check-clean will remove them.
Fixed memory leak Description: Added LinkCreatPropList to initH5cpp to cleaning up resource at exit. Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich)
HDFFV-10412 add note for new H5error_on Java API
* commit '9247388c3d14510341ea3f07847ce2cbb6e44a8e':
Rework new tests into one macro
Added a "won't fix" RELEASE.txt entry for HDFFV-10356.
Fix CMake test names
Fixed typo
Add release note for HDFFFV-10397.
Added a fix for HDFFV-10358.
Fixed documentation Description: - Updated the description of copy constructor for clarification. - Removed unnecessary comments. Platforms tested: Linux/64 (jelly)
Enhancement to the tool h5clear (HDFFV-10360)
Fix for HDFFV-10209 VDS SWMR test failure Free the object header when there are chksum retries.
Modified 43158f3bb3 and additional wrappers.
* commit 'b638bbd74b79f935a43aa6a804492e035ec315f6':
Code improvement Description: - Removed memory leaks caused by accidentally invoking p_get_member_type - Added the call to test_lcpl, missed previously Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test)
Updated RELEASE.txt Description: - Wrappers for H5Lcreate_soft, H5Lcreate_hard, H5Lcopy, H5Lmove, H5Ldelete, and H5Lget_info - Class LinkCreatPropList - Fixed typo in source file Platforms tested: Linux/64 (jelly)
Updated for H5LcreatProp.[h,cpp]
Updated MANIFEST for H5LcreatProp.[h,cpp]
HDFFV-10149 continued Description: - Moved the new wrappers committed on Mar 9: 43158f3bb3 to H5Location and renamed some of them for overloading. This is because the loc_id in the C APIs can be file, group, dataset, named datatype, and attribute. Previous implementation was wrong following some inaccurate C API reference manual.
Description:
- Moved the new wrappers committed on Mar 9:
43158f3bb3
to H5Location and renamed some of them for overloading.
This is because the loc_id in the C APIs can be file, group, dataset,
named datatype, and attribute. Previous implementation was wrong
following some inaccurate C API reference manual.
- Only the following wrappers are modified or added:
+ H5Lcreate_soft: changed name from newLink to link
// Creates a soft link from link_name to target_name.
void link(const char *target_name, const char *link_name,...)
void link(const H5std_string& target_name,...)
+ H5Lcreate_hard: changed name from newLink to link
// Creates a hard link from new_name to curr_name.
void link(const char *curr_name, const Group& new_loc,...)
void link(const H5std_string& curr_name, const Group& new_loc,...)
// Creates a hard link from new_name to curr_name in same location.
void link(const char *curr_name, const hid_t same_loc,...)
void link(const H5std_string& curr_name, const hid_t same_loc,...)
+ H5Ldelete: modified existing functions to add 2nd argument
// Removes the specified link from this location.
void unlink(const char *link_name,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
void unlink(const H5std_string& link_name,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
- copyLink and moveLink were only moved from Group to H5Location, no change
- Added class LinkCreatPropList
- Added overloaded functions H5Location::createGroup to take a link creation
property list
Group createGroup(const char* name, const LinkCreatPropList& lcpl)
Group createGroup(const H5std_string& name, const LinkCreatPropList& lcpl)
- Added wrapper for H5Lget_info() to H5Location
H5L_info_t getLinkInfo(const H5std_string& link_name,...)
Platforms tested:
Linux/64 (jelly)
Linux/ppc64 (ostrich)
Darwin (osx1010test)
Update for new support website.
* commit '801191b4c374adc462345f2c068f1cfc6f4adf97':
Upated cpp doc.
Added C++ wrappers - HDFFV-10149 Description: Added the following wrappers to class H5::Group: + H5Lcreate_soft: // Creates a soft link from link_name to target_name. void newLink(const char *target_name, const char *link_name,...) void newLink(const H5std_string& target_name,...)
Update for new support website Description: - Replaced external links with text including the C API name - Removed links of copyright at the bottom of each page - Removed logo at top - Removed document name and version number Platforms tested: Linux/32 2.6 (jam) - only documentation
Description:
Added the following wrappers to class H5::Group:
+ H5Lcreate_soft:
// Creates a soft link from link_name to target_name.
void newLink(const char *target_name, const char *link_name,...)
void newLink(const H5std_string& target_name,...)
+ H5Lcreate_hard:
// Creates a hard link from new_name to curr_name.
void newLink(const char *curr_name, const Group& new_loc,...)
void newLink(const H5std_string& curr_name, const Group& new_loc,...)
// Creates a hard link from new_name to curr_name in same location.
void newLink(const char *curr_name, const hid_t same_loc,...)
void newLink(const H5std_string& curr_name, const hid_t same_loc,...)
+ H5Lcopy:
// Copy an object from a group of file to another.
void copyLink(const char *src_name, const Group& dst,...)
void copyLink(const H5std_string& src_name, const Group& dst,...)
// Copy an object from a group of file to the same location.
void copyLink(const char *src_name, const char *dst_name,...)
void copyLink(const H5std_string& src_name,...)
+ H5Lmove:
// Rename an object in a group or file to a new location.
void moveLink(const char* src_name, const Group& dst,...)
void moveLink(const H5std_string& src_name, const Group& dst,...)
// Rename an object in a group or file to the same location.
void moveLink(const char* src_name, const char* dst_name,...)
void moveLink(const H5std_string& src_name,...)
Platforms tested:
Linux/64 (jelly)
Linux/ppc64 (ostrich)
Darwin (osx1010test)
* commit 'efa2a470c9d8cf2d584f6b22f5b80cd6687887d0': (36 commits)
Merge fix
HDFFV-9724 1_10 branch has a different number
HDFFV-9724 Merge vds prefix from develop
reverted changes from sync
Snapshot version 1.11 release 1
Fix valgrind issues
HDFFV-9724 init var to null
HDFFV-9724 add valgrind ENV
Fix memory leak due to addition of FORMAT check loop
HDFFV-9724 prefix of 0 length should be null value
HDFFV-9724 Corrected files and verified tests
Add library INTERFACE and MPI to tools
Increase maximum number of retries for h5watch tests.
Revert "Merge pull request #826 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop"
Fix library interface commands, add missing JNI
Add HD prefix
HDFFV-9724 Remove VDS file cache functionality
Removed incorrect MPI text
Par example needs to link with mpi libs
Because of MPI requirements in library ALWAYS add include path
...
Description:
- Replaced external links with text including the C API name
- Removed links of copyright at the bottom of each page
- Removed logo at top
- Removed document name and version number
Platforms tested:
Linux/32 2.6 (jam) - only documentation
Description:
- Replaced H5Location::exists with H5Location::nameExists and marked
H5Location::exists as deprecated.
- Miscellaneous test cleanup for consistency.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
Description:
Added a single page html file, C2Cppfunction_map.mht, that shows
the current mapping of C APIs to C++ member functions. This page
can be reached from the main page of the C++ reference manual.
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)
Description:
Put back H5Location::getNumObjs and marked as deprecated in favor of
Group::getNumObjs.
Platforms tested:
Linux/32 2.6 (jam)
Darwin (osx1010test)
Description:
Moved H5Location::getNumObjs to Group::getNumObjs (i.e., H5Gget_info)
Switched reinterpret_cast to static_cast in H5Object::iterateAttrs
Miscellaneous cleanup
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
* 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.
and replace it with new url for COPYING file.
Fix 2 lines in java error test expected output file where messages
include line numbers changed by reducing the copyright header by 2
lines.
Fixed typos and missing items in function headers, that were revealed
by Doxygen, and revised various comments.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Fixed typos and missing items in function headers, that were revealed
by Doxygen, and revised various comments.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Because H5Pset_file_space and H5Pget_file_space are deprecated, changed
to make wrappers for the new functions instead:
H5Ps/get_file_space_strategy
H5Ps/get_file_space_page_size
New wrappers in FileCreatPropList:
// Sets the strategy and the threshold value that the library will
// will employ in managing file space.
void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const;
// Returns the strategy that the library uses in managing file space.
void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const;
// Sets the file space page size for paged aggregation.
void setFileSpacePagesize(hsize_t fsp_psize) const;
// Returns the threshold value that the library uses in tracking free
// space sections.
hsize_t getFileSpacePagesize() const;
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Deprecating versions of PropList::setProperty that have arguments that
miss "const"
Platforms tested:
Linux/64 (jelly)
Linux/64 (platypus)
Darwin (osx1010test)
* commit '98090fe3b08a0ff85ae9bc93218a14017a6f37fe':
Purpose: Add new C++ wrappers Description: Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist, H5Oopen, H5Oclose and H5Pset_virtual
Description:
Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,
H5Oopen, H5Oclose and H5Pset_virtual
// Checks if the given ID is valid.
static bool isValid(hid_t an_id);
// Sets the number of soft or user-defined links that can be
// traversed before a failure occurs.
void setNumLinks(size_t nlinks) const;
// Gets the number of soft or user-defined link traversals allowed
size_t getNumLinks() const;
// Returns a copy of the creation property list of a datatype.
PropList getCreatePlist() const;
// Opens an object within a group or a file, i.e., root group.
hid_t getObjId(const char* name,...);
hid_t getObjId(const H5std_string& name,...);
// Closes an object opened by getObjId().
void closeObjId(hid_t obj_id) const;
// Maps elements of a virtual dataset to elements of the source dataset.
void setVirtual(const DataSpace& vspace, const char *src_fname,...);
void setVirtual(const DataSpace& vspace, const H5std_string src_fname,...);
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Added wrappers for H5Fget_info2, H5Inmembers, and H5Itype_exists
// Gets general information about this file.
void getFileInfo(H5F_info2_t& file_info) const;
// Returns the number of members in a type.
static hsize_t getNumMembers(H5I_type_t type);
// Determines if an element type exists.
static bool typeExists(H5I_type_t type);
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
Description:
Added wrappers for H5Pset_file_space and H5Pget_file_space
// Sets the strategy and the threshold value that the library will
// will employ in managing file space.
void setFileSpace(H5F_file_space_type_t strategy, hsize_t threshold) const;
// Returns the strategy that the library uses in managing file space.
H5F_file_space_type_t getFileSpaceStrategy() const;
// Returns the threshold value that the library uses in tracking free
// space sections.
hsize_t getFileSpaceThreshold() const;
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
Description:
Added wrappers H5Location::exists() for H5Lexists.
Added wrapper H5Object::objVersion() to return the header version
of an HDF5 object.
Added new class LinkAccPropList to be used by H5Location::exists()
Added new exception: ObjHeaderIException for H5Object::objVersion()
Rearranged source files in Makefile.am
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
When adding wrappers for H5Lexists, a new class, LinkAccPropList, was
added to the C++ API, triggered complicated circular dependencies. Thus,
some improvement was made to resolve the problems.
- Replaced existing functions openXxxType with individual type constructors
+ Added individual XxxType constructors to replace the existing functions
openXxxType because it's rather awkward to use these functions.
+ Moved openXxxType from H5Location back to CommonFG
+ Put back CommonFG as a baseclass of Group for openXxxType functions.
+ This replacement should improve usability and prevent the problem of
circular dependencies.
- Removed overloaded constructor that takes an Attribute when there is
already one that takes H5Location because Attribute inherits from
H5Location now.
Platforms tested:
Linux/32 2.6 (jam)
Darwin (osx1010test)
Linux/64 (platypus)
- In the test for HDFFV-9758, a pragma pack(1) caused failure on Emu
because Sparc cannot access misaligned data. Changed it to pack() to
do the default alignment.
- Added DOXYGEN_SHOULD_SKIP_THIS blocks to private elements to prevent
warnings from doxygen.
Platforms tested:
SunOS 5.11 (emu)
Linux/32 2.6 (jam)
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
Fixed typo that caused daily test failed when --enable-deprecated-symbols
is used. Also, removed a commented-out function.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus) with --enable-deprecated-symbols
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)
Description:
Adding user's test revealed a flaw in the fix.
Moved CommonFG's functions in Group to H5Location, so that they
could be called by objects that can be used to specify a location
Also, rearranged many "#include" header files to resolve conflicts.
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:
Rearranged the classes to model the relationship of HDF5 objects more
accurately. The changes included:
- moved CommonFG's methods to Group
- removed CommonFG from Group's base class list
- removed CommonFG from H5File's base class list and changed
"public H5Location" to "public Group" in the base class list
- CommonFG became unused
- result of the modified partial class diagram:
IdComponent
|
H5Location
/
H5Object
|
/ / \
DadaType Group DataSet
|
H5File
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Removed deprecated functions in previous releases due to missing const.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Added "const" to arguments that should be const
- Added "const" to const functions, i.e., function that don't change
the objects they operate on.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Removed ArrayType::rank and ArrayType::dimensions and modified the methods
ArrayType::getArrayNDims and ArrayType::getArrayDims to always call the
C functions to get the rank and dimensions.
- Overloaded ArrayType::getArrayNDims and ArrayType::getArrayDims to provide
const version and marked the non-const version deprecated.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Replaced static_cast with reinterpret_cast for "void *".
Removed some commented-out old code.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Removed many warnings:
warning: use of old-style cast
warning: enumeration value ‘H5D_VIRTUAL’ not handled in switch
warning: comparison between signed and unsigned
There are others of the same warnings and they will be taken care of
in the next release.
- Made some code reuse between overloads
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Removed obsolete functions from the documentation. They are still
in the code, however, until the next two releases, just in case.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Added member function ArrayType::operator= because ArrayType has
pointer data members.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
User Adam Rosenberger reported a failure when using the member function
AbstractDs::getArrayType(). This problem was caused by missing
initialization of the ArrayType's members in some cases.
Solution:
- Added ArrayType::setArrayInfo() to retrieve rank and dimensions of
an array and store them in memory for easy access.
- Re-factored a few functions to use the new function.
- We'll give him 1.8.16 patch
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Implemented the friend function
void f_PropList_setId(PropList* plist, hid_t new_id)
to work around the same problem described in trunk r26655, for the
API DataSet::getCreatePlist()
- Cleaned up some comments and obsolete functions
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:
Merged from hdf5_CppAPI_Constants
r27942:
------
Description:
- Added H5dont_atexit() to getPredType and all the getConstant's to prevent
the C library from terminating before the C++ library cleanup.
- More cleanup and added more comments
r27923:
------
- Updated more comments and moved some things around for consistency
- Removed check for "new" failure, exceptions would be thrown
r27922:
------
Description:
Added function headers and more comments for clarity.
r27917:
------
Description:
The C++ library has several types of global constants from different
classes, such as PropList, PredType, DataSpace, etc... Previously,
these global constants were declared statically and the C++ library used
a constant, called PredType::AtExit, to detect when all the global
contants are destroyed then close the C library (H5close). This method
relied on the order of the constants being created and destroyed and
that PredType constants be the last to be destroyed. In September 2015,
it was recognized that the order in which the global constants were
created and destroyed was actually undefined, thus can be different
between different compilers. This resulted in failure when compilers
destroy PredType constants before others because when PredType::AtExit
was destroyed, the C library was closed, so when the constants of other
classes such as PropList or DataSpace were being deleted, the C library
would not be available.
Solution:
The static approach is changed to dynamic. In order to avoid an impact
on existing applications, the static global constants are changed to
constant references to the dynamically allocated objects.
A detailed explanation of the new method and a description of the
changes are in a Design Notes at the end of the file H5PredType.cpp.
New functions added to support the new methods are listed below.
class H5Library:
// Returns a singleton H5Library to initialize the global
// constants, invoked in IdComponent default constructor
static H5Library* getInstance(); // public
// Registers cleanup and terminating functions with atexit(),
// called in IdComponent default constructor
static void initH5cpp(void); // public
// Calls H5close to terminate the library, registered with
// atexit(), as the last thing to be done.
static void termH5cpp(void); // public
class PredType:
// Creates the constants
static void makePredTypes(); // private
// Calls makePredTypes to create the constants and returns
// the dummy constant PREDTYPE_CONST;
static PredType* getPredTypes(); // private
class DataSpace:
// Creates the constant
static DataSpace* getConstant(); // private
class PropList:
// Creates the constant
static PropList* getConstant(); // private
class DSetCreatPropList:
// Creates the constant
static DSetCreatPropList* getConstant(); // private
class DSetMemXferPropList:
// Creates the constant
static DSetMemXferPropList* getConstant(); // private
class FileCreatPropList:
// Creates the constant
static FileCreatPropList* getConstant(); // private
class FileAccPropList:
// Creates the constant
static FileAccPropList* getConstant(); // private
This function is added to PredType, DataSpace, PropList, and the four
subclasses of PropList:
// Deletes the constant
static void deleteConstants(); // public
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
In the friend functions that setId, changed the direct assignment of
id to using p_setId() so that the previous id can be closed first to
avoid memory leaks.
This change was tested and confirmed by user Jorj on Forum when his
application stopped running out of memory. Currently, the C++ library
doesn't have a way to test this. A function such as H5Inmembers for
library ids would be helpful.
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Darwin (osx1010test)
NOTES:
- Developers will have to run autogen.sh before building with the autotools.
- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.
- The generated error, overflow and version headers have been left in place.
- The generated H5LT parser code has also been left in place.
- There are no changes for CMake users at this time.
Tested on: h5committest
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.
Tested on: h5committest
Tested w/ h5committest
NOTES: - The manifest may still be messed up.
- Cmake fails since the dual binary work needs to be merged with
this repo's CMake externals.
Description:
Added footer to include copyright and helpdesk info.
Platform tested:
Re-run Doxygen on cpp_doc_config and verified the html files on a
Windows 7 machine.