Commit Graph

318 Commits

Author SHA1 Message Date
Binh-Minh Ribler
a586729afb [svn-r26741] Description:
Per user Jason Newton request, the following constructor is added:
        H5File(hid_t existing_id);
    Also, fixed H5File::openFile to close current file first before re-using
    the object.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-04-06 16:20:11 -05:00
Binh-Minh Ribler
2a2a79742d [svn-r26731] Purpose: Fixed HDFFV-7947
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)

    Merged from trunk: r26655
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam Intel 15.0)
    SunOS 5.11 (emu)
2015-04-05 22:52:35 -05:00
Binh-Minh Ribler
150b85cc44 [svn-r26730] Purpose: Adding new wrappers (HDFFR-9167 partially)
Description:
    Added wrappers for C functions H5P[s/g]et_libver_bounds and wrappers
    for getting object header version

      // Sets bounds on versions of library format to be used when creating
      // or writing objects.
      void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;

      // Gets the current settings for the library version format bounds.
      void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;

      // Returns the object header version of an object in a file or group,
      // given the object's name.
      unsigned childObjVersion(const char* objname) const;
      unsigned childObjVersion(const H5std_string& objname) const;

    Merge from trunk r26643

Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam Intel 15.0)
    SunOS 5.11 (emu)
2015-04-05 13:30:20 -05:00
Binh-Minh Ribler
743686ebe1 [svn-r26729] Purpose: Fix bugs
Description:
    - Changed DataType::operator= to simply copy the id of rhs instead of
      calling H5Tcopy because, when the operator= is invoked, a different
      datatype id is created and it won't have the same characteristics as
      rhs', specifically, if the rhs represents a named datatype, "this"
      would still be a transient datatype.
    - Added a DataType constructor that takes a PredType object, and this
      constructor will cause H5Tcopy to generate another datatype id, from a
      predefined datatype.
    - Fixed various mistakes in tests.
    - Fixed typo that caused failure on Windows.
    Merged from trunk r26640 and r26462

Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam/gnu and jam/icc 15)
    SunOS 5.11 (emu)
2015-04-04 23:12:08 -05:00
Larry Knox
083ef61b05 [svn-r26728] Merge trunk reviwions 26669 and 26670.
Removed from configure.ac VPATH section, LONE_COLON check and checks for redundant addition of /usr/include and /usr/lib to compile flags, with reconfigure.

Tested h5committest
2015-04-04 10:27:14 -05:00
Binh-Minh Ribler
2c3ab21057 [svn-r26727] Purpose: Fix warnings HDFFV-8658 cont.
Description:
    Fixed many type conversion warnings and unused variables.

    Merged from trunk r26458, but also combined the fix in r26695 (dsets.cpp)
    to avoid test failure, that was undetected before committing to trunk until
    r26695.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-04-04 02:47:49 -05:00
Allen Byrne
025d90f573 [svn-r26697] HDFFV-9131: Remove obsolete/unneeded sections. 2015-04-01 15:27:26 -05:00
Allen Byrne
7ebd4c8311 [svn-r26600] Fix CMake target calls to add new parameter 2015-03-26 08:51:01 -05:00
Jerome Soumagne
2bb934857b [svn-r26582] Merge r26509 from trunk
Run reconfigure after merges from autotools_rework branch
2015-03-25 13:07:02 -05:00
Dana Robinson
85beb272c5 [svn-r26395] Merges r26329 from trunk
Removed the configure option that allows selective disabling of individual
internal filters (fletcher32, shuffle, etc.).

This feature mucked up the code with a lot of #ifdefs, saved very little
space and was not scalable to a general scheme for library size reduction.
We've decided to remove the feature while we investigate a more general
scheme for decreasing the library size.

Fixes: HDFFV-9086

Tested on: h5committest
2015-03-08 23:24:02 -05:00
Allen Byrne
ece0ba0336 [svn-r26371] Update cmake mininum version
Update windows wix cpack process.
2015-03-05 11:48:32 -05:00
Scot Breitenfeld
add51325ef [svn-r26314] Brought autotools related changes from the trunk to the branch, r26188 r26280 2015-02-26 09:21:33 -05:00
Mohamad Chaarawi
90067b76ce [svn-r26304] bring 26303 from trunk:
remove files with .clog2 extension generated by MPE when doing make clean
2015-02-25 13:52:27 -05:00
Mohamad Chaarawi
62ec301df9 [svn-r26224] merge 26180 from trunk:
configure fixes for HDFFV-9068,9069,9096,9097,9135 from autotools_rework branch:

- Remove Infering parallel compilers (C and Fortran) from configure.ac
- Remove restriction to build shared with parallel
- Cleanup parallel sections in configure.ac
- remove large file support checks
- MPE fixes.
2015-02-18 17:01:17 -05:00
Binh-Minh Ribler
eb20ea5379 [svn-r25655] Purpose: Fixed HDFFV-8928
Description:
    Followed hints from user's report on JIRA to remove several potential
    memory leaks.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-10-01 23:32:16 -05:00
Binh-Minh Ribler
9c9326c7de [svn-r25653] Purpose: Fixed HDFFV-4259
Description:
    - Used H5I_INVALID_HID instead of 0 to initialized member "id" in classes
      that represent HDF5 objects.  For PropList, H5P_DEFAULT has to be used
      instead of H5I_INVALID_HID.
    - Added try/catch block to some dynamically allocating memory code and
      re-throw the bad_alloc exception with a message informing the location of
      the failure.
    (merged from trunk-r25640)

Purpose: Fixed HDFFV-8852
Description:
    H5F_ACC_CREAT was included in the C++ API while the C library doesn't
    allow it yet.  Possibly, in the future, but not now.  In addition, the
    two flags H5F_ACC_RDONLY and H5F_ACC_RDWR were missing from the
    documentation, causing confusion that appending is not supported.
Solution:
    - Removed H5F_ACC_CREAT from the function until the C library support it
    - Added H5F_ACC_RDONLY and H5F_ACC_RDWR to the comments to update the
      documentation
    (merged from trunk-r25632)

Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-10-01 23:05:38 -05:00
Mohamad Chaarawi
2700d20859 [svn-r25402] Bring 25397/8 from trunk:
- remove configure checks for MPI_File_get_size and Big MPI_File_set_size as they are supported by MPIO implementations today.
- fix bug in t_mpi.c (HDFFV-8856)

tested with h5committest.
2014-07-10 09:36:34 -05:00
Allen Byrne
34e371a4c2 [svn-r25351] Add more vfd tests to smaller timeout limits 2014-06-24 10:14:50 -05:00
Allen Byrne
5278b9737d [svn-r25222] Merge cmake_ext_mod into 1.8 2014-05-27 12:46:30 -05:00
Binh-Minh Ribler
1a5d6e47d2 [svn-r25116] Description:
- Put back Exception::printError for backward compatibility
    - Added static member function Exception::printErrorStack to print
      error stack without an instance of Exception.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-25 16:54:22 -05:00
Larry Knox
b018ba48ce [svn-r25106] Removed LT_ADD_LIBHDF5_DEPENDENCY configure conditional to roll back fix for removing rpaths from lib files. The fix also removed dependencies on libhdf5, etc. when the --disable-sharedlib-rpath configure option was invoked.
Added instead configure variable hardcode_into_lib=no.  This removes rpath from lib files on Linux and solaris machines.

Tested with h5committest on jam, koala, ostrich and platypus (cmake), and on emu and kite.
2014-04-25 14:34:54 -05:00
Binh-Minh Ribler
19125219cd [svn-r25062] Description:
Put back overloaded functions for backward compatibility:
    - were replaced by better prototyped versions, such as Attribute::getNam.
    - were modified to add const to constant arguments.
    Added notes for future removal in documentation.
    (Elena approved.) Merged from trunk r25061.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-17 21:39:50 -05:00
