Commit Graph

6681 Commits

Author SHA1 Message Date
Jake Smith
ce16f03528 Merge pull request #2425 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:hdf5_1_12 to hdf5_1_12
* commit '46f0de82c7674a28b08e4da3b0149c793b762203':
  Fix improper signing key null check. (HDFFV-11015)
  Add updates from develop, PR 1958.
2020-02-29 23:39:36 -06:00
Jacob Smith
46f0de82c7 Fix improper signing key null check. (HDFFV-11015) 2020-02-28 17:09:45 -06:00
Quincey Koziol
9ac3f9526a Switch the 'get offset' operation from a dataset 'get' callback to a [native]
dataset 'optional' operation.
2020-02-28 14:29:17 -06:00
David Young
a3462bf164 Merge pull request #2325 in HDFFV/hdf5 from ~DYOUNG/werror:h5t_copy to develop
Merged per discussion with Elena.

* commit '3f903a441ad84001ea66589728bd8b036b6fdfca':
  Take out the temporary performance tests.
  Make calls through a function pointer.  Use the same number of arguments, always.
  Increase iterations, provide a baseline for no-op, simplify the overhead case a bit.
  Temporarily add some code that measures the time to run the simplest possible H5T__copy_all()-like routine 10 million times and then measures the version with FUNC_ENTER_STATIC/_LEAVE_NOAPI and a HGOTO_ERROR() statement.
  H5T_copy() constification plus Quincey's contributions.
2020-02-25 13:59:52 -06:00
Allen Byrne
8544c6b399 Merge pull request #2391 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit '5b5ff6ee094033f2ecd974b8e0bdaac2b0c7e617':
  Correct usage of add_compile_definitions
  Merge changes from develop mostly cmake 3.12 minimum version
  Merge changes from develop for CMake and Java
2020-02-24 07:50:16 -06:00
Allen Byrne
9ed096fb39 Merge changes from develop mostly cmake 3.12 minimum version 2020-02-23 11:55:47 -06:00
Jordan Henderson
34e9f449cc Partial fix for HDFFV-10792 2020-02-21 14:55:29 -06:00
Jordan Henderson
e5452e7ff2 Merge pull request #2338 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_12 to hdf5_1_12
* commit '2dbcd87fcddfb519369a368a00acbe8826d5a0eb':
  Fix some places where H5P_DEFAULT gets passed down to a VOL connector
2020-02-17 14:07:20 -06:00
Jordan Henderson
2dbcd87fcd Fix some places where H5P_DEFAULT gets passed down to a VOL connector 2020-02-01 17:54:59 -06:00
David Young
d42bee3688 Squashed commit of the following:
commit ff7a9a34de2fcd78f5d32a1532f3d0e224b20d94
Author: Kimmy Mu <kmu@hdfgroup.org>
Date:   Wed Jan 29 14:12:18 2020 -0600

    Merge pull request #2324 in HDFFV/hdf5 from ~KMU/hdf5:hdf5_1_12 to hdf5_1_12

    * commit '781fa57f6ee816e037dd12fff02d37ff7ec9c2b1':
      pick up missing piece from merge
      Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
      remove redundent definition
      Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
      Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
      Merge pull request #2315 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
      missing prototype warning
      prototype issue
      Merge pull request #2306 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
      Merge pull request #2300 in HDFFV/hdf5 from ~KMU/hdf5:squashed_cast to develop
      Merge pull request #2291 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/uninitialized to develop
      Merge pull request #2295 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/float to develop
      Merge pull request #2292 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/prototype to develop
      Merge pull request #2094 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/unused to develop

