Commit Graph

15467 Commits

Author SHA1 Message Date
Quincey Koziol
81c4e2133a [svn-r27957] Description:
Minor whitespace cleanups.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-10-05 08:59:16 -05:00
Quincey Koziol
c7c6623f28 [svn-r27956] Description:
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)
2015-10-05 08:46:42 -05:00
Dana Robinson
914643490a [svn-r27946] Brought VDS branch in sync with trunk (up to r27945).
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++
2015-10-04 02:33:40 -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
Quincey Koziol
0ee053bb95 [svn-r27944] Description:
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)
2015-10-03 22:58:55 -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
Jerome Soumagne
87cc068ccb [svn-r27939] Remove H5D__iterate and use H5S_select_iterate directly
Add internal library callback to H5S_select_iterate to avoid having
to pass hid_t objects internally
2015-10-02 15:24:29 -05:00
Jerome Soumagne
b991b71176 [svn-r27938] Fix private/public H5A_get_type and H5A_get_space 2015-10-02 15:17:00 -05:00
Allen Byrne
f0adeb1cdd [svn-r27937] fix case 2015-10-02 15:08:54 -05:00
Allen Byrne
47c5bc7d61 [svn-r27935] Cmake 3.3 allowed execute_process to merge output and error files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
2015-10-02 14:19:09 -05:00
Allen Byrne
af5c2697a1 [svn-r27933] Cmake 3.3 allowed execute_process to merge output and error files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
2015-10-02 12:55:08 -05:00
Allen Byrne
b9d27c0ed3 [svn-r27932] Increase timeout for istore test when running under vfd. 2015-10-02 08:59:03 -05:00
Mohamad Chaarawi
8d131aca15 [svn-r27929] merge from trunk. 2015-10-01 11:12:02 -05:00
Allen Byrne
4dc2218ab5 [svn-r27927] Fix dependencies of flex/bison files. 2015-10-01 09:48:03 -05:00
Allen Byrne
152cc9e143 [svn-r27926] Fix dependencies of generated headers. 2015-10-01 09:24:11 -05:00
Dana Robinson
5548799289 [svn-r27918] Brought in sync with the trunk:
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.
2015-09-30 00:46:19 -05:00
Dana Robinson
a89b064e2b [svn-r27916] Re-merge of r27884-27891 from the trunk + bugfix for a few
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)
2015-09-29 21:36:46 -05:00
Allen Byrne
32ee0d816f [svn-r27913] Need to create the directory for the gen files 2015-09-29 13:59:55 -05:00
Dana Robinson
5c0a8cc86e [svn-r27912] Revert of r27887, which caused failures in the vds test. These
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)
2015-09-29 13:56:27 -05:00
Allen Byrne
cc8ed681b0 [svn-r27911] Add back in the build dir 2015-09-29 12:44:56 -05:00
Allen Byrne
e8073c0d80 [svn-r27910] Rework flex-bison generated files to eliminate dual depends when building both shared and static 2015-09-29 12:23:55 -05:00
Allen Byrne
ea70d11227 [svn-r27909] Exclude CYGWIN 2015-09-29 09:55:35 -05:00
Allen Byrne
ef2885c5ca [svn-r27908] Give cache tests extra time for VFD tests 2015-09-29 09:53:52 -05:00
Allen Byrne
2557782f24 [svn-r27906] Remove header file name as it is not a direct target (derived during BISON process). 2015-09-29 08:32:43 -05:00
Allen Byrne
7b7649aa81 [svn-r27905] Add depends to be sure file exists 2015-09-28 16:31:00 -05:00
Allen Byrne
179d122d59 [svn-r27904] Correct missing target name chars 2015-09-28 15:43:25 -05:00
Allen Byrne
431c69474c [svn-r27903] Add extra line for replacement from revision 27898 2015-09-28 15:23:46 -05:00
Dana Robinson
11201a24ef [svn-r27902] Updated autogen.sh to use /usr/hdf/bin/AUTOTOOLS paths and removed
hard-coded version checks.

