Commit Graph

1016 Commits

Author SHA1 Message Date
Jerome Soumagne
2094d86461 [svn-r28138] Add first support for _Bool and make hbool_t a "real" _Bool if available
Fix tests accordingly and fix misuse of hbool_t in various places

Fix initialization of H5Pgcpl/ocpl structs in property decoding routines

Tested on:
    Linux/32 (jam)
    Linux/64 (platypus)
    Linux/PPC64 (ostrich)
    MacOSX/64 10.11
2015-10-20 01:28:17 -05:00
Binh-Minh Ribler
bd995868ee [svn-r28047] Purpose: Fix memory leaks
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)
2015-10-12 23:57:28 -05:00
Binh-Minh Ribler
fc84edb7e3 [svn-r28027] Purpose: Fix memory leaks
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)
2015-10-10 23:05:21 -05:00
Elena Pourmal
d0babe88da [svn-r27968] Modified version number to 1.9.233 before creating a tar ball for DLS. 2015-10-06 12:03:41 -05:00
Binh-Minh Ribler
db00c23829 [svn-r27966] Description
Added H5OcreatProp.h and H5OcreatProp.cpp.
2015-10-06 09:48:32 -05:00
Binh-Minh Ribler
f17eb1e610 [svn-r27961] Purpose: Partial fix of issues HDFFV-9169 and HDFFV-9167
Description:
    Added wrappers for H5P[s/g]et_attr_phase_change and H5P[s/g]et_attr_creation_order

    // Sets attribute storage phase change thresholds.
    void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6)

    // Gets attribute storage phase change thresholds.
    void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense)

    // Sets tracking and indexing of attribute creation order.
    void setAttrCrtOrder(unsigned crt_order_flags)

    // Gets tracking and indexing settings for attribute creation order.
    unsigned getAttrCrtOrder()

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-05 23:31:58 -05:00
Binh-Minh Ribler
888a002cdd [svn-r27945] Purpose: Fix HDFFV-9529
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)
2015-10-04 00:05:51 -05:00
Binh-Minh Ribler
0ef29b550b [svn-r27943] Purpose: Fix HDFFV-7947 (cont.)
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)
2015-10-03 13:56:21 -05:00
Dana Robinson
058ec37559 [svn-r27795] Removed some autotools generated files that were not caught by
the last checkin.

Tested on: bin/chkmanifest
2015-09-15 15:52:14 -05:00
Dana Robinson
9af344117c [svn-r27794] Reintegration merge of features/autotools_rework branch with trunk
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
2015-09-15 15:38:57 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
HDF Tester
f16361d5f1 [svn-r27767] Snapshot version 1.9 release 231 2015-09-13 19:43:47 -05:00
Allen Byrne
10da31a926 [svn-r27745] Merge trunk revision 27744 2015-09-10 09:11:17 -05:00
HDF Tester
34be1d1aed [svn-r27690] Snapshot version 1.9 release 230 2015-09-06 19:31:40 -05:00
Dana Robinson
59aa015d9f [svn-r27638] Merged r27500-27631 from trunk. 2015-08-31 23:36:17 -05:00
Scot Breitenfeld
e6f9fc5f7f [svn-r27625] Added preprocessor commands for PGI compiler.
tested: h5committest
2015-08-31 13:49:17 -05:00
HDF Tester
74792949c9 [svn-r27622] Snapshot version 1.9 release 229 2015-08-30 19:55:54 -05:00
Dana Robinson
2e6100fb23 [svn-r27572] Removed VMS-specific code from the library.
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
2015-08-24 15:19:39 -05:00
HDF Tester
abdb2a6456 [svn-r27551] Snapshot version 1.9 release 228 2015-08-23 19:21:39 -05:00
Scot Breitenfeld
d06fee7bd2 [svn-r27517] Removed all perl scripts from configure.
Tested: h5committest
2015-08-17 16:12:03 -05:00
HDF Tester
68347a67ef [svn-r27511] Snapshot version 1.9 release 227 2015-08-16 21:58:42 -05:00
Dana Robinson
c27d180848 [svn-r27507] Merge of r27237-27500 from the trunk.
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.
2015-08-14 14:58:54 -05:00
Binh-Minh Ribler
c98d072e69 [svn-r27496] Description:
Used HTML_EXTRA_FILES for image files.
Platform tested:
    Re-run Doxygen on cpp_doc_config and verified the html files on a
    Windows 7 machine.