commit 9f3d808c05d2a3b308f32c958c6671fcac0a432c
Author: David Young <dyoung@hdfgroup.org>
Date:   Wed Jan 29 11:43:55 2020 -0600

    testpar/t_2Gio.c: Fix a typo that I think was introduced by a
            previous warnings PR.  An array element was assigned to
            itself---shape[2]Â =Â shape[2];---instead of being assigned to
            chunk[2].

    fortran/src/H5Pf.c: move conditional compilation controlled by
            H5_NO_DEPRECATED_SYMBOLS outside of a function for readability.

    fortran/src/H5match_types.c: put a variable's declaration under the same
            conditional compilation (H5_FORTRAN_HAVE_C_LONG_DOUBLE) as its
            use.

    For now, skip compilation of some unused debug dump routines in the JNI.
    While I'm in the JNI, delete a set-but-unused variable.

    src/H5Z.c: condition a variable declaration on H5_NO_DEPRECATED_SYMBOLS
            so that it's not declared but unused or vice versa.

    test/cache_common.h: add an #include in to get some symbols we need to
            avoid implicit declaration warnings.

    test/dsets.c: use a more conventional conditional-compilation syntax.

    test/dt_arith.c, test/fillval.c: initialize a bunch of uninitialized
            variables before use.

    test/vfd.c: pass the expected type of `void **` to posix_memalign(3)
            instead of `int **`.

    testpar/t_bigio.c: explicitly compare with 0 instead of using ! when
            "equal to 0?" is the question not "is false?"  Repair some
            indentation while I'm here.

    testpar/testpar.h: repair misaligned line-continuation backslashes in a
            macro that probably should be a function so that we don't have
            to fiddle with the line continuation to begin with.

    tools/src/h5repack/h5repack_main.c: fix some compiler fussing about
            enums.

    tools/test/perform/pio_engine.c: the compiler fusses if you cast a
            function call returning double directly to off_t.  It's ok if
            you cast a variable that's a double to off_t, however.  Write
            and use a new function, sqrto(), to avoid the cast warnings.

commit 43a4b80b21c0329fbc1f9a0e2854795189f0bb50
Author: David Young <dyoung@hdfgroup.org>
Date:   Wed Jan 29 10:47:30 2020 -0600

    Reduce casts of HDcalloc()/HDmalloc() that -Wc++-compat required.

    Reduce gratuitous casts---e.g., (size_t)1.

    Use the right format string for a pointer.

    In the H5C sanity checks, change a "size increase" variable from ssize_t
    (too narrow) to int64_t (wide enough).

    Parenthesize every appearance of `storage` in the macro
    `H5D_CHUNK_STORAGE_INDEX_CHK(storage)` so that you can pass in an
    expression like &sc and it works properly.

    Disallow re-assignment of the `dset` parameter to H5D__chunk_init()
    because it helped assure me that it's safe to replace the repeating
    expression `&dset->shared->layout.storage.u.chunk` with `sc` throughout.

    Replace lengthy expressions such as
    `&dset->shared->layout.storage.u.chunk` with `sc` throughout several
    functions in H5Dchunk.c ISTR that the compiler warned that `sc` was
    declared but unused in a couple of functions, and then I found that `sc`
    could be used in many places.  Maybe the disused `sc` appeared because a
    bunch of code was copied and pasted, I don't know.  Anyway, it's a lot
    tighter code now that I use `sc`.

    In H5D__chunk_update_old_edge_chunks() and H5D__chunk_delete()
    I actually expand `sc` and another temporary variable, `pline`,
    because they're used only in !defined(NDEBUG) code.  This squashes
    unused-variable warnings in the defined(NDEBUG) configuration.

    Don't drop the `volatile` qualification with a cast in
    tools/src/h5import/h5import.c.

commit 035bfa0769a4012881fc659b673bacf44d146537
Author: David Young <dyoung@hdfgroup.org>
Date:   Tue Jan 28 20:35:28 2020 -0600

    Reduce differences between my -Werror branch and `develop`:

    Rename index -> idx, fileno -> fnumber, fileno -> fno to avoid GCC
    shadowed declaration warnings about index(3).

    Convert #pragma GCC diagnostic push/pop/ignored to the HDF5 library's
    H5_GCC_DIAG_OFF()/H5_GCC_DIAG_ON() macros.
