| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
Reintegration merge of the VDS branch.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(daily tested for h5committest)
|
| |
| |
| |
| |
| |
| |
| |
| | |
Minor whitespace cleanups.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
|
| |
| |
| |
| |
| |
| |
| |
| | |
Minor code cleanups, preparing to merge to trunk.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
|
| |\
| |/
|/|
| |
| |
| |
| |
| | |
Tested on Ubuntu 15.04 (Linux 3.19 x86_64), gcc 4.9.2, MPICH 3.1.4
and CMake 3.3.2.
- Autotools serial w/ Fortran, C++
- Autotools parallel w/ Fortran
- CMake serial w/ Fortran, C++
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
Add internal library callback to H5S_select_iterate to avoid having
to pass hid_t objects internally
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid duplicating source FAPL & DAPL if they are already available.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
|
| |
| |
| |
| |
| |
| | |
files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
|
| |\
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
r27860-27883
r27892-27916
Tested on: - h5committest
- jam (parallel) fails with an existing, unrelated MPI config error
- platypus fails with due to an existing, unrelated cmakehdf5 error
where it does not recognize --enable-fortran2003.
|
| | |
|
| | |
|
| |
| |
| |
| | |
when building both shared and static
|
| | |
|
| | |
|
| |
| |
| |
| | |
during BISON process).
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
hard-coded version checks.
Tested on: jam
|
| | |
|
| |
| |
| |
| |
| |
| | |
"Last Changed Rev:" number.
Tested on jam
|
| |
| |
| |
| |
| |
| | |
H5LTparse.c
- this is needed when running autogen on a couple of HPC machines.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This was causing failures on Ada.
Tested on: Ubuntu 15.04 (Linux 3.19.0) w/ gcc 4.9.3
|
| |\
| |/
|/|
| |
| |
| |
| |
| | |
H5S recursive functions where an aliased pointer was
incorrectly set too early.
Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2
serial and parallel (w/ MPICH 3.1.4)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert changes to 'all' and 'none' selections: the serialized header info
is handled in the general H5S_select_deserialize() routine.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove 'unused' attribute from decoding pointer flag that I missed in the
last checkin.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
|
| |
| |
| |
| |
| |
| |
| |
| | |
Advance the decoding pointer for 'all' and 'none' selections properly.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix typo in last checkin. *sigh*
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
|
| |
| |
| |
| |
| |
| |
| |
| | |
changes will be merged more carefully so we can more easily
identify any errors that arise.
Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2
serial and parallel (w/ MPICH 3.1.4)
|
| |\
| |/
|/|
| |
| |
| |
| |
| | |
Merge changes from trunk to the branch.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update dataspace selection encode/decode routines to avoid type aliasing
errors.
Tested on:
Linux/64 2.6.x (platypus) w/production
(h5committest forthcoming)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Removed the long options, which are not supported under
the getopts builtin.
- Correctly labeled the autogen.sh script as requiring bash
(via the #!). We may need to remove the bash constructs
before the 1.10 release and revert to sh.
- The help output is now correct.
Tested on: local linux
|
| |
| |
| |
| |
| |
| | |
flex/bison.
Tested on: local linux
|
| |
| |
| |
| | |
libraries/programs.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|