Commit Graph
69 Commits
Author SHA1 Message Date
Dana Robinson 7f1e49206d Renamed COPYING to LICENSE (#4978)
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
2024-10-18 21:13:04 -07:00
Dana Robinson fd933f30b1 Remove programmer/date from comments (#3210)
* Removes Programmer: and Date: fields
* Fixes a few Modifications: fields leftover from previous work
2023-06-29 12:13:29 -07:00
Larry Knox 11dfa25910 Update copyright headers (#2184)
* Updated source file copyright headers to remove "Copyright by the Board of Trustees
of the University of Illinois", which is kept in the top-level COPYING file.
2022-11-01 16:02:27 -05:00
f859cb732b Fixed Spelling Errors (#1166)
* fixed missed closing of a dataset

* fixed missed closing of a dataset

* fixed typo in error return

* Committing clang-format changes

* minor edits

* code format

* Committing clang-format changes

* code format

* minor edit

* switched from using MPI_count, to actual bytes written for H5FD_mpio_debug rw debugging

* Committing clang-format changes

* changed size_i in printf to reflect the I/O.

* Committing clang-format changes

* Fixed seg fault with xlf on BE with -qintsize=8

* fixed error function string

* spelling corrections via codespell, added new spell check github actions

* Committing clang-format changes

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* misc

* Committing clang-format changes

* misc

* misc

* misc

* misc

* misc

* misc

* Committing clang-format changes

* misc

* work around for https://github.com/codespell-project/codespell/issues/2137

* misc

* added missing file

* misc

* misc.

* misc

* switch to using Codespell with GitHub Actions

* misc.

* misc.

* fixed more sp errors

* Fix new typos found by codespell.

* fixed proceed with precede

* fixed variable in fortran test

* fixed minnum

* updated spelling list

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2021-12-07 08:27:29 -06:00
Dana Robinsonandgithub-actions 50d0888f49 C++ warning and build fixes (#707)
* Committing clang-format changes

* C++ build and warning updates

* Fixes all warnings on C++ (with gcc 9.3)
* Updates CMake and Autotools C++ builds

* Undo warning clobber

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-06-01 08:49:39 -05:00
Sean McBride 38b9474af0 Applied clang-tidy readability-delete-null-pointer fixes (#430)
delete nullptr is well-defined, does not need check.

Manually fixed indentation after automatic changes.
2021-03-22 12:51:18 -05:00
Sean McBride 20c452fe5c Removed checks/workarounds for pre-C++89 compatibility (#449)
After 30+ years, just assume that the following exist:
- extension-less includes
- namespaces
- std::
- static_cast
- bool
2021-03-10 11:51:45 -06:00
Larry Knox 2ea165efd0 Update license url part2 (#333)
* Modify temporary rpath for testing in java example scripts.

* Update URL in source file Copyright headers for web copy of COPYING
    file - files not in src or test.
2021-02-17 08:52:36 -06:00
Allen Byrne b2d661b508 Clang-format of source files 2020-09-30 09:27:10 -05:00
Binh-Minh Ribler 2d4d39d157 Fixed documentation
Description:
    - Updated the description of copy constructor for clarification.
    - Removed unnecessary comments.
Platforms tested:
    Linux/64 (jelly)
2018-03-12 19:39:20 -05:00
Binh-Minh Ribler 82d092a499 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
2017-12-20 23:11:58 -06:00
Binh-Minh Ribler 92193e35bb Miscellaneous code cleanup
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)
2017-09-15 11:46:22 -05:00
Larry Knox 89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* 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.
2017-04-25 16:05:36 -05:00
Binh-Minh Ribler 861a849530 Description:
Only format changes: mostly tabs vs. spaces
Platforms tested:
    Linux/64 (jelly) - very minor
2017-03-03 08:45:57 -06:00
Binh-Minh Ribler a903cbafa8 Description:
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
2016-10-19 15:50:17 -05:00
Binh-Minh Ribler ae0b749012 [svn-r30279] Purpose: Code improvement (HDFFR-9725)
Description:
    Removed deprecated functions in previous releases due to missing const.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-08-12 01:55:43 -05:00
Binh-Minh Ribler c37607eb58 [svn-r29759] Purpose: Code improvements
Description:
    - Changed object in catch statements to reference
    - Replaced old-style casts or reinterpret_cast with static_cast
    - Removed unused name H5Library::need_cleanup
    - Removed Exception::printError from documentation
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-04-22 06:22:34 -05:00
Binh-Minh Ribler 116eed3ebd [svn-r29340] Purpose: Code cleanup
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)
2016-03-08 07:23:54 -05:00
Binh-Minh Ribler 36c4634606 [svn-r29322] Purpose: Remove obsoletes
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)
2016-03-07 16:02:17 -05:00
Binh-Minh Ribler b346cb0599 [svn-r29306] Purpose: Add function
Description:
    Added member function ArrayType::operator= because ArrayType has
    pointer data members.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-03-07 10:42:30 -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 f6d9d1fdc8 [svn-r26695] Purpose: Fixed HDFFV-7947 (cont.)
Description:
    - Put back the UNUSED parameters in dsets test because the change to remove
      the warning last time caused failure in setting filter, in turn, caused
      failure in the test with such obscure/unrelated errors!
    - Added incRefCount() to other constructors that missed from last time.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-04-01 13:52:05 -05:00
Binh-Minh Ribler a382658282 [svn-r26457] Purpose: Fix warnings HDFFV-8658
Description:
    The following two constructors of classes: AbstractDs, IdComponent,
    H5Location, and H5Object are no longer appropriate after the data member
    "id" had been moved from IdComponent to the sub-classes.

    The copy constructors are noop and will be generated by the compilers if
    needed so they can be removed in 1.8.15 without effecting applications. The
    other constructors will be removed from 1.10 release, and then from 1.8 if
    their removal does not raise any problems in at least two 1.10 releases.

    <Classname>(const hid_t h5_id);
    <Classname>(const <Classname>& original);

    Deprecation warnings are added to each of these classes.

    The other classes are changed to call the default constructor instead of
    one of the constructors above.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:47:56 -05:00
Binh-Minh Ribler 10f1e6acf8 [svn-r25640] 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.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-09-30 13:20:36 -05:00
Binh-Minh Ribler a75e8dd654 [svn-r25061] Description:
Put back overloaded functions for backward compatibility:
    - were replaced by better prototyped versions, such as Attribute::getName.
    - were modified to add const to constant arguments.
    Added notes for future removal in documentation.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-17 18:25:01 -05:00
Binh-Minh Ribler 385b4b40ae [svn-r24991] Purpose: Fixed HDFFV-3384
Description:
    - Added const to const arguments
    - Fixed miscellaneous comments
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-08 21:36:48 -05:00
Binh-Minh Ribler f8fb310610 [svn-r24188] Purpose: Fixed bug introduced in r24163
Description:
    - 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
Platforms tested:
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
    Linux/64 2.6 (koala)/PGI compilers
2013-09-22 19:39:44 -05:00
Binh-Minh Ribler 1b22cc435e [svn-r24178] Back out the changes that cause daily test to fail r24163 2013-09-20 13:53:21 -05:00
Binh-Minh Ribler 4182c81add [svn-r24163] Purpose: More on HDFFV-7520 and HDFFV-533
Description:
    - Improved the changes in revisions r22836 and r23438, mainly on the
      wrappers of reference, dereference, get region, and set/getcomment.
    - Added more tests.

Platforms tested:
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
    Linux/ppc64 (ostrich)
2013-09-18 22:08:28 -05:00
Binh-Minh Ribler d95f5e293a [svn-r24162] backing out a commit that includes wrong files 2013-09-18 21:41:00 -05:00
Binh-Minh Ribler 18b896112c [svn-r24161] Purpose: More on HDFFV-7520 and HDFFV-533
Description:
    - Completed the changes in revisions r22836 and r23438 with improvement
    on wrappers such as reference, dereference, get region, and set/getcomment.
    - Added more tests.
Platforms tested:
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
    Linux/ppc64 (ostrich)
2013-09-18 20:54:54 -05:00
Binh-Minh Ribler afb5fc5c35 [svn-r24143] Description:
Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.
Platforms tested:
    Linux/32 2.6 (jam)
    Regenerated and verified generated documentation.
2013-09-16 09:39:52 -05:00
Binh-Minh Ribler 88ce565d7d [svn-r22235] Purpose: Fixed bugs HDFFV-2761 & HDFFV-7852
Description:
    - Replaced PredType::NotAtexit() with PredType::AtExit(H5CPP_EXITED);
      and used PredType::AtExit as a flag to detect when all predefined
      types have been destroyed.  Then, H5close will be called to terminate
      the library after its being re-initiated when the PredType destructors
      were activated.  This change removed the memory leaks shown by the
      user's sample program.
    - Added H5CPP_EXITED for PredType::AtExit to use as a flag
    - Updated some inaccurate comments
    - Removed stream functions from FileAccPropList
    - Replaced H5_VMS with appropriate macro in H5IdComponent.cpp
    - Corrected many URLs (hdfgroup vs. ncsa) in comments
    - Replaced std::string with H5std_string in comments
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 2.6 (amani)
    SunOS 5.10 (linew)
2012-04-01 22:14:19 -05:00
Binh-Minh Ribler aa0772d9b2 [svn-r19395] Purpose: Fixed bug 1903
Description:
    After a C++ API object is closed, its id should be reset regardless
    of the reference count of the underlying HDF5 object.  User reported
    the bug for Group, but it's applicable to all other objects.  Fixed.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-09-16 00:59:39 -05:00
Binh-Minh Ribler 18fb7d1a78 [svn-r15407] Purpose: Fix bug
Description:
    Changed all subclasses' setId to protected p_setId and put back setId
    in IdComponent.  p_setId is used in the library where the id provided
    by a C API passed on to user's application in the form of a C++ API
    object, which will be destroyed properly, and so p_setId does not
    call incRefCount.  On the other hand, the public version setId is
    used by other applications, in which the id passed to setId needs
    to be closed properly by the application, so setId must call incRefCount
    for the new object to prevent prematurely closing of the id.

Platforms tested:
    Linux 2.6 (kagiso)
    SunOS 5.10 (linew)
    FreeBSD (duty)
2008-07-25 16:51:01 -05:00
Raymond Lu 8704820d1c [svn-r15395] When an attribute was opened twice and data was written with one of the handles,
the file didn't have the data.  It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value.  This is
fixed by making some attribute information like the data be shared in the
attribute structure.

Tested on smirom, kagiso, and linew.
2008-07-22 15:36:31 -05:00
Binh-Minh Ribler e5df9bb33a [svn-r15309] Purpose: Fixed bugs
Description:
    The class hierarchy was revised to address the problem reported in
    bugzilla #1068.  Classes AbstractDS and Attribute are moved out of
    H5Object.  Class Attribute now multiply inherits from IdComponent and
    AbstractDs and class DataSet from H5Object and AbstractDs.

    In addition, data member IdComponent::id was moved into subclasses:
    Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-07-02 09:56:42 -05:00
Quincey Koziol e622f33515 [svn-r14420] Description:
Correct the prototype for H5Sselect_elements() to take an 'hsize_t *' for
the coordinates, instead of 'hsize_t **'.

Tested on:
    Mac OS X/32 10.5.1 (amazon)
2008-01-15 16:10:42 -05:00
Albert Cheng ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Binh-Minh Ribler 134352c456 [svn-r13200] Purpose: Adding wrappers and fixing a bug
Description:
    - Added overloaded function DataType::copy to take a DataSet
    - Added overloaded DataType::commit
    - Fixed bugzilla 797
    - Fixed a warning in DataSpace::operator=
    - Set PropList parameter to default in DataType::convert

Platforms tested
    AIX 5.1 (copper)
    SunOS 5.8 64-bit (sol)
    HPUX 11.00 (kelgia)
2007-01-26 00:34:10 -05:00
Binh-Minh Ribler 32d3e6f04f [svn-r12404] Purpose: Fix typos/formats
Description:
    Fixed typos and re-arranged some functions to be in sync with 1.6.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.9 (shanti)
    AIX 5.1 (copper)
2006-06-05 11:17:36 -05:00
Binh-Minh Ribler deec486732 [svn-r12368] Purpose: Fixed bug
Description:
    Shanti compiler destroy unnamed objects later than others, which caused
    some reference counting test fail.  Revised the test so that destructors
    are called at the same time, regardless the differences of compiler
    implementation.

    Revised some constructors, close, operator=, and destructors to make
    sure that all the object ids are handled properly.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.9 (shanti)
    HPUX 11.00 (kelgia)
    AIX 5.1 (copper)
2006-05-23 12:59:40 -05:00
Binh-Minh Ribler 92178e5fff [svn-r12185] Purpose: Code cleanup
Description:
    Removed an empty #ifdef block that was left by mistake.

Platforms tested:
    Linux 2.4 (heping) - very minor
2006-03-31 11:32:31 -05:00
Binh-Minh Ribler a7e993d72b [svn-r12180] Purpose: Maintenance
Description:
    Added alias H5_std so either the global or std namespace can be
    used, depending on H5_NO_STD.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    AIX 5.1 (copper)
2006-03-30 13:06:58 -05:00
Binh-Minh Ribler 5ed48cf279 [svn-r11755] Purpose: Code improvement
Description:
    There was a workaround for predefined types, in the C++ library,
    implemented when the C++ library was handling the reference
    counting of the object ids on its own.  Currently, the C++ library
    is using the available APIs from the C library for that purpose,
    and there were bugs reported involving that part of the C++ library.
    So, I decided to remove the workaround completely.

    Also, improved the use of std members.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    Linux 2.4 w/PGI (colonelk)
2005-12-03 07:21:25 -05:00
Binh-Minh Ribler cbf1ec6eb4 [svn-r11517] Purpose: Fixed comments
Description:
    Fixed the description of two parameters that were swapped by
    mistake.

Platforms tested:
    Linux 2.4 (heping) - very minor
2005-10-10 11:25:47 -05:00
Quincey Koziol 6e7ed46998 [svn-r11487] Purpose:
Code cleanup

Description:
    Tweak copyright on C++ source files to reduce whining by copyright checking
script.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
2005-10-01 10:29:18 -05:00
Binh-Minh Ribler 6496413284 [svn-r11264] Purpose: Additional code improvement
Description:
    Used "using" declaration and directive better to reduce namespace
    pollution.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
2005-08-18 17:16:56 -05:00
Quincey Koziol 6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Binh-Minh Ribler fab172d704 [svn-r11151] Purpose: Fix bugzilla #407 and #408
Description:
    PropList::copyProp has incorrect prototype; although it works,
    it does cause users inconvenience.

Solution:
    Added another overloaded function with correct prototype.  The
    old version will be removed in a future release.  In the meantime,
    "Obsolete" will be displayed in its RM page.

    Also, changed several checks on the returned value of a C API from
    non-positive to negative because id = 0 is no longer significant,
    now that the C++ reference counting had been removed.

Platforms tested:
    Linux 2.4 (heping)
    IRIX64 with -n32 (modi4)
    Linux 2.4 w/PGI (colonelk)
2005-07-24 22:37:21 -05:00