2020-01-31 13:53:26 -06:00
Allen Byrne
561a0c8ff5 Merge pull request #2331 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'a29f9e8451ffa391c8395db1142bd003f40f3aaa':
  Merge changes from develop to fix various issues
  Remove commented flags
  Revert accidental change
  Chnage tools debug macros to not use the error stack
  Create common warnings for build systems
2020-01-31 10:53:42 -06:00
Allen Byrne
a29f9e8451 Merge changes from develop to fix various issues 2020-01-30 14:33:47 -06:00
Jordan Henderson
edec1f017d Introduce new H5VL _by_value routines 2020-01-29 16:59:41 -06:00
Kimmy Mu
8c60f6264c Merge pull request #2324 in HDFFV/hdf5 from ~KMU/hdf5:hdf5_1_12 to hdf5_1_12
* commit '781fa57f6ee816e037dd12fff02d37ff7ec9c2b1':
  pick up missing piece from merge
  Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
  remove redundent definition
  Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
  Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
  Merge pull request #2315 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
  missing prototype warning
  prototype issue
  Merge pull request #2306 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
  Merge pull request #2300 in HDFFV/hdf5 from ~KMU/hdf5:squashed_cast to develop
  Merge pull request #2291 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/uninitialized to develop
  Merge pull request #2295 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/float to develop
  Merge pull request #2292 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/prototype to develop
  Merge pull request #2094 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/unused to develop
2020-01-29 14:12:18 -06:00
Larry Knox
3ecbb767c3 Update version to 1.12.1-snap0 for hdf5_1_12 branch. 2020-01-28 15:55:05 -06:00
Kimmy Mu
d4dedac70f Merge pull request #2311 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
* commit '406330addf45529ecdd088f4d22e9aab9a03661d':
  rename macro
  change condition
  pick up from Dave's fix
  leave Wswitch-default for later fix
  fix Wredundant-decls, Wswitch-default, Wdeclaration-after-statement, Wsign-compare, Wmisleading-indentation, Wshadow
2020-01-28 15:47:58 -06:00
kmu
3509872fe4 prototype issue 2020-01-27 21:15:19 -06:00
Kimmy Mu
fe75e8f66f Merge pull request #2300 in HDFFV/hdf5 from ~KMU/hdf5:squashed_cast to develop
* commit 'af5c33afabdae2e39bb45eb1b3e9c8366da01145':
  remove unnecessary stuff
  squash cast warning fix
2020-01-27 20:47:06 -06:00
Kimmy Mu
b87a4362a1 Merge pull request #2291 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/uninitialized to develop
* commit '2de0ce0d8ba2fb58fadefc5d718a3c0fedab25c8':
  fix uninitizlized warning
2020-01-27 20:44:23 -06:00
Kimmy Mu
2cd1e08d70 Merge pull request #2292 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/prototype to develop
* commit '9f80ffa1f1908975b3100814b2529bf779521e13':
  fix missing prototype warning
2020-01-27 20:42:32 -06:00
Kimmy Mu
066b874e5a Merge pull request #2094 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/unused to develop
* commit '145ef3ceee20c28a443bd11507c58858bea3f889':
  more cleanup
  change it back
  pick up missing piece
  fix unused related warnings
  removed unused parameter
  more fix and address comments
  remove unsed var,function,macro, etc
2020-01-27 20:39:58 -06:00
Kimmy Mu
d038d85100 Merge pull request #2238 in HDFFV/hdf5 from ~KMU/hdf5:hdf5_1_12 to hdf5_1_12
* commit '48cc850199901c5b67a40183262f4ead975b884f':
  fix test assert fail error
  Merge pull request #2071 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
  Merge pull request #2234 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