2015-08-11 13:36:39 -05:00
Binh-Minh Ribler
555a29e896 [svn-r27494] Purpose: Fix HDFFV-9288
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.
2015-08-11 11:44:07 -05:00
Scot Breitenfeld
caf0e7692a [svn-r27493] Trying again to merge the F2003_v1.10 branch to the trunk.
Tested: h5committest --PASSED--
2015-08-11 09:35:30 -05:00
Scot Breitenfeld
3b4696ccd1 [svn-r27489] reverted merge of branch 2015-08-10 20:22:33 -05:00
Scot Breitenfeld
a9bef45c75 [svn-r27470] svn merge -r27425:27460 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-08-05 16:35:30 -05:00
Allen Byrne
9e2434625d [svn-r27469] Merge from trunk with dual-binary CMake code.
Tested: local linux with CMake
2015-08-05 16:01:07 -05:00
HDF Tester
f56de26444 [svn-r27432] Snapshot version 1.9 release 226 2015-07-26 19:13:36 -05:00
Scot Breitenfeld
ed0bae78a0 [svn-r27426] svn merge -r27377:27425 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-22 17:09:05 -05:00
HDF Tester
74e4cd4d21 [svn-r27412] Snapshot version 1.9 release 225 2015-07-19 19:11:50 -05:00
Scot Breitenfeld
2c897f41c0 [svn-r27378] svn merge -r27326:27377 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-14 10:34:45 -05:00
HDF Tester
12b86abf18 [svn-r27372] Snapshot version 1.9 release 224 2015-07-12 19:12:22 -05:00
Allen Byrne
8bbe712961 [svn-r27364] Add Mac Framework support 2015-07-09 11:56:16 -05:00
Scot Breitenfeld
2b7f0d4780 [svn-r27357] svn merge -r27208:27356 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-09 08:47:35 -05:00
HDF Tester
f37ae9d9f9 [svn-r27339] Snapshot version 1.9 release 223 2015-07-05 19:12:35 -05:00
Scot Breitenfeld
985e8d02a4 [svn-r27327] svn merge -r27208:27326 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-02 14:12:03 -05:00
HDF Tester
53930f6671 [svn-r27262] Snapshot version 1.9 release 222 2015-06-21 19:16:13 -05:00
Dana Robinson
fb27787c2a [svn-r27222] Merge of r27035-27221 from the trunk.
Tested on 64-bit linux VM:
    Serial: C++ and Fortran 2003
    Parallel: Fortran
2015-06-17 06:48:34 -05:00
Scot Breitenfeld
85bcb77904 [svn-r27221] Reworked Fortran autools REAL KIND detection. 2015-06-16 16:47:00 -05:00
Scot Breitenfeld
6c4e3759f5 [svn-r27187] svn merge -r27135:27186 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-06-10 14:23:09 -05:00
Scot Breitenfeld
f2d14c76b8 [svn-r27186] added fix for jam with promoted reals and integers 2015-06-10 14:15:08 -05:00
Scot Breitenfeld
62401ac7c6 [svn-r27167] more DT fixes 2015-06-09 12:05:09 -05:00
Scot Breitenfeld
32703c9fc5 [svn-r27164] various bug fixes for DT 2015-06-08 16:13:15 -05:00
HDF Tester
02e9a43900 [svn-r27159] Snapshot version 1.9 release 221 2015-06-07 19:01:32 -05:00
Scot Breitenfeld
8641814c4e [svn-r27154] fixed issue with mis-matching long double between Fortran and C 2015-06-05 17:17:13 -05:00
Scot Breitenfeld
043173a689 [svn-r27151] fixed __float128 errors 2015-06-04 15:26:02 -05:00
Scot Breitenfeld
4d500d4902 [svn-r27140] fixed interger*16 support 2015-06-03 09:13:58 -05:00
Scot Breitenfeld
f486fe1a49 [svn-r27137] svn merge -r27115:27135 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-06-02 09:46:51 -05:00
Mohamad Chaarawi
fc45d5fcb0 [svn-r27133] - Add a new attribute function characterstic for format:
* H5_ATTR_FORMAT(X,Y,Z)  __attribute__((format(X, Y, Z)))
- Rename UNUSED attribute characterstic to H5_ATTR_UNUSED.
- Rename NORETURN attribute characterstic to H5_ATTR_NORETURN

tested with h5committest.
2015-06-01 14:38:09 -05:00