Tested on: jam
2015-09-28 14:04:04 -05:00
Allen Byrne
510936d915 [svn-r27901] Rework doc for updated examples script 2015-09-28 13:39:43 -05:00
Larry Knox
a4e6d0c7e1 [svn-r27900] Modify bbrelease to use "Revision:" number from svn info, not "Last Changed Rev:" number.
Tested on jam
2015-09-28 13:32:42 -05:00
Mohamad Chaarawi
e188268610 [svn-r27898] add an additional perl command to replace int with hid_t in H5LTparse.c
- this is needed when running autogen on a couple of HPC machines.
2015-09-28 13:17:08 -05:00
Allen Byrne
e688c682c3 [svn-r27897] Reduce normal test timeouts to 10 mins - leave VFD changes as is. 2015-09-28 12:48:02 -05:00
Allen Byrne
6272555394 [svn-r27896] Synch VFD types with autotools 2015-09-28 12:47:19 -05:00
Allen Byrne
ccd6248532 [svn-r27895] Rework the generated file dependencies and commands. 2015-09-28 12:30:48 -05:00
Allen Byrne
68962cb2fa [svn-r27894] All generated headers need to be packaged. 2015-09-28 08:21:25 -05:00
Dana Robinson
5422acf9b2 [svn-r27892] Removed redefinition of H5C__HASH_FCN in test/cache_common.h.
This was causing failures on Ada.

Tested on: Ubuntu 15.04 (Linux 3.19.0) w/ gcc 4.9.3
2015-09-26 23:56:13 -05:00
Quincey Koziol
fbd659fe6f [svn-r27891] Description:
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)
2015-09-26 23:39:36 -05:00
Quincey Koziol
0704819592 [svn-r27890] Description:
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)
2015-09-26 21:57:02 -05:00
Quincey Koziol
f45d7b4b7a [svn-r27889] Description:
Advance the decoding pointer for 'all' and 'none' selections properly.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 21:55:02 -05:00
Quincey Koziol
2fbf60fb90 [svn-r27888] Description:
Fix typo in last checkin. *sigh*

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 21:47:42 -05:00
Quincey Koziol
6f1dda474c [svn-r27887] Description:
Merge changes from trunk to the branch.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-26 20:39:06 -05:00
Quincey Koziol
574ff3980a [svn-r27885] Description:
Check if the layout has been retrieved before setting it again.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-26 20:28:39 -05:00
Quincey Koziol
8186a5cee1 [svn-r27884] Description:
Update dataspace selection encode/decode routines to avoid type aliasing
errors.

Tested on:
    Linux/64 2.6.x (platypus) w/production
    (h5committest forthcoming)
2015-09-26 18:52:42 -05:00
Dana Robinson
aec3e1242d [svn-r27880] Changes to autogen.sh
- 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
2015-09-25 18:32:57 -05:00
Neil Fortner
dbdc9c1e2b [svn-r27879] Move property list shutdown earlier in H5_term_library, since with VDS layout it
needs to call into the H5D package.

Tested: ummon
2015-09-25 16:48:11 -05:00
Dana Robinson
04289b3e2a [svn-r27878] Updated autogen.sh script to be more informative about missing
flex/bison.

Tested on: local linux
2015-09-25 15:49:24 -05:00
Quincey Koziol
10837a2a28 [svn-r27876] Description:
Make virtual layout return to the property list occur in all cases, even
on failure.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not needed on this branch)
2015-09-25 11:29:02 -05:00
Allen Byrne
2c99d728f0 [svn-r27874] Add ability to extend the cmake path for searching for libraries/programs. 2015-09-24 14:14:44 -05:00
Allen Byrne
5430c32938 [svn-r27873] Update with changes to script file 2015-09-24 14:01:39 -05:00
Allen Byrne
a1df19353d [svn-r27871] Update with changes to script file 2015-09-24 13:54:00 -05:00