2020-01-23 19:42:50 -06:00
Larry Knox
fe0eca39c9 Merge pull request #2289 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'a92cfed71e0da0ff61af2550640e38bf6d415fee':
  Remove irrelevant sentence from comment.
  Remove duplicate lines noted on forum by Eric Bavier
  Add v111 version for H5O functions to enable version1 default for HDF5 1.8-1.10 and version 3 default for HDF5 1.12.  Version 2 functions are available (deprecated) but will not be the default for any version.
2020-01-22 15:57:39 -06:00
Dana Robinson
2b1709f6ff Squashed commit of the token_refactoring branch: 2020-01-18 20:02:16 -08:00
Jerome Soumagne
4bbb85d5a1 H5R: set app ref when incrementing ref_count on location held by reference
(fix HDFFV-10992)
2020-01-17 16:36:05 -06:00
Kimmy Mu
ad80fae3cc Merge pull request #2071 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
* commit '0a2bb11b248df6841daabca3970df5d8504adfc7':
  address problems from comments
  fix and address comments
  change according to previous comments
  add missing piece
  remove unnecessary check macro
  fix intel compile warnings
  Revert "fix warnings from Intel compiler"
  Revert "fix warnings and some text alignment"
  Revert "let hdf5 pick up the right compiler in Intel environment"
  Revert "fix issues from previous PR comments"
  Revert "using a different MACRO"
  using a different MACRO
  fix issues from previous PR comments
  let hdf5 pick up the right compiler in Intel environment
  fix warnings and some text alignment
  fix warnings from Intel compiler
2020-01-08 14:06:38 -06:00
Kimmy Mu
97c0b13af6 Merge pull request #2234 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
* commit '30ac64d83aff5e022d51a17fd6c1d72903ae4f02':
  add new type support
2020-01-08 14:04:28 -06:00
Quincey Koziol
9a155a538b Cherry pick of 0225e6d596 2020-01-04 10:05:22 -06:00
Quincey Koziol
617e2166b2 Cleanups from PR reviews 2020-01-04 10:03:11 -06:00
Quincey Koziol
dd3931266a Remove unnecessary H5CX call 2020-01-04 10:02:55 -06:00
Quincey Koziol
fa599f4508 Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation 2020-01-04 10:02:39 -06:00
Quincey Koziol
7d87aea63f Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out
of the va_list, so it's at least possible for another connector to know what
the operation is and decide whether to implement it or not.

Added a new VOL sub-class called "introspect" where callbacks that report
information about the connector or container can be placed.  Added an
'opt_query' callback to this sub-class, for a connector to report back
to the library whether a particular optional callback operation is supported.
Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t
of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or
the terminal connector, H5VL_GET_CONN_LVL_TERM).

Moved the "post open" operation from a file 'specific' operation to a file
'optional' operation, now that it's possible to detect (with the 'opt_query'
introspection callback) whether a VOL connector implements an optional
operation, without just returning an error.

Added new internal VOL helper routines: H5VL_object_is_native, to determine
if an object is in (or is a) native file, and H5VL_file_is_same, to determine
if two objects are in (or are) the same terminal VOL connector's container.
(And moved the special handling for FILE_IS_EQUAL operation out of internal VOL
callback routine into H5VL_file_is_same)

Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better
with other 'get' operations in API.

Fixed several issues with pass-through connectors, which are now passing the
'make check-passthrough-vol' tests again.

A bunch of warning and style cleanups as well.
2020-01-04 10:02:08 -06:00
David Young
a38f42c1f0 For portability, insulate the HDF5 library from some system macros. 2019-12-19 15:03:40 -06:00
Dana Robinson
d1c07a5a6f Minor tweaks noticed while going over VOL documentation. 2019-12-16 08:14:02 -08:00
Dana Robinson
957940befb Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2019-12-16 08:13:47 -08:00
Dana Robinson
ca6294a0e9 Trivial parameter renaming in VOL API calls. 2019-12-16 08:13:14 -08:00
Neil Fortner
5b751543ca Modify H5VL initialization routines to initialize all VOL-managed object
types.  Modify H5VLwrap_register() to reject non-VOL-managed object
types.  Also fix overisights in h5trace.c from previous changes.
2019-12-13 13:17:43 -06:00
Larry Knox
4b569143f0 Update version to 1.12.0-alpha1. 2019-12-12 16:42:47 -06:00
Allen Byrne
907a630019 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit '9b38aef978299a76b6b19586396bf626a1e58df6':
  Fix 2010 compile issue