Binh-Minh Ribler
a791213860 [svn-r25030] Purpose: Fix HDFFV-8658
Description:
    Turned on warnings and removed some of those.
    (merged from trunk-r24994)
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-11 23:02:26 -05:00
Binh-Minh Ribler
53a50fa7c8 [svn-r25028] Purpose: Fix HDFFV-8367
Description:
    - Added wrappers to CommomFG for H5Oget_info_by_name() to get a child
      object's type (requested by user)
        H5O_type_t childObjType(const H5std_string& objname) const;
        H5O_type_t childObjType(const char* objname) const;
        H5O_type_t childObjType(hsize_t index, H5_index_t index_type=H5_INDEX_NAME, H5_iter_order_t order=H5_ITER_INC, const char* objname=".") const;
    - Added tests to tobject.cpp
    (merged from trunk-r24983)
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-11 22:34:19 -05:00
Binh-Minh Ribler
33956e594a [svn-r25026] Description:
Added tobject.cpp.
2014-04-11 22:17:11 -05:00
Binh-Minh Ribler
f61bc97180 [svn-r25023] Description:
- 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
    (merge from trunk-24969)
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu) with gmake
2014-04-11 21:47:07 -05:00
Binh-Minh Ribler
adff7e81bd [svn-r25022] Purpose: Code improvement
Description:
    - 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
    (merged from trunk-r24938)
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu) with gmake
2014-04-11 21:10:49 -05:00
Binh-Minh Ribler
d9703d66de [svn-r25021] Description:
Added proper deallocation/allocation to test.
    Revised incorrect comments.
    (merged from trunk-r24929)
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-11 21:00:45 -05:00
Allen Byrne
ab2d9f1e9c [svn-r24980] HDFFV-8290: Merge automake 1.14.1 changes from trunk
Tested: h5committest
2014-04-07 12:26:44 -05:00
Binh-Minh Ribler
963bace0d1 [svn-r24928] Purpose: Fix HDFFV-7907
Description:
    Added transform property list functions
        // Constructor creates a dataset transform property list.
        DSetMemXferPropList(const char* expression);

        // Sets data transform expression.
        void setDataTransform(const char* expression) const;
        void setDataTransform(const H5std_string& expression) const;

        // Gets data transform expression.
        ssize_t getDataTransform(char* exp, size_t buf_size=0) const;
        H5std_string getDataTransform() const;

    Added test file tdspl.cpp.

Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-03-30 19:48:46 -05:00
Binh-Minh Ribler
764128aaf2 [svn-r24913] Purpose: Fix HDFFV-8642
Description:
    Added CompType::setSize(size_t size) to set size for compound data type
    as H5Tset_size had been changed.
    Merged from trunk-24912
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-03-27 00:09:59 -05:00
Allen Byrne
d9020f2e35 [svn-r24906] Merge latest CMake changes from trunk.
Tested: local linux
2014-03-26 10:00:35 -05:00
Quincey Koziol
25147d5567 [svn-r24878] Description:
Bring r24864 from trunk to 1.8 branch:

    Remove all traces of MPI-POSIX VFD and GPFS detection/code.

    Remove remaining traces of stream VFD.

    Remove testpar/t_posix_compliant test (it's not actually verifying anything).

    Clean up H5D__mpio_opt_possible() further.

    Moved environment variable that disables MPI collective operations into
    MPI-IO VFD (instead of it being in src/H5S.c).

    A few other small code cleanups.

Tested on:
    Mac OSX/64 10.9.2 (amazon) w/parallel & serial
    (daily tested on trunk)
2014-03-24 12:41:18 -05:00
Binh-Minh Ribler
74079aa0de [svn-r24870] Description:
- Added another overload for char* argument:
        ssize_t getComment(const char* name, const size_t buf_size, char* comment)
    - Changed default value to 0 for the other two getComment methods
    - Added HDmemset to after every char string allocation to clear the buffer
    - Added a null terminator to the comment returned from the C call, in
        getComment methods
    - Some minor cleanup
    Merged from trunk: -r24865 -r24867
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-03-23 16:30:43 -05:00
Binh-Minh Ribler
e18ee63c5a [svn-r24868] Purpose: Applied user patch, HDFFV-8623
Description:
    Applied patch from user Jason Newton.  JIRA issue HDFFV-8623, patch
    0009, improve c++ compatibility with exceptions.  All additions of "throw()"
    are included.  Exception::what() is not added because it is not necessary.
    It was suggested for the name, which follows stdlib.
    Merged from trunk -r24830
Platforms tested:
    SunOS 5.11 (emu)
    Linux/32 2.6 (jam)
    Linux/64 2.6 (koala)/PGI compilers
2014-03-23 01:12:05 -05:00
Larry Knox
f4781c29da [svn-r24732] Fix for reconfigure, which fails because LT_ADD_LIBHDF5_DEPENDENCY is used in Makefiles but the declaration in configure.ac is missing.
Copied declaration from trunk.  Tested with h5committest on jam ostrich koala and platypus(cmake).
2014-02-22 13:22:26 -05:00
Allen Byrne
08901f283e [svn-r24393] Cleanup testfiles from scripts. Update lists of files to be cleaned. CMake update to clean testfiles.
Tested: local cmake, autotools
2013-11-01 16:26:11 -05:00
Binh-Minh Ribler
cf8469d949 [svn-r24233] Description:
Replaced an uint with unsigned to please Windows.
Platforms tested:
    Linux/32 2.6 (jam) - very minor
2013-09-30 17:15:38 -05:00
Binh-Minh Ribler
467050b23d [svn-r24229] Purpose: Fix bug HDFFV-7520
Description:
    Added wrappers for H5Aexists.
    (merged from trunk)
Platforms Tested:
    Linux/32 2.6 (jam)
    Linux/64 2.6 (koala)
    Linux/ppc64 (ostrich)
2013-09-30 14:44:52 -05:00
Binh-Minh Ribler
5478de7645 [svn-r24216] Purpose: Merged changes from trunk
Description from trunk, r22836
    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

Description from trunk, r22845
    Fixed miscellaneous inconsistencies and typos, which also took
    care of the failure in Packet Table test on daily test today.

Description from trunk, r24143
    Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.

Description from trunk, r24188
    - The failure in daily test was caused by missing initialization of member
    "id" in a few constructors.  This is now fixed.
    - Added two overloaded H5Location::setComment
    - Improved some error reporting in H5Location
    - Improved error reporting in tests

Description from trunk, r24189
    Changed header guards from single underscore to double underscore.

Platforms tested:
    SunOS 5.11 (emu)
    Linux/32 2.6 (jam)
    Linux/64 2.6 (koala)/PGI compilers
2013-09-28 23:34:31 -05:00
Allen Byrne
8194f34ef7 [svn-r24072] Merge trunk cmake changes to 1.8 branch.
Also add default switch blocks to h5import.
Merge h5dump any_path option from trunk.

Tested: local linux
2013-08-26 10:35:15 -05:00
Raymond Lu
aa8d6d403c [svn-r23993] I used the macro H5_HAVE_FILE_VERSIONS to skip three test cases for file creation on OpenVMS.
OpenVMS creates another version of the file when a file is created for the second time, making
the test cases invalide.

Tested on OpenVMS and jam - simple change.
2013-08-12 15:11:51 -05:00
Allen Byrne
1aa65f1f02 [svn-r23970] malloc of char array needs array deallocation.
Merged from trunk.
2013-08-05 09:27:01 -05:00
Binh-Minh Ribler
548f859749 [svn-r23956] Description:
Took out a work-around line left by accident.
Platform tested:
    Linux/32 2.6 (jam) with GNU compilers
2013-07-31 15:46:26 -05:00
Binh-Minh Ribler
3e071dc051 [svn-r23955] Description:
Close a group in test_dset, before the file can be properly closed.
    This should fix the problem on OpenVMS.

Platforms tested:
    Linux/32 2.6 (jam) with GNU compilers
    SunOS 5.11 (emu)
2013-07-31 14:49:32 -05:00
Binh-Minh Ribler
769649c100 [svn-r23950] Description:
There seem to be some objects still left open, so the file was not closed
    properly and caused failure on OpenVMS, because on that platform, more than
    one file cannot be opened at the same time (according to Ray.)

    Added setFcloseDegree(H5F_CLOSE_STRONG) to test_dset() to eliminate the
    failure temporarily, until the opened objects can be located and closed properly.

Platforms tested:
    Linux/32 2.6 (jam) with GNU compilers
    SunOS 5.11 (emu)
2013-07-31 01:59:39 -05:00
Binh-Minh Ribler
21130b20b8 [svn-r23943] Description:
Fixed an allocation/deallocation mistake that caused test to fail on
    Windows.
Platforms tested:
    Linux/32 2.6 (jam) with GNU compilers
    SunOS 5.11 (emu)
2013-07-29 23:31:05 -05:00
Binh-Minh Ribler
268f4fd05c [svn-r23940] Purpose: Fix bug in tests
Description:
    - Passing the c_str() of an std string into a C function caused failure
      on OpenVMS.  Added a work around using temporary string.
    - Passing incorrect file access property list caused test_datasize() to
      fail.  Fixed.
Platforms tested:
    Linux/32 2.6 (jam) with PGI compilers
    Linux/32 2.6 (jam) with GNU compilers
    SunOS 5.11 (emu)
2013-07-27 02:07:38 -05:00
Allen Byrne
e41f1a44b8 [svn-r23771] HDFFV-8434,-8437,-8445,-8447,-8461: Merge changes from Trunk.
Tested: local linux
2013-06-14 09:24:27 -05:00
Binh-Minh Ribler
8461df0911 [svn-r23485] Purpose: Fix bug HDFFV-8067
Description:
    Applied the fix for HDFFV-8067 and the minor cleanups from the trunk.
Platforms tested:
    Linux/32 2.6 (jam) with PGI compilers
    Linux/32 2.6 (jam) with GNU compilers
    Linux/64 2.6 (koala) with ICC compilers
    SunOS 5.10 (emu)
2013-03-28 23:03:20 -05:00