2019-12-11 15:13:16 -06:00
Allen Byrne
555d7a6ce3 Fix 2010 compile issue 2019-12-11 11:42:13 -06:00
Allen Byrne
310b42e35a HDFFV-10876 Merge from develop 2019-12-09 15:44:38 -06:00
Jerome Soumagne
1fb836aaf1 Merge pull request #2116 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:hdf5-1_12-ref_token to hdf5_1_12
* commit '1aea46ce671daf2828ac65d0b8551b369f497922':
  Fix H5VL_token_t type and fix H5VL_loc_by_token to use H5VL_token_t *
  Change hdset_reg_ref_t and H5R_ref_t from arrays of unsigned char to structs containing those arrays.  Encapsulating the arrays in this way makes it easier to write and think about pointers to these types, casts to/from these types, etc.
  H5R: fix H5Tconv to check for null references
  Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILE
2019-12-09 15:30:50 -06:00
Jerome Soumagne
1aea46ce67 Fix H5VL_token_t type and fix H5VL_loc_by_token to use H5VL_token_t * 2019-12-09 14:58:29 -06:00
David Young
94de95266a Change hdset_reg_ref_t and H5R_ref_t from arrays of unsigned char to
structs containing those arrays.  Encapsulating the arrays in this way
makes it easier to write and think about pointers to these types, casts
to/from these types, etc.

An interesting side-effect that we probably should *not* rely on is
that the struct-encapsulation changes the alignment so that some GCC
warnings about casts that increase the alignment requirement of the
operand go away.  Warnings like that have to be taken seriously:  I will
add -Werror=cast-align to the default compiler flags so that they stop
the build quickly.

GCC warnings led me to some surprising casts in test/trefer.c. I found
that it was possible to make many simplifications after introducing the
struct-encapsulation that I described, above.

In test objcopy_ref `same_file` is assigned but never used.  Delete it.
2019-12-09 14:58:22 -06:00
Jerome Soumagne
33f2948a61 H5R: fix H5Tconv to check for null references
Valid for both deprecated and non-deprecated references

Update test
2019-12-09 14:55:14 -06:00
Jerome Soumagne
5c97046501 Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILE
Remove H5F__get_file_id() and use only private routine instead
2019-12-09 14:55:03 -06:00
Neil Fortner
096ed7a14a Modify H5Ssel_iter_get_seq_list() to accept iterators that have reached
the end of iteration (returning zero sequences).  Previously it could
cause an assertion failure.
2019-12-09 13:04:03 -06:00
Jerome Soumagne
bc3312df8e Merge pull request #2114 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:hdf5-1_12-revert to hdf5_1_12
* commit '49fe497201bcefcd9beb01fe8fc2175974b73799':
  Revert "Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into hdf5_1_12"
2019-12-09 13:00:07 -06:00
Jerome Soumagne
49fe497201 Revert "Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into hdf5_1_12"
This reverts commit 9f9336a5bd, reversing
changes made to 437a1919e7.
2019-12-09 12:16:52 -06:00
Neil Fortner
18e9b4fcc2 Merge pull request #2104 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:tmp_112_3 to hdf5_1_12
* commit 'afb6ae776b3c60b37898dae4ee93f8976da90d42':
  Add H5VL_MAP_OPTIONAL operation id (unused currently).
2019-12-06 17:57:06 -06:00