Compare commits

...

1553 Commits

Author SHA1 Message Date
mainzer
d00bab96fb Minor copy edits to comments -- no code changes. 2020-08-17 08:19:33 -05:00
mainzer
7b9f61c157 Merge branch 'develop' into mdc_sl_opt 2020-08-15 17:53:29 -05:00
mainzer
12bb6d7665 Tab to space conversions.
Re-applied tab to space conversions accidentally reverted in the
commit of the metadata cache skip list optimization, and performed
some additional tab to space conversions in passing.

Tested parallel / debug on Jelly.
2020-08-14 12:16:47 -05:00
Dana Robinson
044ee6f88c Merge pull request #2765 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '3feeb8ec20a7b08acdcd77f3e10c8c93818d890e':
  Fixes naming issues in H5VM inline functions
2020-08-14 08:57:32 -05:00
Dana Robinson
3feeb8ec20 Fixes naming issues in H5VM inline functions 2020-08-14 06:32:58 -07:00
Elena Pourmal
6b347a8d97 Merge pull request #2753 in HDFFV/hdf5 from ~EPOURMAL/hdf5_ep:develop to develop
* commit 'c6248cfb6975a6ecadf0259390247ce05dc13c4b':
  Addresseda Dana's comments from the pull request.
  Fixed several typos in the comments found by Larry during the review.
  The H5DSis_scale function was updated to return "not a dimension scale" (0) instead of failing (-1), when CLASS or DIMENSION_SCALE attributes are not written according to Dimension Scales Specification (HDFFV-10436).
2020-08-14 07:29:40 -05:00
Elena
c6248cfb69 Addresseda Dana's comments from the pull request. 2020-08-13 19:33:51 -05:00
Quincey Koziol
7524ead1e4 Merge pull request #2744 in HDFFV/hdf5 from remove_unneeded_tagging to develop
* commit 'cb5de74ac26158f6f541eed2e0dddb50d4d197d6':
  Remove redundant calls to set the metadata cache tag
2020-08-13 19:03:55 -05:00
Quincey Koziol
cb5de74ac2 Merge remote-tracking branch 'origin/develop' into remove_unneeded_tagging 2020-08-13 19:03:16 -05:00
Quincey Koziol
4f9542c332 Merge pull request #2739 in HDFFV/hdf5 from namespace_cleanup_01 to develop
* commit '3f46a380e084d83a84783383bdfbbd9a443e9f27':
  Correct typos w/HGOTO_DONE & HGOTO_ERROR
  Move H5T_vlen_reclaim to package scope
  Switch H5VM inline routines back to single underscope and put a comment in their header about this naming
  Clean up private / package / static namespace issues (function naming, which header file, FUNC_ENTER / LEAVE, etc).  Removed remaining personal email addresses from library source code (still needs cleaned from other directories). Misc. warning, style, and whitespace cleanup.
2020-08-13 19:00:56 -05:00
Dana Robinson
8dabc3f67f Merge pull request #2762 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'b806f3e9acad6261438dacecbb11a87bcd644e72':
  Tweak to hide unused threadsafe callback in non-threadsafe builds
2020-08-13 13:43:14 -05:00
Dana Robinson
b806f3e9ac Tweak to hide unused threadsafe callback in non-threadsafe builds 2020-08-13 10:13:18 -07:00
mainzer
3202416936 Merge branch 'develop' into mdc_sl_opt 2020-08-13 11:31:16 -05:00
Allen Byrne
e291fd31fd Merge pull request #2756 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'c5cb9534b27760596bfd0c4cdf1db31fd2bac2a7':
  spelling
  HDFFV-11127 - force RTLD_LOCAL in dlopen
2020-08-13 06:26:08 -05:00
Allen Byrne
c5cb9534b2 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'baf7ebc4ca4eeecb11a607f420a5d5b95169eed5':
  Cleans warnings and cruft from ttsafe_attr_vlen.c
  Fixes Windows issues due to exposed pthread code
2020-08-13 06:25:44 -05:00
Allen Byrne
747fde00fe spelling 2020-08-13 06:22:50 -05:00
Dana Robinson
baf7ebc4ca Merge pull request #2760 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:ttsafe_windows_fix to develop
* commit '04b24163f7f08248a58d256371e088c8cc7816c8':
  Cleans warnings and cruft from ttsafe_attr_vlen.c
  Fixes Windows issues due to exposed pthread code
2020-08-12 21:55:13 -05:00
Dana Robinson
04b24163f7 Cleans warnings and cruft from ttsafe_attr_vlen.c 2020-08-12 15:21:38 -07:00
Dana Robinson
037bad4f72 Fixes Windows issues due to exposed pthread code 2020-08-12 15:07:15 -07:00
Allen Byrne
cecaed97f7 HDFFV-11127 - force RTLD_LOCAL in dlopen 2020-08-12 16:14:44 -05:00
Elena
752411bfda Fixed several typos in the comments found by Larry during the review. 2020-08-12 15:19:41 -05:00
Dana Robinson
7dcd7830ae Merge pull request #2754 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:testhdf5_ref_valgrind to develop
* commit '4f0283db788fc1a0db94e7825567210021b3b594':
  Fixes a size mismatch when copying old-style to new-style references
  Fixes memory leads in trefer.c
2020-08-12 13:54:09 -05:00
Dana Robinson
4f0283db78 Fixes a size mismatch when copying old-style to new-style references 2020-08-12 11:38:04 -07:00
Dana Robinson
ed51c0e302 Fixes memory leads in trefer.c 2020-08-12 09:52:10 -07:00
Quincey Koziol
f2681e36ae Merge remote-tracking branch 'origin/develop' into remove_unneeded_tagging 2020-08-12 11:17:52 -05:00
Quincey Koziol
3f46a380e0 Merge remote-tracking branch 'origin/develop' into namespace_cleanup_01 2020-08-12 11:17:27 -05:00
Elena
69cbfd4f9e Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~epourmal/hdf5_ep into develop 2020-08-12 08:53:45 -05:00
Elena
768f8abb18 The H5DSis_scale function was updated to return "not a dimension scale" (0)
instead of failing (-1), when CLASS or DIMENSION_SCALE attributes are
not written according to Dimension Scales Specification (HDFFV-10436).
2020-08-12 08:40:11 -05:00
Dana Robinson
dca1733238 Merge pull request #2752 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '78c6be05a84f854074a4df2e10c15a56444e4015':
  Fixes the splitter VFD test on Windows.
2020-08-12 08:03:11 -05:00
Dana Robinson
78c6be05a8 Fixes the splitter VFD test on Windows. 2020-08-11 17:46:54 -07:00
Quincey Koziol
4083be1ff2 Merge remote-tracking branch 'origin/develop' into namespace_cleanup_01 2020-08-11 06:36:41 -05:00
Binh-Minh Ribler
1008afc457 Merge pull request #2746 in HDFFV/hdf5 from bmr_HDFFV-10591-2 to develop
Part of HDFFV-10591 fix.

* commit 'f863d4f970c2f54298a69f95bb6a15e710e1ed75':
  Addition to HDFFV-10591
2020-08-10 21:56:57 -05:00
Jordan Henderson
af390794f4 Merge pull request #2655 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '7c3d4402d730789173e413b48951fede5f6932f3':
  Fix issue in H5VL_wrap_register where datatype VOL objects are casted to H5T_t *
2020-08-10 17:36:07 -05:00
Quincey Koziol
c48d1b0ff4 Merge remote-tracking branch 'origin/develop' into remove_unneeded_tagging 2020-08-10 13:15:13 -05:00
Quincey Koziol
98c184e130 Merge remote-tracking branch 'origin/develop' into namespace_cleanup_01 2020-08-10 13:14:02 -05:00
Quincey Koziol
79a2e34f88 Correct typos w/HGOTO_DONE & HGOTO_ERROR 2020-08-10 12:58:20 -05:00
Dana Robinson
c0ff30d239 Merge pull request #2748 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:flock_windows_fix to develop
* commit '0ed65346033e7fbc71634d4911f9761e2ec145b2':
  Fixes flock Windows failure
2020-08-10 11:03:35 -05:00
Binh-Minh Ribler
f863d4f970 Addition to HDFFV-10591
Description
    Added missing parameter description and improved format.
Platforms tested:
    Linux/64 (jelly)
2020-08-09 18:13:42 -05:00
Quincey Koziol
e1a7a1acbe Remove redundant calls to set the metadata cache tag 2020-08-08 08:44:34 -05:00
Dana Robinson
0d69520c70 Merge pull request #2741 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'a975a8d0eb3244d1a08afc80133a12279d1f90e5':
  Removes unsuffixed float warnings
2020-08-07 16:29:30 -05:00
Dana Robinson
0ed6534603 Fixes flock Windows failure 2020-08-07 12:40:04 -07:00
Dana Robinson
a975a8d0eb Removes unsuffixed float warnings
These warnings can only be addressed with gnu extensions.
2020-08-07 11:50:22 -07:00
Quincey Koziol
5f6eec0b20 Move H5T_vlen_reclaim to package scope 2020-08-07 11:08:19 -05:00
Quincey Koziol
a2340cec3b Merge remote-tracking branch 'origin/develop' into namespace_cleanup_01 2020-08-07 10:06:34 -05:00
Dana Robinson
51ab52ad42 Merge pull request #2740 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:code_tidy to develop
* commit '5ce2a178043d9749d30076a2e62249d9998c40ec':
  Removes staff email addresses from the repository Removes redundant C library headers from hl library
2020-08-07 00:23:53 -05:00
Dana Robinson
5ce2a17804 Removes staff email addresses from the repository
Removes redundant C library headers from hl library
2020-08-06 17:58:07 -07:00
Dana Robinson
72363de1c0 Merge pull request #2730 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:file_locking_squash_2 to develop
* commit '47ad0ac7237b464e939fe54dd129a151944d9706':
  Renames BEST-EFFORT to BEST_EFFORT for file locking env var
  Updated the file locking Fortran property list wrappers and added a test.
  Fixed missing parens in VFDs
  Minor change to header comments in file locking C++ changes.
  Squash merge of file locking fixes
2020-08-06 18:31:41 -05:00
Quincey Koziol
8fe3cece3c Switch H5VM inline routines back to single underscope and put a comment in their header about this naming 2020-08-06 17:46:40 -05:00
Dana Robinson
47ad0ac723 Renames BEST-EFFORT to BEST_EFFORT for file locking env var 2020-08-06 15:09:59 -07:00
Dana Robinson
7391f5f26c Merge branch 'develop' into file_locking_squash_2 2020-08-06 15:08:28 -07:00
Quincey Koziol
07e4ef9da4 Clean up private / package / static namespace issues (function naming, which
header file, FUNC_ENTER / LEAVE, etc).  Removed remaining personal email
addresses from library source code (still needs cleaned from other directories).
Misc. warning, style, and whitespace cleanup.
2020-08-06 15:56:04 -05:00
Jerome Soumagne
302dfeb11b Merge pull request #2715 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:fix_vlen_ref to develop
* commit 'ef6db167a86e6c065d46963dbd75cd325fe83813':
  H5R: fix encoding of references that are part of compound types
2020-08-06 14:22:29 -05:00
Dana Robinson
ee274b97f8 Merge pull request #2738 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '91ca481ff152e7a6b0326fcdb59e506141d2d32a':
  Reverts H5FDsplitter.c changes so they don't conflict with Quincey's big cleanup patch
  Fixes -Wnull-dereference warnings around the cache logging calls
  Fixes -Wnull-dereference warning in hl/src/H5DS.c
  Adds -Wnull-dereference to the warnings we ignore in flex/bison generated code (that we have no control over).
  Fixes warnings in the splitter VFD and tests
2020-08-06 14:11:16 -05:00
Dana Robinson
91ca481ff1 Reverts H5FDsplitter.c changes so they don't conflict with Quincey's
big cleanup patch
2020-08-06 08:41:27 -07:00
Dana Robinson
bd6f3bcdab Fixes -Wnull-dereference warnings around the cache logging calls 2020-08-05 23:14:40 -07:00
Dana Robinson
b1c78579da Fixes -Wnull-dereference warning in hl/src/H5DS.c 2020-08-05 22:56:15 -07:00
Dana Robinson
e327843f7a Adds -Wnull-dereference to the warnings we ignore in flex/bison
generated code (that we have no control over).
2020-08-05 22:51:34 -07:00
Dana Robinson
8e7f3e38a7 Fixes warnings in the splitter VFD and tests 2020-08-05 22:13:38 -07:00
Dana Robinson
482ade4657 Merge pull request #2737 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '65e92e1d56dd2e04ebe7b7713fee9e9e38cd8849':
  Warning fixes in tools and h5test.c
2020-08-05 21:35:41 -05:00
Dana Robinson
65e92e1d56 Warning fixes in tools and h5test.c 2020-08-05 17:15:57 -07:00
mainzer
33f35183cb When flushing, the metadata cache attempts to flush entries in increasing
address order.  To facilitate this, the metadata cache needs a list of
of dirty entries in increasing address order.  This is implemented via a
skip list of all dirty entries in the cache.

To date this skip list has been maintained at all times.

However, profiling indicates that we can avoid significant overhead by
constructing the skip list of dirty entries just before a flush, taking
it down afterwareds, and not maintaining it during normal operation.

This commit implements this optimization for both serial and parallel.

Tested serial and parallel, debug and production on charis and jelly.
2020-08-05 15:39:49 -05:00
Jordan Henderson
7c3d4402d7 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f59bb712dec221a076728b6c582818bcf814d71a': (55 commits)
  Fixes indenting in tools test scripts
  Minor normalizations with 1.12 branch
  Fixed bad parens in H5trace.c
  Minor normalizations with hdf5_1_10
  Mingw copy disabled
  Warnings reduction in tools
  Correct reference file
  Correct h5diff filenames
  Fixed typos in error messages.
  Updated the Java tests to deal with H5Sset_extent_none changes
  Fixed additional typos in tselect.c comments.
  Fixes typo in tselect.c
  Updates H5Sset_extent_none() to set H5S_NULL
  Only one line needed to compare
  Revert err file
  Minor normalization with 1.10 branch
  Fix HDFFV-11120 and HDFFV-11121 (CVE-2018-13870 and CVE-2018-13869)
  revert error-stack enable
  Minor normalization with 1.10.
  Add release notes for tools
  ...
2020-08-04 20:43:37 -05:00
Dana Robinson
f59bb712de Merge pull request #2733 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'be02566f49f953bc80c5b5018871138e201ea633':
  Fixes indenting in tools test scripts
2020-08-04 12:12:45 -05:00
Dana Robinson
be02566f49 Fixes indenting in tools test scripts 2020-08-04 09:14:36 -07:00
Dana Robinson
b2c90cc84e Updated the file locking Fortran property list wrappers and added
a test.
2020-08-03 18:43:19 -07:00
Dana Robinson
bd685b0e80 Fixed missing parens in VFDs 2020-08-03 15:47:46 -07:00
Dana Robinson
6e71992502 Minor change to header comments in file locking C++ changes. 2020-08-03 09:35:17 -07:00
Dana Robinson
bc1bed2c55 Squash merge of file locking fixes 2020-08-03 09:11:27 -07:00
Dana Robinson
33c0016eb6 Merge pull request #2727 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'b9de162eae800a9459f0f1f07d2b043f73f8a907':
  Minor normalizations with 1.12 branch
  Fixed bad parens in H5trace.c
2020-08-02 18:22:54 -05:00
Dana Robinson
b9de162eae Minor normalizations with 1.12 branch 2020-08-01 10:26:22 -07:00
Dana Robinson
4486905131 Merge branch 'develop' into develop_minor 2020-08-01 10:26:11 -07:00
Dana Robinson
66ce984dee Merge pull request #2723 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '08dca47475f41e93348cf0c2ea708e787c232014':
  Minor normalizations with hdf5_1_10
2020-08-01 11:36:59 -05:00
Dana Robinson
64ffb37ff6 Fixed bad parens in H5trace.c 2020-07-31 12:23:57 -07:00
Dana Robinson
08dca47475 Minor normalizations with hdf5_1_10 2020-07-31 11:40:29 -07:00
Allen Byrne
5007f82225 Merge pull request #2722 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'fc57490e02835ddfce644135e93e893f77b379d3':
  Mingw copy disabled
2020-07-31 13:26:17 -05:00
Allen Byrne
fc57490e02 Mingw copy disabled 2020-07-31 07:50:11 -05:00
Dana Robinson
50f404c887 Merge pull request #2720 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'c8ba30d965f0342e5725a11cb562dfb22c8a8d24':
  Minor normalization with 1.10 branch
2020-07-30 20:16:17 -05:00
Dana Robinson
c8ba30d965 Merge branch 'develop' into develop_minor 2020-07-30 15:23:54 -07:00
Allen Byrne
88aa0d5c76 Merge pull request #2718 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ff4a9d0ec2e85cf15f769006e92e756a79869ab8':
  Warnings reduction in tools
2020-07-30 11:46:39 -05:00
Allen Byrne
ff4a9d0ec2 Warnings reduction in tools 2020-07-30 11:26:14 -05:00
Allen Byrne
2ece66e999 Merge pull request #2716 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6a1cf090c6a2f970084c714a2f75a31d68a0a6a8':
  Correct reference file
  Correct h5diff filenames
2020-07-29 15:40:05 -05:00
Allen Byrne
6a1cf090c6 Correct reference file 2020-07-29 12:56:03 -05:00
Allen Byrne
1f7fa50137 Correct h5diff filenames 2020-07-29 08:24:30 -05:00
Binh-Minh Ribler
cf4e78b3c9 Merge pull request #2711 in HDFFV/hdf5 from bmr-HDFFV-11120 to develop
Fix HDFFV-11120 and HDFFV-11121 (CVE-2018-13870 and CVE-2018-13869)

* commit '707e30c6be1954c0027374124207e46caae68cbc':
  Fixed typos in error messages.
  Fix HDFFV-11120 and HDFFV-11121 (CVE-2018-13870 and CVE-2018-13869)
2020-07-28 19:08:19 -05:00
Jerome Soumagne
ef6db167a8 H5R: fix encoding of references that are part of compound types
Add corresponding test and some debug information
2020-07-28 16:36:19 -05:00
Binh-Minh Ribler
707e30c6be Fixed typos in error messages. 2020-07-28 12:20:13 -05:00
Dana Robinson
b201a78b33 Merge pull request #2714 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:h5s_set_extent_none to develop
* commit 'e4603ff8a171e82de6373ba6eddcf59d5eeab5aa':
  Updated the Java tests to deal with H5Sset_extent_none changes
  Fixed additional typos in tselect.c comments.
  Fixes typo in tselect.c
  Updates H5Sset_extent_none() to set H5S_NULL
2020-07-28 11:29:04 -05:00
Dana Robinson
e4603ff8a1 Updated the Java tests to deal with H5Sset_extent_none changes 2020-07-28 08:28:38 -07:00
Allen Byrne
10e59f6ba4 Merge pull request #2697 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '5857bb817019b8513f796c9564de3f1845f9a44a':
  Only one line needed to compare
  Revert err file
  revert error-stack enable
  Add release notes for tools
  add test file ext
  Correct file name in test
  Tools refactor
2020-07-28 07:13:18 -05:00
Dana Robinson
c78326eb92 Fixed additional typos in tselect.c comments. 2020-07-27 17:40:25 -07:00
Dana Robinson
dbba42c306 Fixes typo in tselect.c 2020-07-27 17:38:41 -07:00
Dana Robinson
91f5320ff0 Updates H5Sset_extent_none() to set H5S_NULL
The API call used to set the internal H5S_NO_CLASS value which
produced errors when such a dataspace was passed to many other API
calls.

Fixes HDFFV-11027
2020-07-27 17:32:01 -07:00
Allen Byrne
5857bb8170 Only one line needed to compare 2020-07-27 16:15:50 -05:00
Allen Byrne
799f2891c2 Revert err file 2020-07-27 15:47:10 -05:00
Dana Robinson
6e740457cc Minor normalization with 1.10 branch 2020-07-27 11:09:05 -07:00
Binh-Minh Ribler
303be6d7de Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into bmr-HDFFV-11120 2020-07-22 16:15:47 -05:00
Binh-Minh Ribler
88e458ac43 Fix HDFFV-11120 and HDFFV-11121 (CVE-2018-13870 and CVE-2018-13869)
Description:
    When a buffer overflow occurred because a name length was corrupted
    and became very large, h5dump produced a segfault on one file and a
    memcpy parameter overlap on another file.  This commit added checks
    that detect a read pass the end of the buffer to prevent these error
    conditions.
Platforms tested:
    Linux/64 (jelly)
    SunOS 5.11 (emu)
2020-07-22 16:13:26 -05:00
Allen Byrne
e0b86594c2 revert error-stack enable 2020-07-20 16:46:49 -05:00
Allen Byrne
c0bc9d0e60 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '74e09473c825610d203565e5ed9deb156256d6ea':
  Minor normalization with 1.10.
2020-07-20 14:08:55 -05:00
Dana Robinson
74e09473c8 Merge pull request #2703 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '242459231b40a88741cbc85df4272914b5d8bed3':
  Minor normalization with 1.10.
2020-07-20 14:04:41 -05:00
Dana Robinson
242459231b Minor normalization with 1.10. 2020-07-20 11:50:10 -07:00
Allen Byrne
bae8107621 Add release notes for tools 2020-07-20 10:26:17 -05:00
Allen Byrne
a498b4ee79 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '9d3ea366d4bf3278e8260f4d5cdcc88cb4b61c56':
  Update MANIFEST. Add new test to Cmake.
  Fix for jira issue HDFFV-11080: (1) Patch up the file pointer when reading attribute of variable length datatype (2) Test to verify the fix when doing multiple threads
2020-07-17 14:39:25 -05:00
Vailin Choi
9d3ea366d4 Merge pull request #2693 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-11080-heap-use-after-free-by-the-call to develop
* commit '3023b34272cc6ada84aebfa7441a6a55afa3621c':
  Update MANIFEST. Add new test to Cmake.
  Fix for jira issue HDFFV-11080: (1) Patch up the file pointer when reading attribute of variable length datatype (2) Test to verify the fix when doing multiple threads
2020-07-17 14:27:12 -05:00
Allen Byrne
a2f2887675 add test file ext 2020-07-17 13:22:26 -05:00
Allen Byrne
93c3d7b2f3 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e36047b9b9839d1fd0b4009b7066b8b50b95bc6d':
  Minor normalization with 1.10
2020-07-17 10:40:49 -05:00
Dana Robinson
e36047b9b9 Merge pull request #2700 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '6388a6750ff1dc476b8631d26cd1742730df9fe8':
  Minor normalization with 1.10
2020-07-17 10:23:24 -05:00
Dana Robinson
6388a6750f Minor normalization with 1.10 2020-07-17 05:17:48 -07:00
vchoi
3023b34272 Update MANIFEST.
Add new test to Cmake.
2020-07-16 16:40:11 -05:00
Allen Byrne
247e2dc546 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '58d37c2295044ad1a201d6671cdd67ae380b84f8':
  H5R: fix type conversion of references within vlen type
2020-07-16 08:57:28 -05:00
Allen Byrne
e5145030a4 Correct file name in test 2020-07-16 08:31:48 -05:00
Jerome Soumagne
58d37c2295 Merge pull request #2694 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:fix_vlen_ref to develop
* commit 'aa9d2bd9bcce7a1a53c9d9cf519df5401041bb74':
  H5R: fix type conversion of references within vlen type
2020-07-15 21:02:14 -05:00
Jerome Soumagne
aa9d2bd9bc H5R: fix type conversion of references within vlen type
Update trefer.c with vlen test case
2020-07-15 21:00:36 -05:00
Allen Byrne
bac0fc6309 Tools refactor
Move error_stack setup to tools library
Add structure for h5dump properties
Eliminate duplicated h5diff functions
Use properties structure in place of argument lists.
2020-07-15 11:20:16 -05:00
Allen Byrne
900e75544e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '806f5b5b2a280072f62f58c48e93acdc84f2b3ae':
  Removed POSIX #defines from configure on Solaris.
  Fallback to older time functions in new timer code.
2020-07-14 12:02:43 -05:00
Dana Robinson
806f5b5b2a Merge pull request #2692 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'b8013380792a3503003f0a2bd60d7541656b03c7':
  Removed POSIX #defines from configure on Solaris.
  Fallback to older time functions in new timer code.
2020-07-14 11:46:33 -05:00
vchoi
4bc49d8b2b Fix for jira issue HDFFV-11080:
(1) Patch up the file pointer when reading attribute of variable length datatype
(2) Test to verify the fix when doing multiple threads
2020-07-14 10:56:33 -05:00
Dana Robinson
b801338079 Removed POSIX #defines from configure on Solaris. 2020-07-14 07:49:00 -05:00
Dana Robinson
4305d9677b Fallback to older time functions in new timer code. 2020-07-14 05:01:22 -07:00
Allen Byrne
9224c7abaa Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b480d0a38b1e265c55c74262bf384d255a33e07b':
  Remove path to szip header file from AM_CPPFLAGS when configure check of libsz fails. Fix for HDFFV-10830.
  HDFFV-11116 Add option for install location of Fortran MOD files
2020-07-11 12:53:11 -05:00
Larry Knox
b480d0a38b Merge pull request #2686 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '800f93f7c994f88dfa716746153ded4b1e690e3a':
  Remove path to szip header file from AM_CPPFLAGS when configure check of libsz fails. Fix for HDFFV-10830.
2020-07-11 08:07:10 -05:00
Allen Byrne
e3f5f59a61 Merge pull request #2684 in HDFFV/hdf5 from ~BYRN/hdf5_adb:feature/HDFFV-11116-trilabs-mod-location to develop
* commit '07a52ecb2ffa1d8d32f06db23470833899db3deb':
  HDFFV-11116 Add option for install location of Fortran MOD files
2020-07-11 07:10:31 -05:00
Larry Knox
800f93f7c9 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2020-07-10 13:44:08 -05:00
Larry Knox
0f3fd8d53d Remove path to szip header file from AM_CPPFLAGS when configure check of libsz fails.
Fix for HDFFV-10830.
2020-07-10 13:39:59 -05:00
Allen Byrne
b63c9e81dd Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f5da9b1befeb81aa9f4d97df3ec606f801807420':
  Minor changes from normalization with 1.10
2020-07-09 16:14:34 -05:00
Dana Robinson
f5da9b1bef Merge pull request #2683 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_normalization to develop
* commit '127d1cfdf06e9c1cd264595c496a063848358a0a':
  Minor changes from normalization with 1.10
2020-07-09 15:50:43 -05:00
Allen Byrne
07a52ecb2f HDFFV-11116 Add option for install location of Fortran MOD files 2020-07-09 13:03:58 -05:00
Dana Robinson
127d1cfdf0 Minor changes from normalization with 1.10 2020-07-09 08:34:01 -07:00
Allen Byrne
4b12244091 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '188c43b8ee78d830c22f30fb9adb802e46722fcd':
  Change load path in libhdf5_java.dylib to unversioned libhdf5.dylib for junit tests on Macs.
  Fixes Autotools builds on Solaris after monotonic timer changes
2020-07-08 07:16:03 -05:00
Dana Robinson
188c43b8ee Merge pull request #2680 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'd9105b2fcf04f36ea348bf9726a49c05cacc0b78':
  Fixes Autotools builds on Solaris after monotonic timer changes
2020-07-07 16:38:47 -05:00
Larry Knox
c5af29321b Merge pull request #2677 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'da607fe4638c9cc08f717fbe65e799c1676c17ff':
  Change load path in libhdf5_java.dylib to unversioned libhdf5.dylib for junit tests on Macs.
2020-07-07 16:27:45 -05:00
Larry Knox
da607fe463 Change load path in libhdf5_java.dylib to unversioned libhdf5.dylib for
junit tests on Macs.
2020-07-07 10:52:58 -05:00
Dana Robinson
d9105b2fcf Fixes Autotools builds on Solaris after monotonic timer changes
clock_gettime() wasn't being found, so some configure changes
were needed to set an appropriate POSIX level and use a C99
compiler. This required several compiler flag changes.

Autotools only
2020-07-06 19:22:26 -05:00
Allen Byrne
c80d6fe451 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd52b27ad1d8142945a92310b79ab79171e76a3c3':
  Address CMake and deprecated API build failures from monotonic timer patch.
2020-07-03 13:56:43 -05:00
Quincey Koziol
d52b27ad1d Merge pull request #2673 in HDFFV/hdf5 from monotonic_timer_fix_01 to develop
* commit '13c9b3768e6193db89d06faf59194b77d7747f45':
  Address CMake and deprecated API build failures from monotonic timer patch.
2020-07-03 11:58:55 -05:00
Quincey Koziol
13c9b3768e Address CMake and deprecated API build failures from monotonic timer patch. 2020-07-03 11:28:12 -05:00
Allen Byrne
6b66c969f5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7443e5d53d1c6f15e095de7c44bcc3a5a46d9cf7':
  Add missing '"'.
2020-07-03 09:36:16 -05:00
Larry Knox
7443e5d53d Merge pull request #2672 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '870e3ba3f45e90a43ea824d67cc8562aa63a3f6f':
  Add missing '"'.
2020-07-02 18:49:36 -05:00
Larry Knox
870e3ba3f4 Add missing '"'. 2020-07-02 18:20:36 -05:00
Allen Byrne
5356fb1687 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '4c2071bfd3270dc3a688914b4a058147b94b7023':
  Lib files needed are now copied to a subdirectory in the java/test directory, and on Macs the loader path for libhdf5.xxxs.so is changed in the temporary copy of libhdf5_java.dylib. Fix for HDFFV-11063
2020-07-02 14:47:13 -05:00
Allen Byrne
4c2071bfd3 Merge pull request #2671 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '88e8597cdef826c1087e4ec1383657a91dcb2a43':
  Small changes discovered with mingw and windows defines moved
2020-07-02 14:46:43 -05:00
Larry Knox
68d6981156 Merge pull request #2670 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'fc69de0e8ae30e80c1c3c542b156226a75444525':
  Lib files needed are now copied to a subdirectory in the java/test directory, and on Macs the loader path for libhdf5.xxxs.so is changed in the temporary copy of libhdf5_java.dylib. Fix for HDFFV-11063
2020-07-02 14:14:53 -05:00
Allen Byrne
88e8597cde Small changes discovered with mingw and windows defines moved 2020-07-02 13:52:03 -05:00
Larry Knox
fc69de0e8a Lib files needed are now copied to a subdirectory in the java/test
directory, and on Macs the loader path for libhdf5.xxxs.so is changed
in the temporary copy of libhdf5_java.dylib.
Fix for HDFFV-11063
2020-07-02 11:29:12 -05:00
Quincey Koziol
d05b58b5d4 Merge pull request #2668 in HDFFV/hdf5 from monotonic_timer to develop
* commit '7371c83f9777b34b31909e99e052398b93c31bed':
  Remove non-existent example
  Add new source files to CMake build
  Clean up warnings
  va_arg -> HDva_arg
  Refactor code to remove remaining checks for H5_HAVE_GETTIMEOFDAY scattered around in various places.  Also clean up iopipe.c.
  Correct mistake in H5_now_usec calculation for clock_gettime.
  Remove detection for mach/mach/time.h, since we're no longer using the time routines from that header.
  Update H5_now_usec to prefer using clock_gettime.
  Changes to make timers within the library monotonic.
2020-07-02 10:36:44 -05:00
Jake Smith
7cbb5fe2d1 Merge pull request #2669 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:bugfix/HDftell_macro_typo to develop
* commit 'ef05e68c38d2086c6f262744b4087f65a6e58957':
  Fix typo in HDftell macro definition: 'ftello -> ftell'
2020-06-30 13:36:01 -05:00
Quincey Koziol
7371c83f97 Remove non-existent example 2020-06-30 08:53:17 -05:00
Quincey Koziol
c005b8f52b Merge remote-tracking branch 'origin/develop' into monotonic_timer 2020-06-30 08:52:49 -05:00
Binh-Minh Ribler
267ff9065b Merge pull request #2609 in HDFFV/hdf5 from ~BMRIBLER/hdf5-bmr:develop to develop
Fix HDFFV-11053 (CVE-2020-10810)

* commit 'b155a777629e991374fa2f8609719cb861de4cc2':
  Changed wording in comment.
  - added comment to explain a kluge - added the associated entry to release notes
  Fix HDFFV-11053
2020-06-30 01:04:24 -05:00
Binh-Minh Ribler
b155a77762 Changed wording in comment. 2020-06-30 00:57:46 -05:00
Larry Knox
23cc4ce636 Merge pull request #2667 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '32c483cb86031962a09ecdb49dcb331d28dddee9':
  Copy lib files for junit.sh to temporary subdirectory of <build directory>/java/test instead of to the prefix/lib directory.  Fix for HDFFV-11063.
2020-06-29 21:18:27 -05:00
Binh-Minh Ribler
7c006fd761 - added comment to explain a kluge
- added the associated entry to release notes
2020-06-29 14:16:35 -05:00
Jacob Smith
ef05e68c38 Fix typo in HDftell macro definition: 'ftello -> ftell' 2020-06-29 12:09:07 -05:00
Binh-Minh Ribler
785a1cef0c Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '30776671fb0a27a98b0640aa968f850241a862ce': (31 commits)
  * Fix intermittent error with Splitter VFD.     Mismatch in time of test file creation was creating false negatives.
  Added note for HDFFV-10591.
  Fix HDFFV-10591
  Reduce overhead for H5open, which is involved in the public symbols like H5T_NATIVE_INT, etc.
  Remove unnecessary version conditions for Clang compilers.
  Fix for HDFFV-10961: Couple changes to the tests' usage output files for h5clear.
  Fix for HDFFV-10961: add description to usage for --increment option.
  Add c++ to --enable-sanitize-checks option.
  Remove duplicate entries in MANIFEST.
  Make changes to CMake CompilerFlags.cmake files so extra flags are loaded for non-GNU compilers.
  Fix MANIFEST
  Add tests for all version to H5_NO_DEPRECATED_SYMBOLS section and to section for current version, with and without default API version flags.
  HDFFV-11000:  update-testh5cc.sh.in to test sample versioned functions in HDF5 1.10, 1.12 and develop.
  Remember the info for the last ID looked up for a given ID type.
  Eliminate allocating file & memory offset & length arrays when performing I/O on a single element.
  Update new clang files to not pick up clang as vendor for pgCC. Add new files to MANIFEST Temporary demotion of 2 -Werror warning flags that fail on macos 10.12 Remove Production flag unknown to Apple clang.
  Remove redundant metadata cache tagging from some low-level internal chunk functions.  The metadata cache tagging has already been done by routines further up the call stack.
  Clean up code to get clang version in config/linux-gnulibc1
  Minor normalizations with HDF5 1.10.
  Add flags from config/clang-warnings/*general files to H5 C and CXX flags for all versions of Clang and Clang++ compilers. Switched from cut to awk in testcheck_version.sh.in to avoid dependence on tab vs. " " in version definitions in H5public.h.
  ...
2020-06-29 11:53:55 -05:00
Quincey Koziol
c5258211e7 Add new source files to CMake build 2020-06-27 22:14:52 -05:00
Quincey Koziol
71b601d0d3 Clean up warnings 2020-06-27 20:02:51 -05:00
Larry Knox
32c483cb86 Copy lib files for junit.sh to temporary subdirectory of <build
directory>/java/test instead of to the prefix/lib directory.  Fix for
HDFFV-11063.
2020-06-27 15:39:53 -05:00
Quincey Koziol
ee4eb09b5f va_arg -> HDva_arg 2020-06-27 13:44:24 -05:00
Quincey Koziol
ce50e34c58 Merge remote-tracking branch 'origin/develop' into monotonic_timer 2020-06-27 09:49:49 -05:00
Quincey Koziol
7bdab523b3 Refactor code to remove remaining checks for H5_HAVE_GETTIMEOFDAY scattered around in various places. Also clean up iopipe.c. 2020-06-27 09:47:55 -05:00
Quincey Koziol
e767f44e95 Merge remote-tracking branch 'origin/develop' into monotonic_timer 2020-06-26 18:57:38 -05:00
Jake Smith
30776671fb Merge pull request #2665 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:bugfix/splitter_file_bytes_check to develop
* commit 'e1215177b6b87887233a90992a0264f11d78b88c':
  * Fix intermittent error with Splitter VFD.     Mismatch in time of test file creation was creating false negatives.
2020-06-26 11:00:10 -05:00
Jacob Smith
e1215177b6 * Fix intermittent error with Splitter VFD.
Mismatch in time of test file creation was creating false negatives.

    Add file-duplication routine: `h5_duplicate_file_by_bytes()`.

* Change library calls in `h5test.c:h5_compare_file_bytes()` to their HD-prefixed equivalents.
2020-06-25 12:24:05 -05:00
Binh-Minh Ribler
a08ab621fe Merge pull request #2654 in HDFFV/hdf5 from bmr_HDFFV-10591 to develop
Fixed HDFFV-10591

* commit '7d58d115079d286a566207c529e59bbccc952b03':
  Added note for HDFFV-10591.
  Fix HDFFV-10591
2020-06-21 22:48:21 -05:00
Binh-Minh Ribler
7d58d11507 Added note for HDFFV-10591. 2020-06-19 16:08:37 -05:00
Jordan Henderson
ee6f7d1c96 Fix issue in H5VL_wrap_register where datatype VOL objects are casted to H5T_t * 2020-06-19 12:14:10 -05:00
Binh-Minh Ribler
c12da4884f Fix HDFFV-10591
Description:
    h52gif produced a segfault when a buffer overflow occurred because
    the data size was corrupted and became very large.  This commit added
    a check on the data size against the buffer size to prevent the segfault.
    It also added error reporting to h52gif to display an error message
    instead of silently exiting when the failure occurred.
Platforms tested:
    Linux/64 (jelly)
    SunOS 5.11 (emu)
2020-06-19 10:53:32 -05:00
Quincey Koziol
6ffe9af32f Merge pull request #2648 in HDFFV/hdf5 from opt_h5open_overhead to develop
* commit '49fad72f3e003e1e2d7d72edd9b7ec47c802d9f1':
  Reduce overhead for H5open, which is involved in the public symbols like H5T_NATIVE_INT, etc.
2020-06-18 15:19:24 -05:00
Quincey Koziol
49fad72f3e Reduce overhead for H5open, which is involved in the public symbols like H5T_NATIVE_INT, etc. 2020-06-16 12:30:08 -05:00
David Young
d20000ec51 Merge pull request #2610 in HDFFV/hdf5 from ~DYOUNG/werror:hdffv-11060-examples-destdir to develop
* commit '4cebd8aa6c965fe2e5dde6dbff36b2be3ca58bf1':
  Make examples installation respect DESTDIR.   Fixes HDFFV-11060.
2020-06-16 08:59:55 -05:00
Jake Smith
b718bf567f Merge pull request #2615 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:bugfix/splitter_valgrind_patch to develop
* commit '6462c67b6578e48c1ef6d847be59c0b5e3598a50':
  Patch a few holes in the Splitter VFD implementation.
2020-06-15 14:36:41 -05:00
Larry Knox
70011fbfcb Merge pull request #2646 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '998c6470d78e14228695419c3b514c35ecf3d69e':
  Remove unnecessary version conditions for Clang compilers.
2020-06-12 15:06:39 -05:00
Larry Knox
998c6470d7 Remove unnecessary version conditions for Clang compilers. 2020-06-12 11:54:58 -05:00
Vailin Choi
f295ed1166 Merge pull request #2643 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10961-h5clear-usage-statement-give to develop
* commit '01b632c69ca1c97c2b0e1aaeeab1dd2362b580a6':
  Fix for HDFFV-10961: Couple changes to the tests' usage output files for h5clear.
  Fix for HDFFV-10961: add description to usage for --increment option.
2020-06-11 16:30:42 -05:00
vchoi
01b632c69c Fix for HDFFV-10961:
Couple changes to the tests' usage output files for h5clear.
2020-06-11 14:12:38 -05:00
vchoi
c597bd50d2 Fix for HDFFV-10961: add description to usage for --increment option. 2020-06-11 13:17:35 -05:00
Larry Knox
3650841a0a Merge pull request #2636 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:HDFFV-11000-update-testh5cc.sh.in-for-version to develop
* commit '5c0bd670d6e9919c463fbc05de99e2ba55b0761e':
  Add tests for all version to H5_NO_DEPRECATED_SYMBOLS section and to section for current version, with and without default API version flags.
  HDFFV-11000:  update-testh5cc.sh.in to test sample versioned functions in HDF5 1.10, 1.12 and develop.
2020-06-10 20:15:41 -05:00
Larry Knox
1e6b6b4bc6 Merge pull request #2639 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'a33667faf226f5d8c9633bf537893e8fce1bf1f6':
  Add c++ to --enable-sanitize-checks option.
2020-06-10 18:53:45 -05:00
buildbot
a33667faf2 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2020-06-10 16:53:59 -05:00
buildbot
715055bfdd Add c++ to --enable-sanitize-checks option. 2020-06-10 16:52:46 -05:00
Larry Knox
a56da14860 Merge pull request #2633 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '20eab963899841c9a003baebead8e3bc07d9e127':
  Remove duplicate entries in MANIFEST.
  Make changes to CMake CompilerFlags.cmake files so extra flags are loaded for non-GNU compilers.
  Update new clang files to not pick up clang as vendor for pgCC. Add new files to MANIFEST Temporary demotion of 2 -Werror warning flags that fail on macos 10.12 Remove Production flag unknown to Apple clang.
2020-06-10 15:18:36 -05:00
Larry Knox
20eab96389 Remove duplicate entries in MANIFEST. 2020-06-10 15:17:32 -05:00
Larry Knox
63f1a713cc Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7f0c0134166275c0745e0e65f9d81b4de72d5ce2':
  Fix MANIFEST
  Remember the info for the last ID looked up for a given ID type.
  Eliminate allocating file & memory offset & length arrays when performing I/O on a single element.
  Remove redundant metadata cache tagging from some low-level internal chunk functions.  The metadata cache tagging has already been done by routines further up the call stack.
2020-06-10 15:12:58 -05:00
Dana Robinson
7f0c013416 Merge pull request #2637 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '1e038bf49588d163762965c7a15fb76e3a689ef2':
  Fix MANIFEST
2020-06-10 14:30:21 -05:00
Larry Knox
77efb340a1 Make changes to CMake CompilerFlags.cmake files so extra flags are
loaded for non-GNU compilers.
2020-06-10 14:25:10 -05:00
Dana Robinson
1e038bf495 Fix MANIFEST 2020-06-10 11:40:59 -07:00
Quincey Koziol
02aea018a1 Merge pull request #2635 in HDFFV/hdf5 from cache_last_id_info to develop
* commit '0ef32f07fb9e8fb6063f3318425506047454d6f4':
  Remember the info for the last ID looked up for a given ID type.
2020-06-10 13:32:14 -05:00
Quincey Koziol
030cd9fab5 Merge pull request #2634 in HDFFV/hdf5 from opt_single_selection_io to develop
* commit 'a8a4e9f27b67ae2e22970e42859225adcc2e5cbb':
  Eliminate allocating file & memory offset & length arrays when performing I/O on a single element.
2020-06-10 13:31:30 -05:00
Quincey Koziol
04ed567bd7 Merge pull request #2632 in HDFFV/hdf5 from remove_redundant_chunk_tags to develop
* commit '9e8899c3b47a2041242dc4539ca8b1c5e151a371':
  Remove redundant metadata cache tagging from some low-level internal chunk functions.  The metadata cache tagging has already been done by routines further up the call stack.
2020-06-10 13:31:12 -05:00
Larry Knox
5c0bd670d6 Add tests for all version to H5_NO_DEPRECATED_SYMBOLS section
and to section for current version, with and without default
API version flags.
2020-06-10 09:41:07 -05:00
Larry Knox
e66cec6222 HDFFV-11000: update-testh5cc.sh.in to test sample versioned functions
in HDF5 1.10, 1.12 and develop.
2020-06-09 22:11:25 -05:00
Quincey Koziol
0ef32f07fb Remember the info for the last ID looked up for a given ID type. 2020-06-09 18:38:04 -05:00
Quincey Koziol
a8a4e9f27b Eliminate allocating file & memory offset & length arrays when performing I/O on a single element. 2020-06-09 16:24:48 -05:00
Larry Knox
32c353ed43 Update new clang files to not pick up clang as vendor for pgCC.
Add new files to MANIFEST
Temporary demotion of 2 -Werror warning flags that fail on macos 10.12
Remove Production flag unknown to Apple clang.
2020-06-09 16:12:31 -05:00
Quincey Koziol
9e8899c3b4 Remove redundant metadata cache tagging from some low-level internal chunk functions. The metadata cache tagging has already been done by routines further up the call stack. 2020-06-09 15:48:14 -05:00
Larry Knox
bc51dea95a Merge pull request #2631 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'b942a4d8a3e27317cac50ce37ff5302d477664d8':
  Clean up code to get clang version in config/linux-gnulibc1
2020-06-08 16:24:49 -05:00
Larry Knox
b942a4d8a3 Clean up code to get clang version in config/linux-gnulibc1 2020-06-08 15:52:13 -05:00
Larry Knox
23d887dc22 Merge pull request #2623 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'c7626f79fdee4eee13925e240ef41e61f3367eab':
  Add flags from config/clang-warnings/*general files to H5 C and CXX flags for all versions of Clang and Clang++ compilers. Switched from cut to awk in testcheck_version.sh.in to avoid dependence on tab vs. " " in version definitions in H5public.h.
  Add files for adding warning flags for clang compilers in autotools configure.
2020-06-08 11:42:37 -05:00
Dana Robinson
56ab55be3f Merge pull request #2630 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '87695c999ad7ea348ee6dc03b46b0bd345f7d7df':
  Minor normalizations with HDF5 1.10.
2020-06-08 08:27:52 -05:00
Larry Knox
c7626f79fd Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'aa338c3a87a4544ccb164832422e3e2462a57b88':
  Detect when there's the same-shaped selection of a single block of elements on both selections, but with different selection types (i.e. one selection defined as an 'all' type and the other as a hyperslab or point type), without falling into the generic selection iteration case.
  Normalization of H5T.c with 1.10.
  Normalization of H5D.c with 1.10.
2020-06-07 15:37:38 -05:00
Dana Robinson
87695c999a Minor normalizations with HDF5 1.10. 2020-06-07 03:12:36 -07:00
Larry Knox
de9491e365 Add flags from config/clang-warnings/*general files to H5 C and CXX flags for all versions of Clang and Clang++ compilers.
Switched from cut to awk in testcheck_version.sh.in to avoid dependence
on tab vs. " " in version definitions in H5public.h.
2020-06-06 14:36:44 -05:00
Quincey Koziol
aa338c3a87 Merge pull request #2626 in HDFFV/hdf5 from tiny_shape_same_opt to develop
* commit 'de54cff50c419751e0080b6a732facac43f87ba6':
  Detect when there's the same-shaped selection of a single block of elements on both selections, but with different selection types (i.e. one selection defined as an 'all' type and the other as a hyperslab or point type), without falling into the generic selection iteration case.
2020-06-06 10:06:04 -05:00
Quincey Koziol
de54cff50c Detect when there's the same-shaped selection of a single block of elements on
both selections, but with different selection types (i.e. one selection defined
as an 'all' type and the other as a hyperslab or point type), without falling
into the generic selection iteration case.
2020-06-05 12:36:20 -05:00
Dana Robinson
8a2c6d868b Merge pull request #2625 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'e22d126639e139518e4b5f1ac35a008ec429f698':
  Normalization of H5T.c with 1.10.
  Normalization of H5D.c with 1.10.
2020-06-04 11:26:19 -05:00
Dana Robinson
e22d126639 Normalization of H5T.c with 1.10. 2020-06-03 23:34:16 -07:00
Dana Robinson
a0d9959b43 Normalization of H5D.c with 1.10. 2020-06-03 23:07:14 -07:00
Larry Knox
f7bc306c19 Add files for adding warning flags for clang compilers in autotools
configure.
2020-06-02 15:53:58 -05:00
Quincey Koziol
0b9979f075 Merge pull request #2622 in HDFFV/hdf5 from fix_h5doappend to develop
* commit 'c6b836527f31a731e022083ebe1b9b18f8cdd29a':
  Eliminate unneccesary creation of DXPL
2020-06-02 15:16:46 -05:00
Quincey Koziol
c6b836527f Eliminate unneccesary creation of DXPL 2020-06-02 14:34:00 -05:00
Dana Robinson
1c8b4e9fab Merge pull request #2621 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'cc15d1039af86deb77c9dc9188412ce361599b17':
  Normalizations with 1.10 branch.
2020-06-02 09:57:19 -05:00
Dana Robinson
cc15d1039a Normalizations with 1.10 branch. 2020-06-02 07:33:00 -07:00
Dana Robinson
1007702f87 Merge pull request #2619 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '5f0eed3fdc4fff9b714b5aa3d0d43114a95c0f29':
  Normalization with hdf5_1_10
2020-06-01 15:03:33 -05:00
Dana Robinson
5f0eed3fdc Normalization with hdf5_1_10 2020-06-01 11:37:52 -07:00
Jacob Smith
6462c67b65 Patch a few holes in the Splitter VFD implementation.
* Missing logfile close on driver-open failure.
* Initialize empty string in test/vfd (logfile path in W/O compat check).
2020-05-29 14:27:14 -05:00
Dana Robinson
f745476aa5 Merge pull request #2611 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '6358a2749899948f2cd03d0ce76e5a5e61666a74':
  Minor tweaks to testhdf5 code after normalization with 1.10.
2020-05-28 07:12:07 -05:00
Dana Robinson
6358a27498 Minor tweaks to testhdf5 code after normalization with 1.10. 2020-05-27 17:41:59 -07:00
Dana Robinson
e28216f023 Merge pull request #2608 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '03ab219996e562502e90c508e669141b0e601e54':
  Removed trailing space from Fortran files.
2020-05-26 23:11:18 -05:00
Dana Robinson
03ab219996 Removed trailing space from Fortran files. 2020-05-26 14:01:09 -07:00
Binh-Minh Ribler
7a4d7da14a Fix HDFFV-11053
Description:
    A superblock pointer was set to a temporary structure, as a kluge,
    and meant to be reset back to NULL after the processing was completed.
    However, in the case of failure before the completion, this setting
    caused the superblock pointer to be unpinned twice in the error
    recovery process.  As a result, that generated a segfault in h5clear.
    The fix resets the superblock pointer to NULL after H5F__super_ext_remove_msg
    fails so that h5clear can fail properly.

    Note: After the fix, when built in debug mode, there will be an
    assertion failure with the user's file, which appeared to be corrupted:
H5MM_final_sanity_check: Assertion `0 == H5MM_curr_alloc_bytes_s' failed.

    This did not happen on a good file or on the corrupted file with the
    library built in production mode.  The un-freed memory were allocated
    during error recovery.
Platforms tested:
    Linux/64 (jelly)
2020-05-26 15:39:39 -05:00
David Young
4cebd8aa6c Make examples installation respect DESTDIR. Fixes
HDFFV-11060.
2020-05-26 10:43:20 -05:00
Larry Knox
32f8fed120 Merge pull request #2599 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '60244c54fcf74e6635aadf7badf0bed4dd92a635':
  Update MANIFEST for removal of older warnings files.
2020-05-20 09:26:32 -05:00
Larry Knox
60244c54fc Update MANIFEST for removal of older warnings files. 2020-05-20 09:12:43 -05:00
Larry Knox
8797ae3f3e Merge pull request #2592 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'fcd87d2569ca4d8396c7db4eddb46cab04010abf':
  Revise gnu-*flags and cmake/HDF*CompilerFlags.cmake files to add warning flags for GCC compilers version 4.8 and above. Removed files from gnu-warnings that only apply to versions < 4.8. Consolidated warnings from versions < 4.8 that apply to versions >= 4.8 into the 4.8 warnings files.
2020-05-18 21:59:49 -05:00
Larry Knox
fcd87d2569 Revise gnu-*flags and cmake/HDF*CompilerFlags.cmake files to add warning
flags for GCC compilers version 4.8 and above.
Removed files from gnu-warnings that only apply to versions < 4.8.
Consolidated warnings from versions < 4.8 that apply to versions >= 4.8
into the 4.8 warnings files.
2020-05-18 14:28:51 -05:00
Allen Byrne
820363aa6d Merge pull request #2582 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ad8f45d267a4ffb0696a4e30b590fa11ef68d06f':
  Correct mingw paths
  Correct path for mingw
2020-05-18 06:30:19 -05:00
Allen Byrne
ad8f45d267 Correct mingw paths 2020-05-15 13:21:43 -05:00
Allen Byrne
d14b87bfc8 Correct path for mingw 2020-05-15 13:06:01 -05:00
Dana Robinson
26780517e6 Merge pull request #2573 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'ae07c9ba2429a9c49291bcd9f02c0ce36b0a60ce':
  Replaced a few calls to HDmemcpy with H5MM_memcpy, which does overlap checking.
  Removed HDgets macros since gets was deprecated in C99 and removed in C11 (gets() is not used in our repo).
2020-05-15 11:56:23 -05:00
Dana Robinson
ae07c9ba24 Replaced a few calls to HDmemcpy with H5MM_memcpy, which does overlap
checking.
2020-05-15 06:44:01 -07:00
Dana Robinson
4d012b345c Merge branch 'develop' into develop_minor 2020-05-15 06:34:37 -07:00
Dana Robinson
15f7ab3546 Merge pull request #2574 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:warning_fixes to develop
* commit '55844f79e94d49f7ccc8fff1fa3d80f153bb13ea':
  Misc warning fixes.
2020-05-11 11:31:22 -05:00
Dana Robinson
55844f79e9 Misc warning fixes. 2020-05-10 09:48:30 -07:00
Dana Robinson
ad8f72ca29 Removed HDgets macros since gets was deprecated in C99 and removed
in C11 (gets() is not used in our repo).
2020-05-10 03:33:54 -07:00
Allen Byrne
f7bfa60bf9 Merge pull request #2568 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f82348f80940e6ea197b7913f6357a5bbde3c43d':
  Comment out pull-request action and enable fail fast
  Correct filename
  Change to use alias
  Fix name setting
  OESS-65 fix packaging config files
2020-05-08 16:28:52 -05:00
Allen Byrne
f82348f809 Comment out pull-request action and enable fail fast 2020-05-08 15:32:15 -05:00
Allen Byrne
a5a3a5d9b3 Correct filename 2020-05-08 12:57:44 -05:00
Allen Byrne
9a097529ab Change to use alias 2020-05-08 10:51:07 -05:00
Allen Byrne
8cff990553 Fix name setting 2020-05-08 10:10:49 -05:00
Allen Byrne
aef4c9b02b OESS-65 fix packaging config files 2020-05-08 08:58:22 -05:00
Allen Byrne
96cabf6c59 Merge pull request #2565 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b147797449503e9a166b277fdabffafd5561d718':
  Correct path
2020-05-07 10:02:06 -05:00
Allen Byrne
b147797449 Correct path 2020-05-07 08:50:12 -05:00
Allen Byrne
88a39adaa2 Merge pull request #2561 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'a1ce9b2242774c9ef8f7200dc7e3d9e31fd33676':
  Correct step name
  Correct test
  Add github actions
2020-05-06 11:08:58 -05:00
Allen Byrne
a1ce9b2242 Correct step name 2020-05-06 11:08:12 -05:00
Allen Byrne
c1565d2b57 Correct test 2020-05-06 09:38:59 -05:00
Allen Byrne
521c3f8ff6 Add github actions 2020-05-06 08:10:37 -05:00
Quincey Koziol
9d6b4fd501 Merge pull request #2557 in HDFFV/hdf5 from alloc_0sized_dset_fix to develop
* commit 'deadf2546561caa01537334dbb209e60c28d26c5':
  Align contents of CMake and autotools testfile cleanup lists.
  Avoid allocating a chunk index for datasets with 0-sized dimensions, until the dataset is extended.
2020-05-04 13:13:55 -05:00
Quincey Koziol
deadf25465 Align contents of CMake and autotools testfile cleanup lists. 2020-05-02 20:42:33 -05:00
Quincey Koziol
ac069841f3 Avoid allocating a chunk index for datasets with 0-sized dimensions, until
the dataset is extended.
2020-05-01 17:59:57 -05:00
Dana Robinson
a1435404b5 Merge pull request #2552 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'dc3b8372c7ac63b5b0f00ad94a4f8f32cbb8d391':
  Protected H5Oset_comment() in h5dump test generator. (Assumes environment variable overrides default VOL connector)
2020-04-28 11:05:07 -05:00
Dana Robinson
dc3b8372c7 Protected H5Oset_comment() in h5dump test generator.
(Assumes environment variable overrides default VOL connector)
2020-04-28 04:21:47 -07:00
Jordan Henderson
9e82926bb9 Merge pull request #2551 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '0644921cc207dda2551bf2893e12877b7bc0ec8c':
  Fix memory error in h5dump xml 'escape the string' routine
2020-04-27 19:48:03 -05:00
Jordan Henderson
0644921cc2 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~jhenderson/hdf5 into develop 2020-04-27 18:57:47 -05:00
Jordan Henderson
2442de3389 Fix memory error in h5dump xml 'escape the string' routine 2020-04-27 18:57:36 -05:00
Quincey Koziol
4186e0d5be Merge pull request #2540 in HDFFV/hdf5 from extend_h5debug to develop
* commit '3f3363177d5cc1efc8fcfc70e1feed7a293da2d4':
  Range check # of 'extra' command-line parameters against array size.
  Refactor "extra" command-line arguments, and clean up code so the tool doesn't assert when exiting.
  Extend h5debug to support 3-D datasets for chunks.
2020-04-27 18:48:32 -05:00
Dana Robinson
1a2668e13f Merge pull request #2547 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'bf5e832acc0527050d63f5cb91fe15e040bf7e48':
  Fixed pio_perf const pointers.
2020-04-27 12:16:27 -05:00
Dana Robinson
bf5e832acc Fixed pio_perf const pointers. 2020-04-27 09:58:11 -07:00
Dana Robinson
9a598477c6 Merge pull request #2541 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'c03ee563f46013d22f36a1895664a9ba876558e9':
  Further updates to the tools warnings fixes from code review.
  Updates to tools warning PR from code review.
  Fixes for warnings in the tools code.
2020-04-27 10:51:58 -05:00
Dana Robinson
f3d2304647 Merge pull request #2542 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:warning_fixes to develop
* commit 'c3367e6634d4dee88ff855da08e312f6685c23af':
  Moved -Woverlength-strings to the developer flags.
2020-04-27 10:51:08 -05:00
Dana Robinson
c03ee563f4 Further updates to the tools warnings fixes from code review. 2020-04-27 08:50:27 -07:00
Dana Robinson
c3367e6634 Moved -Woverlength-strings to the developer flags. 2020-04-26 04:22:12 -07:00
Dana Robinson
de3bfa697a Updates to tools warning PR from code review. 2020-04-26 02:54:29 -07:00
Quincey Koziol
3f3363177d Range check # of 'extra' command-line parameters against array size. 2020-04-25 22:52:52 -05:00
Quincey Koziol
c18ed719ec Refactor "extra" command-line arguments, and clean up code so the tool doesn't
assert when exiting.
2020-04-25 20:48:32 -05:00
Dana Robinson
a8676d74d9 Fixes for warnings in the tools code. 2020-04-25 16:49:04 -07:00
Allen Byrne
9c3041b129 Merge pull request #2538 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '64fa9327d008c0c3d17c9489c32d99e0d514f88e':
  Add "override with" to error message
  HDFFV-10576 add Option name to Error Message
2020-04-25 09:19:16 -05:00
Larry Knox
06033d1d39 Merge pull request #2539 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'ae9dc2d5f9016ef279ca9d0ca8ad9c8416e60df9':
  Restrict errors to gcc 4.8 and above.
2020-04-24 22:12:02 -05:00
Quincey Koziol
ed833f1c8d Extend h5debug to support 3-D datasets for chunks. 2020-04-24 21:13:31 -05:00
David Young
536a8b57bc Merge pull request #2537 in HDFFV/hdf5 from ~DYOUNG/werror:fix-werrors to develop
* commit 'd16eb45d536bd13ca3cf1b0bdc76c58d95d13f17':
  For compatibility with non-C99 Visual Studio versions, use "%" PRIuMAX instead of "%ju".
  Fix `test/swmr_sparse_reader.c:118:77: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]` and `test/snapshots-hdf5/current/test/swmr_sparse_reader.c:129:100: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]`.
  Fix `src/H5FDdirect.c:1346:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]`.
2020-04-24 21:09:14 -05:00
David Young
d16eb45d53 For compatibility with non-C99 Visual Studio versions, use "%" PRIuMAX
instead of "%ju".
2020-04-24 18:49:37 -05:00
Allen Byrne
ae9dc2d5f9 Restrict errors to gcc 4.8 and above. 2020-04-24 16:25:51 -05:00
Allen Byrne
64fa9327d0 Add "override with" to error message 2020-04-24 16:23:28 -05:00
Allen Byrne
709464301a HDFFV-10576 add Option name to Error Message 2020-04-24 13:05:58 -05:00
Allen Byrne
e54f5a14d2 Merge pull request #2534 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '7f44915b442b4d65ccf2f78dae3c1f7224658bea':
  Fix NoFilter build
  Remove old szip line
  OESS-65 add option to use AEC library in place of SZip
2020-04-24 11:45:53 -05:00
David Young
737a28dc97 Fix `test/swmr_sparse_reader.c:118:77: error: cast from pointer
to integer of different size [-Werror=pointer-to-int-cast]` and
`test/snapshots-hdf5/current/test/swmr_sparse_reader.c:129:100:
error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]`.
2020-04-24 10:22:28 -05:00
David Young
26e640da7e Fix `src/H5FDdirect.c:1346:5: error: ISO C90 forbids mixed declarations
and code [-Werror=declaration-after-statement]`.
2020-04-24 10:18:15 -05:00
Allen Byrne
7f44915b44 Fix NoFilter build 2020-04-24 07:49:39 -05:00
Allen Byrne
e52b54702d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '8921d12c56960379c7d84584e42bbaf68b30e142':
  TRILAB-244 separate CXX warnings and errors from C
2020-04-23 16:09:45 -05:00
Allen Byrne
8921d12c56 Merge pull request #2533 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'f9a3ae50812a527c7b88a39d7d5b6629aa234a2d':
  TRILAB-244 separate CXX warnings and errors from C
2020-04-23 15:50:31 -05:00
Allen Byrne
f9a3ae5081 TRILAB-244 separate CXX warnings and errors from C 2020-04-23 14:32:29 -05:00
Allen Byrne
79cb6eaf7d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5ea58acf8a2bdf8ca19d4c86d9ef94fbc4ac449f':
  Add missing ')'.
  Add C++ warnings treated as error for autotools builds.
  Move macro ADD_H5_CFLAGS to cmake_ext_mod/HDFMacros.cmake and remove duplicate versions.
  Address PR suggestions and add overlooked GCC compiler version flags.
  Don't add general warnings flags for unsupported old versions of gcc and g++ (older than gcc/g++ 4.2). Correct gnu-cxxflags to determine warnings flags to be added based on C++ compiler version instead of C compiler version.
2020-04-23 13:44:32 -05:00
Larry Knox
5ea58acf8a Merge pull request #2525 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '43424a1392b662a29542bb70014c253162ccfe48':
  Add missing ')'.
  Add C++ warnings treated as error for autotools builds.
  Move macro ADD_H5_CFLAGS to cmake_ext_mod/HDFMacros.cmake and remove duplicate versions.
  Address PR suggestions and add overlooked GCC compiler version flags.
  Don't add general warnings flags for unsupported old versions of gcc and g++ (older than gcc/g++ 4.2). Correct gnu-cxxflags to determine warnings flags to be added based on C++ compiler version instead of C compiler version.
2020-04-23 13:41:34 -05:00
Larry Knox
43424a1392 Add missing ')'. 2020-04-23 13:19:15 -05:00
Larry Knox
de51001fcd Add C++ warnings treated as error for autotools builds. 2020-04-23 13:14:56 -05:00
Allen Byrne
ec569a663a Remove old szip line 2020-04-23 09:36:36 -05:00
Allen Byrne
7eab9000ae Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '1db039d1beee05d7349e153cef4cf642c907cc1e':
  Fixed h5diff command-line parameters to use 1 and 2 instead of src and dst.
  Added VOL command-line options to (p)h5diff, h5ls, h5dump, and h5mkgrp.
2020-04-23 06:46:31 -05:00
Dana Robinson
1db039d1be Merge pull request #2532 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '785bd0975ba13c3033820d0fc809da963fcd54ca':
  Fixed h5diff command-line parameters to use 1 and 2 instead of src and dst.
  Added VOL command-line options to (p)h5diff, h5ls, h5dump, and h5mkgrp.
2020-04-22 19:07:48 -05:00
Dana Robinson
785bd0975b Fixed h5diff command-line parameters to use 1 and 2 instead of src
and dst.
2020-04-22 16:49:52 -07:00
Allen Byrne
16b1ee6899 OESS-65 add option to use AEC library in place of SZip 2020-04-22 11:48:56 -05:00
Larry Knox
d965e53cc0 Move macro ADD_H5_CFLAGS to cmake_ext_mod/HDFMacros.cmake and remove
duplicate versions.
2020-04-22 10:42:32 -05:00
Larry Knox
5a010aace9 Address PR suggestions and add overlooked GCC compiler version flags. 2020-04-22 09:43:15 -05:00
Dana Robinson
8cd9d8349e Added VOL command-line options to (p)h5diff, h5ls, h5dump, and h5mkgrp. 2020-04-21 11:36:10 -07:00
Dana Robinson
729ad25bdf Merge pull request #2530 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'c6097935d5be4c3750b9bf9167783ad28158905b':
  Separated VFD and VOL parameters in tools.
2020-04-21 08:49:15 -05:00
Quincey Koziol
c9a21e932e Merge pull request #2527 in HDFFV/hdf5 from trim_whitespace to develop
* commit '9e5dbf69062d4d2cb40ba8f68edb355477fc9b67':
  Trim trailing whitespace
2020-04-21 08:10:26 -05:00
Dana Robinson
c6097935d5 Separated VFD and VOL parameters in tools. 2020-04-20 17:38:45 -07:00
Quincey Koziol
9e5dbf6906 Trim trailing whitespace 2020-04-20 18:12:00 -05:00
Larry Knox
5c87b06d9d Don't add general warnings flags for unsupported old versions of gcc and
g++ (older than gcc/g++ 4.2).
Correct gnu-cxxflags to determine warnings flags to be added based on
C++ compiler version instead of C compiler version.
2020-04-20 16:03:08 -05:00
Dana Robinson
7ba692badf Merge pull request #2522 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:new_vfd_cleanup to develop
* commit '384693d8e5917011c906cdca901baf1519d0ff87':
  Fixed some minor cmp callback bugs and cleaned warnings.
2020-04-17 11:47:23 -05:00
Dana Robinson
384693d8e5 Fixed some minor cmp callback bugs and cleaned warnings. 2020-04-17 00:46:46 -07:00
Dana Robinson
19bca90648 Merge pull request #2521 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '9ecca22dd1852145810280e8c54aa6b0ab26b604':
  Fixed problems with S3 and HDFS VFDs. * Updated info struct parameter to correct info_string * Fixed Makefile.am where the S3 VFD was listed twice, causing   duplicated symbols errors.
2020-04-16 22:10:47 -05:00
Dana Robinson
9ecca22dd1 Fixed problems with S3 and HDFS VFDs.
* Updated info struct parameter to correct info_string
* Fixed Makefile.am where the S3 VFD was listed twice, causing
  duplicated symbols errors.
2020-04-16 17:07:21 -07:00
Allen Byrne
66842e3347 Merge pull request #2511 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '602e56ea12208cd4a4b23b0f9a3f7a53aceb1b48':
  TRILAB-192 version of std=f2008 special check
2020-04-14 12:45:08 -05:00
Allen Byrne
602e56ea12 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'da565fba7b37c0e6806adab1f59416bb0ac9041e':
  Update h5repack long arguments for id-->value changes.
  Changed identifiers and command-line options from "id" to "value" in tools code to be in agreement with H5VL API terminology.
2020-04-14 12:32:27 -05:00
Dana Robinson
da565fba7b Merge pull request #2510 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '2188e7d731199cac08c6e6150ccd2fb43227ec32':
  Update h5repack long arguments for id-->value changes.
  Changed identifiers and command-line options from "id" to "value" in tools code to be in agreement with H5VL API terminology.
2020-04-14 11:11:58 -05:00
Allen Byrne
e02e86b78d TRILAB-192 version of std=f2008 special check 2020-04-14 08:27:45 -05:00
Dana Robinson
2188e7d731 Update h5repack long arguments for id-->value changes. 2020-04-14 05:16:01 -07:00
Dana Robinson
28d2596f65 Changed identifiers and command-line options from "id" to "value" in tools
code to be in agreement with H5VL API terminology.
2020-04-14 04:31:01 -07:00
Allen Byrne
e9ad3bad4e Merge pull request #2509 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ef70c1695d0cccb4ba379abe3969ac2fec0d4ebe':
  Fix shadowed type
2020-04-13 11:07:53 -05:00
Allen Byrne
ef70c1695d Fix shadowed type 2020-04-13 10:25:44 -05:00
Allen Byrne
4688f0ac07 Merge pull request #2508 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e68848f397eb66ffbec86ab59b7754c48281e0b3':
  TRILAB-192 - cleanup edits and match CMake CXX to autotools
2020-04-13 10:01:31 -05:00
Allen Byrne
e68848f397 TRILAB-192 - cleanup edits and match CMake CXX to autotools 2020-04-13 08:16:57 -05:00
Jake Smith
f1893e9404 Merge pull request #2452 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:feature/vfd_splitter_mirror_a to develop
Add Splitter VFD and Mirror VFD.

* commit '664fc6af47e369152727ff66d68d8532feb0e210':
  Add enable-mirror-vfd flag to configure options.
  Tidying of Mirror VFD.
  Add function header comment for `mirror_writer:run_writer()`.
  Add Splitter VFD to library.
2020-04-11 11:53:41 -05:00
Larry Knox
14ba946283 Merge pull request #2507 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'eedda6eb070c6f6bc58776468b57f4921f06983a':
  Add missing " and update function calls incorrectly named load_gcc_arguments.
2020-04-10 16:32:24 -05:00
Larry Knox
eedda6eb07 Add missing " and update function calls incorrectly named
load_gcc_arguments.
2020-04-10 14:13:26 -05:00
Larry Knox
94e878c281 Merge pull request #2498 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '3ec77a2d9ad8ba42dde93942727c1f4ed83212f6':
  TRILAB-192 update LTparse files
2020-04-09 17:58:52 -05:00
Jordan Henderson
e372c8e648 Merge pull request #2505 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '65a704167c83c3fa8d5cc05e4ac7e032a051151c':
  Fix memory leak in t_span_tree.c test
2020-04-09 15:58:36 -05:00
Jordan Henderson
65a704167c Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~jhenderson/hdf5 into develop 2020-04-09 14:24:02 -05:00
Jordan Henderson
e1508b7695 Fix memory leak in t_span_tree.c test 2020-04-09 14:23:50 -05:00
Dana Robinson
7cf36ea7c3 Merge pull request #2504 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'd86089f583382c0379f446a5e4d552599ed5b3b4':
  Added support for passing connector info strings via the command line to the tools internals.
2020-04-09 11:09:29 -05:00
Dana Robinson
d86089f583 Added support for passing connector info strings via the command
line to the tools internals.
2020-04-09 08:40:41 -07:00
Dana Robinson
0fdbbcfc0b Merge pull request #2502 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '35c0d5cdfcfaa84f59e1c596ba1ccaeb28e3d83d':
  Fix for passthrough VOL not passing tools tests due to incorrect optional callback queries.
2020-04-09 10:30:09 -05:00
Larry Knox
88ff2b6cb8 Merge pull request #2503 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:Wflags_changes_develop_merge to develop
* commit 'fffe3b8dbd90a38296be866bae1c66d90664dd14':
  Update all load_gcc_arguments to load_gnu_arguments. Fixes TRILAB-212.
2020-04-08 22:19:27 -05:00
Larry Knox
fffe3b8dbd Update all load_gcc_arguments to load_gnu_arguments.
Fixes TRILAB-212.
2020-04-08 21:31:29 -05:00
Dana Robinson
35c0d5cdfc Fix for passthrough VOL not passing tools tests due to incorrect
optional callback queries.
2020-04-08 16:44:19 -07:00
Vailin Choi
fcd3bce961 Merge pull request #2496 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/dtype_close_on_error to develop
* commit 'db9155c2f34bbf77a1cda01904805fe5c993b6d5':
  Fix according to PR feedback.
  Fix an error in previous merge: should use NULL instead of FAIL.
2020-04-08 18:33:00 -05:00
Larry Knox
9c0b571149 Merge pull request #2501 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:Wflags_changes_develop_merge to develop
* commit 'e6cd19937b0e5fe5b49f7e88b08f15305e0b5af1':
  Squashed commit of the following:
  Add \d to list of characters allowed after '-' in versions.
2020-04-08 18:13:11 -05:00
Larry Knox
e6cd19937b Squashed commit of the following:
commit 8963c3bf756f8f8ec21beea9bd29a767e77675a8
Author: Larry Knox <lrknox@hdfgroup.org>
Date:   Wed Apr 8 16:52:27 2020 -0500

    Commit changes to gnu-cxxflags to remove unmatched " and to gnu-fflags
    to not add C warnings flags to H5_FCFLAGS.
2020-04-08 17:02:34 -05:00
Jacob Smith
664fc6af47 Add enable-mirror-vfd flag to configure options. 2020-04-08 16:51:38 -05:00
Larry Knox
b35dcaf847 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b27a20f8c0e286ea7c2836605632ea2ee5522d03': (59 commits)
  Hide Frortran directive warnings
  Updated test ddl files so CMake passes after h5dump failures.
  Remove flag from gfort-general in gfort-5, add /EHsc to Win C++
  Update printf pointer syntax and revert fortran to f2003
  Reduce window fortran standard to f90
  Minor updates and fix settings for fortran flags
  Update intel flags
  Narrowed the scope of ISO_C_BINDING with ONLY additions
  Fix missing endif
  Correct improper file move
  Move intel warnings to subfolder, update autotools files
  Corrected note
  Remove overzealous additions
  Correct whitespace in flags, force list mode
  Flag construction must be after compiler detection
  TRILAB-192 add c++ and fortran warnings build systems one file
  Skip testing of passthrough VOL connector in a Family File tools test
  Update release note for CMake warnings
  Restore previous tools library driver name behavior with passthrough VOL connector
  Add missing header include
  ...
2020-04-08 12:45:59 -05:00
Allen Byrne
3ec77a2d9a TRILAB-192 update LTparse files 2020-04-07 17:56:42 -05:00
vchoi
db9155c2f3 Fix according to PR feedback. 2020-04-07 13:17:56 -05:00
Jacob Smith
075e74e9b2 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into feature/vfd_splitter_mirror_a 2020-04-07 10:29:00 -05:00
Jacob Smith
d97c00013d Tidying of Mirror VFD.
* Rename server-stop utility to mirror_server_stop.
* Remove external dependency on bzero().
* Modify test/use_common to use only the public API.
* Rename internal bitswap macro to follow convention.
2020-04-07 10:20:44 -05:00
Allen Byrne
b27a20f8c0 Merge pull request #2489 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f362e14add76bc137c8f9bb8542a697e48900b91':
  Hide Frortran directive warnings
  Remove flag from gfort-general in gfort-5, add /EHsc to Win C++
  Update printf pointer syntax and revert fortran to f2003
  Reduce window fortran standard to f90
  Minor updates and fix settings for fortran flags
  Update intel flags
  Fix missing endif
  Correct improper file move
  Move intel warnings to subfolder, update autotools files
  Corrected note
  Remove overzealous additions
  Correct whitespace in flags, force list mode
  Flag construction must be after compiler detection
  TRILAB-192 add c++ and fortran warnings build systems one file
  Update release note for CMake warnings
  Add missing header include
2020-04-07 09:34:33 -05:00
Allen Byrne
f362e14add Hide Frortran directive warnings 2020-04-07 07:37:49 -05:00
Allen Byrne
61b8018004 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f6514c35ea3786206a8db73e1cad8fce8fe6a715':
  Updated test ddl files so CMake passes after h5dump failures.
  Modifications based on PR review feedback.
  Add two routines gen_ref_files() and gen_sel_files() to generate test files related to references and selections. These test files will be copied to 1.12, 1.10 and 1.8 for compatibility testing.
2020-04-07 07:08:16 -05:00
vchoi
230570b593 Fix an error in previous merge: should use NULL instead of FAIL. 2020-04-06 19:26:49 -05:00
Vailin Choi
b3e966e33d Merge pull request #29 in ~VCHOI/my_third_fork from develop to bugfix/dtype_close_on_error
* commit 'f6514c35ea3786206a8db73e1cad8fce8fe6a715': (48 commits)
  Updated test ddl files so CMake passes after h5dump failures.
  Narrowed the scope of ISO_C_BINDING with ONLY additions
  Skip testing of passthrough VOL connector in a Family File tools test
  Restore previous tools library driver name behavior with passthrough VOL connector
  Updated tools dump output when dataset offset is undefined.
  Fixed unnecessary H5R casts in the tools that were raising warnings.
  Added checks for native optional call support in some of the tools.
  Changed default dataset shared struct to initialize hid_t IDs to H5I_INVALID_HID.
  Correct extra flags
  Modifications based on PR review feedback.
  Minor renaming in the tools code.
  Misc changes for h5dump VOL changes.
  Fix for HDFFV-11065.
  Fix latent bug in h5repack options file reading Add 'enable-error-stack' option to h5format_convert
  TRILAB-192 remove comment
  Minor renaming in h5dump (addr --> token)
  TRILAB-192 add comparable clang flags
  Fix some missing symbols issues in tools library
  A few small tweaks to the tools from review
  Replace usage of some standard library functions with HD- versions
  ...
2020-04-06 18:52:20 -05:00
Dana Robinson
f6514c35ea Merge pull request #2495 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '8e948aa7b717cd7a8dcb12877a4ad61df2a46ebd':
  Updated test ddl files so CMake passes after h5dump failures.
2020-04-06 17:23:42 -05:00
Dana Robinson
8e948aa7b7 Updated test ddl files so CMake passes after h5dump failures. 2020-04-06 15:19:55 -07:00
Vailin Choi
1e52e74ca8 Merge pull request #2472 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/bounds_compat to develop
* commit '3f081c99376ad562dcb6bbf7d6c11216f682aca7':
  Modifications based on PR review feedback.
  Add two routines gen_ref_files() and gen_sel_files() to generate test files related to references and selections. These test files will be copied to 1.12, 1.10 and 1.8 for compatibility testing.
2020-04-06 16:37:47 -05:00
Allen Byrne
e31bb02d38 Remove flag from gfort-general in gfort-5, add /EHsc to Win C++ 2020-04-06 16:12:43 -05:00
Allen Byrne
279ea4f2a2 Update printf pointer syntax and revert fortran to f2003 2020-04-06 15:19:28 -05:00
Allen Byrne
09ec1166d7 Reduce window fortran standard to f90 2020-04-06 14:29:33 -05:00
Allen Byrne
fd18d013f1 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '4830a1796441abbb5a4fbd2cff9a651f2a0d066e':
  Updated tools dump output when dataset offset is undefined.
  Added checks for native optional call support in some of the tools.
  Misc changes for h5dump VOL changes.
2020-04-06 14:13:27 -05:00
Dana Robinson
4830a17964 Merge pull request #2486 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:tools_vol_update to develop
* commit '110cafb9c7b5b9f9170340432062295d630f3ee6':
  Updated tools dump output when dataset offset is undefined.
  Added checks for native optional call support in some of the tools.
  Misc changes for h5dump VOL changes.
2020-04-06 13:53:22 -05:00
Allen Byrne
55299ab2ce Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a09f810e8d372d1e85661c52a7ef735a164904ad':
  Narrowed the scope of ISO_C_BINDING with ONLY additions
2020-04-06 13:36:28 -05:00
Allen Byrne
b4dcee96ce Minor updates and fix settings for fortran flags 2020-04-06 12:17:43 -05:00
Dana Robinson
110cafb9c7 Merge branch 'develop' into tools_vol_update 2020-04-06 09:38:00 -07:00
Scot Breitenfeld
a09f810e8d Merge pull request #2494 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:FortranWarn to develop
* commit '83d29f04c28e150fde5776fba64fbe4fa04f0f25':
  Narrowed the scope of ISO_C_BINDING with ONLY additions
2020-04-06 11:18:39 -05:00
Allen Byrne
a3c57c730c Update intel flags 2020-04-06 10:34:16 -05:00
Scot Breitenfeld
83d29f04c2 Narrowed the scope of ISO_C_BINDING with ONLY additions 2020-04-06 10:04:27 -05:00
Allen Byrne
3247291b1e Fix missing endif 2020-04-06 09:40:22 -05:00
Allen Byrne
f8d8a96eb7 Correct improper file move 2020-04-06 09:38:43 -05:00
Allen Byrne
0d701b9ff8 Move intel warnings to subfolder, update autotools files 2020-04-06 09:35:43 -05:00
Allen Byrne
d0a936ab62 Corrected note 2020-04-06 06:54:27 -05:00
Allen Byrne
2e85f81126 Remove overzealous additions 2020-04-05 16:38:25 -05:00
Allen Byrne
29ad4fcec9 Correct whitespace in flags, force list mode 2020-04-05 15:56:52 -05:00
Allen Byrne
2c2627e7f6 Flag construction must be after compiler detection 2020-04-05 13:38:04 -05:00
Allen Byrne
70495751c0 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5d1590079ea0061a7b86d7210cb796b6d58a17c7':
  Skip testing of passthrough VOL connector in a Family File tools test
  Restore previous tools library driver name behavior with passthrough VOL connector
2020-04-05 11:06:35 -05:00
Allen Byrne
57f5d00a43 TRILAB-192 add c++ and fortran warnings build systems one file 2020-04-05 10:50:08 -05:00
Jordan Henderson
5d1590079e Merge pull request #2490 in HDFFV/hdf5 from tools_vol_update to develop
* commit 'a5a2fb44296327787476407a249d9470b3c80427':
  Skip testing of passthrough VOL connector in a Family File tools test
  Restore previous tools library driver name behavior with passthrough VOL connector
2020-04-03 15:06:08 -05:00
Jordan Henderson
a5a2fb4429 Skip testing of passthrough VOL connector in a Family File tools test 2020-04-03 14:29:10 -05:00
Allen Byrne
7a41367a13 Update release note for CMake warnings 2020-04-03 12:57:56 -05:00
Jordan Henderson
08e77ac6fa Restore previous tools library driver name behavior with passthrough VOL connector 2020-04-03 12:45:22 -05:00
Allen Byrne
b7227657f2 Add missing header include 2020-04-03 08:50:51 -05:00
Allen Byrne
96ea55b95d Merge pull request #2474 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '36b8060323f24341c8f4610108e8ccb955dbe192':
  Correct extra flags
  TRILAB-192 remove comment
  TRILAB-192 add comparable clang flags
2020-04-03 08:49:54 -05:00
Dana Robinson
85b3b9e670 Updated tools dump output when dataset offset is undefined. 2020-04-02 10:25:46 -07:00
Allen Byrne
36b8060323 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ac099b0b6391fd149af4f4fcf8f79189dcc615bb':
  Fixed unnecessary H5R casts in the tools that were raising warnings.
2020-04-02 11:02:37 -05:00
Dana Robinson
ac099b0b63 Merge pull request #2485 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '1c854737665f3f853a324c34292390ab57431fec':
  Fixed unnecessary H5R casts in the tools that were raising warnings.
2020-04-02 11:00:48 -05:00
Allen Byrne
7e06b76c64 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'bae05235a2d87acb0d6b3a2e1c32f3b6f48cf203':
  Changed default dataset shared struct to initialize hid_t IDs to H5I_INVALID_HID.
  A fix in the cleaning up code for datatype when datatype initialization via H5D__init_type() fails. This is triggered by the tests for revised references when the libver bounds setting does not allow version 4 datatype message to be created.  The test failure is abort core dumped. This is due to the datatype initialization fails before the datatype ID is registered. The datatype cleanup code should provide for the above situation. The code to fix the problem is the same as what is done in H5D__open_oid().
  Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
  Follow HDF5 conventions.
2020-04-02 08:25:44 -05:00
Dana Robinson
1c85473766 Fixed unnecessary H5R casts in the tools that were raising warnings. 2020-04-02 03:57:05 -07:00
Dana Robinson
456308ff17 Added checks for native optional call support in some of the tools. 2020-04-02 02:12:19 -07:00
Dana Robinson
3cd1b46b9c Merge branch 'develop' into tools_vol_update 2020-04-01 23:27:08 -07:00
Vailin Choi
bae05235a2 Merge pull request #2461 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/dtype_close_on_error to develop
* commit 'afdcac28b85d690eebc80ab568fa5266081baaaa':
  A fix in the cleaning up code for datatype when datatype initialization via H5D__init_type() fails. This is triggered by the tests for revised references when the libver bounds setting does not allow version 4 datatype message to be created.  The test failure is abort core dumped. This is due to the datatype initialization fails before the datatype ID is registered. The datatype cleanup code should provide for the above situation. The code to fix the problem is the same as what is done in H5D__open_oid().
2020-04-01 22:14:42 -05:00
Dana Robinson
281e8444d8 Merge pull request #2484 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'a267c4e5d37f00bf6cff942b57b5a13affaa8bd5':
  Changed default dataset shared struct to initialize hid_t IDs to H5I_INVALID_HID.
2020-04-01 21:11:51 -05:00
Dana Robinson
a267c4e5d3 Changed default dataset shared struct to initialize hid_t IDs to
H5I_INVALID_HID.
2020-04-01 18:46:07 -07:00
David Young
1547feed60 Merge pull request #2363 in HDFFV/hdf5 from ~DYOUNG/werror:thread_id to develop
* commit '63c95faf49559ea66e3066427961095b69fdb213':
  Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
  Follow HDF5 conventions.
2020-04-01 15:27:51 -05:00
Allen Byrne
196193c18d Correct extra flags 2020-04-01 11:46:26 -05:00
Allen Byrne
abd38c0b85 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '2c494482eb986ce051463e96d12a661c494a9335':
  Minor renaming in the tools code.
2020-03-31 22:23:50 -05:00
vchoi
3f081c9937 Modifications based on PR review feedback. 2020-03-31 19:53:14 -05:00
Dana Robinson
2c494482eb Merge pull request #2483 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'b1533616f28996983ec505fff8f62edf3dd820b3':
  Minor renaming in the tools code.
2020-03-31 19:46:19 -05:00
Dana Robinson
b1533616f2 Minor renaming in the tools code. 2020-03-31 16:58:24 -07:00
Dana Robinson
816a12f04f Merge branch 'develop' into tools_vol_update 2020-03-31 03:43:03 -07:00
Allen Byrne
18db5749dc Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a46f31c2eb436e946639bb32518ce279507fa368':
  Fix for HDFFV-11065.
2020-03-30 11:39:47 -05:00
Gerd Heber
a46f31c2eb Merge pull request #2479 in HDFFV/hdf5 from ~GHEBER/hdf5:bugfix/HDFFV-11065 to develop
* commit '2dfc047bc4aca7c13bccf44da97bff026cbbf5a6':
  Fix for HDFFV-11065.
2020-03-30 11:26:14 -05:00
Allen Byrne
076a981993 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'c20e268979ec623fb159501e382c6cc55a5d665e':
  Fix latent bug in h5repack options file reading Add 'enable-error-stack' option to h5format_convert
2020-03-30 07:23:00 -05:00
Dana Robinson
c36b707578 Merge branch 'tools_vol_update' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into tools_vol_update 2020-03-30 01:52:21 -07:00
Dana Robinson
36e8e2be4b Misc changes for h5dump VOL changes. 2020-03-30 01:51:36 -07:00
Jordan Henderson
c20e268979 Merge pull request #2478 in HDFFV/hdf5 from tools_vol_update to develop
* commit '9676029742f18aaae37dd48947bc1faf23406169':
  Fix latent bug in h5repack options file reading Add 'enable-error-stack' option to h5format_convert
2020-03-29 18:13:58 -05:00
Gerd Heber
2dfc047bc4 Fix for HDFFV-11065. 2020-03-29 16:04:58 -05:00
Jordan Henderson
9676029742 Fix latent bug in h5repack options file reading
Add 'enable-error-stack' option to h5format_convert
2020-03-29 12:37:14 -05:00
Allen Byrne
d2a75d211d TRILAB-192 remove comment 2020-03-29 07:51:35 -05:00
Allen Byrne
93a9b70a8f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e9e3e2f1d67ccf71cc5af711065d1f85761ab5b7':
  Refactor to reduce verbosity.
2020-03-29 07:47:01 -05:00
Quincey Koziol
e9e3e2f1d6 Merge pull request #2471 in HDFFV/hdf5 from alloc_stat_tests to develop
* commit '0eb562bc201a38f9b4a82e954bfc63daa6838d45':
  Refactor to reduce verbosity.
2020-03-28 15:48:55 -05:00
Allen Byrne
c6c9af20bf Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f5cb547825e462c3299b6f41d03a71aa6faef950':
  Minor renaming in h5dump (addr --> token)
2020-03-28 09:35:25 -05:00
Dana Robinson
2a06f94377 Merge pull request #2476 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:tools_vol_update to tools_vol_update
* commit 'f5cb547825e462c3299b6f41d03a71aa6faef950': (29 commits)
  Minor renaming in h5dump (addr --> token)
  Correct macro check
  Add extensive warnings to tools executables
  Reorg comments
  Correct warning flag form
  Because of tools macro, this needs to be a warning
  unused set-variable in macro
  Fix Werror issues in JNI and tools
  TRILAB-192 fix JNI shadow warning
  TRILAB-192 restrict extensive warnings to libraries
  TRILAB-24 use CHECK_STRUCT_HAS_MEMBER
  TRILAB-192 add release note
  TRILAB-192 Identify warnings that fail as errors
  Correct failure when allocation tracking are disabled.
  Update the MANIFEST for the autoconf/cmake shared warnings files.
  Correct syntax
  Update CMake compiler flags to use same set of warnings
  Revise API for H5get_alloc_stats() to take a struct instead of separate values.
  Allow use of INTEL icl/icl++ for clang
  Move the GNU warnings configuration under config/gnu-warnings/ and trim the filename prefixes.  Update config/gnu-flags to suit.
  ...
2020-03-27 20:19:22 -05:00
Dana Robinson
f5cb547825 Merge pull request #2475 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '2dd6075c7a13ba7cbaa922448df4bd5e72c1b5ab':
  Minor renaming in h5dump (addr --> token)
2020-03-27 19:23:58 -05:00
Dana Robinson
2dd6075c7a Minor renaming in h5dump (addr --> token) 2020-03-27 17:17:00 -07:00
Allen Byrne
0da53027d9 TRILAB-192 add comparable clang flags 2020-03-27 17:10:53 -05:00
Allen Byrne
c66ce89383 Merge pull request #2473 in HDFFV/hdf5 from tools_vol_update to develop
* commit 'feb0f521b16b79485c22c86a630a1d91cb680a61':
  Fix some missing symbols issues in tools library
2020-03-27 17:06:23 -05:00
Jordan Henderson
feb0f521b1 Fix some missing symbols issues in tools library 2020-03-27 16:54:05 -05:00
Allen Byrne
bf5ef12d50 Merge pull request #2470 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '07a66822fb1350955150295fcd6d9f53d3b7ee15':
  TRILAB-24 use CHECK_STRUCT_HAS_MEMBER
2020-03-27 15:01:44 -05:00
Allen Byrne
07a66822fb Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd5bbf3d4086d7fa0300325a08a608f1cc7b4ce33':
  A few small tweaks to the tools from review
  Replace usage of some standard library functions with HD- versions
  Update Tools library to be better compatible with VOL connectors
2020-03-27 14:10:05 -05:00
Jordan Henderson
d5bbf3d408 Merge pull request #2469 in HDFFV/hdf5 from tools_vol_update to develop
* commit 'ea952b25ba0fd5c4b5f60a94e75a1b5b78e66172':
  A few small tweaks to the tools from review
  Replace usage of some standard library functions with HD- versions
  Update Tools library to be better compatible with VOL connectors
2020-03-27 13:14:22 -05:00
Jordan Henderson
ea952b25ba A few small tweaks to the tools from review 2020-03-27 10:48:11 -05:00
Jordan Henderson
6d514db55a Replace usage of some standard library functions with HD- versions 2020-03-26 15:26:39 -05:00
vchoi
6740ee1dcd Add two routines gen_ref_files() and gen_sel_files() to generate test files related to
references and selections.
These test files will be copied to 1.12, 1.10 and 1.8 for compatibility testing.
2020-03-26 12:06:04 -05:00
Quincey Koziol
0eb562bc20 Refactor to reduce verbosity. 2020-03-26 11:51:26 -05:00
Allen Byrne
1ded274205 Merge pull request #12 in ~BYRN/hdf5_adb from bugfix/TRILAB-24-check_struct_has_member to develop
* commit 'abbeb0cab2380adf8ffb1f81ef2e88960241a6d3':
  TRILAB-24 use CHECK_STRUCT_HAS_MEMBER
2020-03-26 09:33:37 -05:00
Vailin Choi
f3fa23b742 Merge pull request #28 in ~VCHOI/my_third_fork from develop to bugfix/bounds_compat
* commit '181c6110251d7a9e9cc23e14dfd8f52cdb14422b':
  Correct macro check
2020-03-25 20:47:30 -05:00
Quincey Koziol
181c611025 Merge pull request #2467 in HDFFV/hdf5 from alloc_stats_2 to develop
* commit 'a3e08862c614463d16eb1017303e5fec44518b09':
  Correct macro check
2020-03-25 16:27:24 -05:00
Quincey Koziol
a3e08862c6 Correct macro check 2020-03-25 15:52:11 -05:00
Allen Byrne
1b582c3ce4 Merge pull request #2464 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '27b23c8d52e89e9ce15dc9cb9685be85793a5d82':
  Add extensive warnings to tools executables
  Reorg comments
  Correct warning flag form
  Because of tools macro, this needs to be a warning
  unused set-variable in macro
  Fix Werror issues in JNI and tools
  TRILAB-192 fix JNI shadow warning
  TRILAB-192 restrict extensive warnings to libraries
  TRILAB-192 add release note
  TRILAB-192 Identify warnings that fail as errors
  Correct syntax
  Update CMake compiler flags to use same set of warnings
  Allow use of INTEL icl/icl++ for clang
2020-03-25 11:01:03 -05:00
Allen Byrne
27b23c8d52 Add extensive warnings to tools executables 2020-03-25 10:19:09 -05:00
Allen Byrne
c2cc6fa526 Reorg comments 2020-03-25 08:58:53 -05:00
Allen Byrne
cb02c1414f Correct warning flag form 2020-03-25 08:21:40 -05:00
Allen Byrne
75e01a0e41 Because of tools macro, this needs to be a warning 2020-03-25 08:12:21 -05:00
Allen Byrne
0da6786185 unused set-variable in macro 2020-03-25 07:04:19 -05:00
Allen Byrne
2b8407a3ca Fix Werror issues in JNI and tools 2020-03-24 17:42:58 -05:00
Allen Byrne
0d6adfc610 TRILAB-192 fix JNI shadow warning 2020-03-24 17:03:09 -05:00
Allen Byrne
1505fa1498 TRILAB-192 restrict extensive warnings to libraries 2020-03-24 16:45:12 -05:00
Allen Byrne
abbeb0cab2 TRILAB-24 use CHECK_STRUCT_HAS_MEMBER 2020-03-24 13:21:27 -05:00
Allen Byrne
77bac54352 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '765cd82d2e650e089e11539c10d6be4fbdbad984':
  Correct failure when allocation tracking are disabled.
2020-03-24 13:10:06 -05:00
Quincey Koziol
765cd82d2e Merge pull request #2463 in HDFFV/hdf5 from alloc_stats_fix to develop
* commit '60e446113ff9056806b1c1f80dab058418cdbef7':
  Correct failure when allocation tracking are disabled.
2020-03-24 13:04:50 -05:00
Allen Byrne
807480a4bb TRILAB-192 add release note 2020-03-24 12:46:28 -05:00
Allen Byrne
e235df5288 TRILAB-192 Identify warnings that fail as errors 2020-03-24 12:34:17 -05:00
Allen Byrne
15328ae0ae Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ca64f7e7e9ee028520f6496120b327dfbd0395f2':
  Update the MANIFEST for the autoconf/cmake shared warnings files.
2020-03-24 12:26:26 -05:00
Allen Byrne
ca64f7e7e9 Merge pull request #2462 in HDFFV/hdf5 from ~DYOUNG/werror:gnu-warnings-manifest to develop
* commit '43e5a896975379eb7e363a0bb892a976eb2e15b6':
  Update the MANIFEST for the autoconf/cmake shared warnings files.
2020-03-24 12:25:43 -05:00
Quincey Koziol
60e446113f Correct failure when allocation tracking are disabled. 2020-03-24 12:17:25 -05:00
David Young
43e5a89697 Update the MANIFEST for the autoconf/cmake shared warnings files. 2020-03-24 10:24:51 -05:00
Larry Knox
8890fa3eb5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd3ef866a2963ce93d0b95184534a70849b6fa11d':
  Revise API for H5get_alloc_stats() to take a struct instead of separate values.
  Move the GNU warnings configuration under config/gnu-warnings/ and trim the filename prefixes.  Update config/gnu-flags to suit.
  Fixed the RELEASE.txt note for HDFFV-11057
  Fix shutdown errors when using the HDF5_VOL_CONNECTOR environment variable to set a dynamically loaded plugin as the default VOL connector. Fixes HDFFV-11057
  Fix threadsafe for new test
  Fix issues when deserializing point/all/none selection with version beyond the library's supported version: (1) Verify the decoded version before proceeding further with deserialization (2) Close the dataspace if errors occurred after opening the dataspace
  Very minor comment change in H5VLconnector.h.
  Add routines to query the library's free list sizes and allocation stats.
  By default, demote warnings promoted to errors back to warnings.
  Incorporate the H5_ECFLAGS into the library CFLAGS.  Now a bunch of errors will occur.  Next commit will demote the warnings promoted to errors back to warnings again.
  Break out warnings into more files that autoconf and CMake can share.  This change temporarily disables the warnings that were promoted to errors, but I will add those warnings back as warnings, not errors, in the next commit.
  Avoid a crash, don't check if we're flushing when the file is closing: there's no need to check if the metadata cache is flushing if we already know the file is closing, because the condition we rely on is "closing OR flushing."  Further, the cache may have already gone away, so sometimes calling into the cache to see if it's flushing will crash the program.
2020-03-24 08:22:25 -05:00
Allen Byrne
b6ef262ee5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd3ef866a2963ce93d0b95184534a70849b6fa11d':
  Revise API for H5get_alloc_stats() to take a struct instead of separate values.
  Add routines to query the library's free list sizes and allocation stats.
2020-03-24 07:00:36 -05:00
Quincey Koziol
d3ef866a29 Merge pull request #2445 in HDFFV/hdf5 from alloc_stats to develop
* commit 'b51585a9110c4322c52f9dcdc60cd26c3ea44546':
  Revise API for H5get_alloc_stats() to take a struct instead of separate values.
  Add routines to query the library's free list sizes and allocation stats.
2020-03-23 18:01:43 -05:00
Allen Byrne
19c47b244b Correct syntax 2020-03-23 16:57:15 -05:00
Allen Byrne
d9a5a49e65 Update CMake compiler flags to use same set of warnings 2020-03-23 15:10:33 -05:00
Allen Byrne
477c96f06f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e916acd018d5a307e7690a7978a1b73e83508f2b':
  Move the GNU warnings configuration under config/gnu-warnings/ and trim the filename prefixes.  Update config/gnu-flags to suit.
  By default, demote warnings promoted to errors back to warnings.
  Incorporate the H5_ECFLAGS into the library CFLAGS.  Now a bunch of errors will occur.  Next commit will demote the warnings promoted to errors back to warnings again.
  Break out warnings into more files that autoconf and CMake can share.  This change temporarily disables the warnings that were promoted to errors, but I will add those warnings back as warnings, not errors, in the next commit.
2020-03-23 12:25:48 -05:00
David Young
e916acd018 Merge pull request #2402 in HDFFV/hdf5 from ~DYOUNG/werror:break-out-warnings to develop
* commit '2f09d8f3c8a4a44932c1b8ffb0f6ea2219059a5c':
  Move the GNU warnings configuration under config/gnu-warnings/ and trim the filename prefixes.  Update config/gnu-flags to suit.
  By default, demote warnings promoted to errors back to warnings.
  Incorporate the H5_ECFLAGS into the library CFLAGS.  Now a bunch of errors will occur.  Next commit will demote the warnings promoted to errors back to warnings again.
  Break out warnings into more files that autoconf and CMake can share.  This change temporarily disables the warnings that were promoted to errors, but I will add those warnings back as warnings, not errors, in the next commit.
2020-03-23 11:55:07 -05:00
vchoi
afdcac28b8 A fix in the cleaning up code for datatype when datatype initialization via H5D__init_type() fails.
This is triggered by the tests for revised references when the libver bounds setting does not allow version
4 datatype message to be created.  The test failure is abort core dumped.
This is due to the datatype initialization fails before the datatype ID is registered.
The datatype cleanup code should provide for the above situation.
The code to fix the problem is the same as what is done in H5D__open_oid().
2020-03-23 01:16:32 -05:00
Quincey Koziol
b51585a911 Revise API for H5get_alloc_stats() to take a struct instead of separate values. 2020-03-20 16:39:55 -05:00
Quincey Koziol
66350c3356 Merge remote-tracking branch 'origin/develop' into alloc_stats 2020-03-20 15:50:24 -05:00
Allen Byrne
13da6d137f Allow use of INTEL icl/icl++ for clang 2020-03-19 10:57:21 -05:00
Allen Byrne
26fecb8c5a Merge pull request #2457 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6be711bbd2b86de5bcd8f092d8f27d6b2251c111':
  Fix threadsafe for new test
2020-03-19 09:23:02 -05:00
David Young
2f09d8f3c8 Move the GNU warnings configuration under config/gnu-warnings/ and trim
the filename prefixes.  Update config/gnu-flags to suit.

I also made changes to config/cmake/HDFCompilerFlags.cmake, but I'm not
sure they're correct.
2020-03-18 21:12:53 -05:00
Dana Robinson
eecddd9f3e Merge pull request #2456 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'ce7936d2b256bdd5e61a5ef018f35e9562667cac':
  Fixed the RELEASE.txt note for HDFFV-11057
  Fix shutdown errors when using the HDF5_VOL_CONNECTOR environment variable to set a dynamically loaded plugin as the default VOL connector. Fixes HDFFV-11057
  Very minor comment change in H5VLconnector.h.
2020-03-18 17:07:37 -05:00
Quincey Koziol
ae5f556415 Merge remote-tracking branch 'origin/develop' into alloc_stats 2020-03-18 16:18:09 -05:00
Dana Robinson
ce7936d2b2 Fixed the RELEASE.txt note for HDFFV-11057 2020-03-18 14:08:47 -07:00
Dana Robinson
693008ecaf Fix shutdown errors when using the HDF5_VOL_CONNECTOR environment
variable to set a dynamically loaded plugin as the default VOL
connector. Fixes HDFFV-11057
2020-03-18 13:58:02 -07:00
Allen Byrne
6be711bbd2 Fix threadsafe for new test 2020-03-18 15:31:27 -05:00
Dana Robinson
f0a687f133 Merge branch 'develop' into develop_minor 2020-03-18 13:06:15 -07:00
Jordan Henderson
fa087c3919 Update Tools library to be better compatible with VOL connectors
Modify h5repack to integrate with VOL connectors

Update tools library to accomodate VOL connectors

Update logic in h5tools_fopen for VOL connectors

Add command-line options to h5repack for specifying in/out VOL
connectors

Implement h5tools_set_vol_fapl

Fix library shutdown issue

Integrate ROS3 and HDFS VFDs into new h5tools_get_fapl() scheme

Avoid H5Ocopy in h5repack when using different VOL connectors

Update h5tools_test_utils.c for ROS3 and HDFS integration
2020-03-17 14:25:36 -05:00
Jacob Smith
f771958d75 Add function header comment for mirror_writer:run_writer(). 2020-03-16 15:39:26 -05:00
Vailin Choi
9c93c1bb00 Merge pull request #2451 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/develop_seg_fault_sel_compat to develop
* commit '81b1ed4e1724b8a6a731ab2b8fb03234a8b49d15':
  Fix issues when deserializing point/all/none selection with version beyond the library's supported version: (1) Verify the decoded version before proceeding further with deserialization (2) Close the dataspace if errors occurred after opening the dataspace
2020-03-16 14:06:57 -05:00
Jacob Smith
b65405439d Add Splitter VFD to library.
* "Simultaneous and equivalent" Read-Write and Write-Only channels for
  file I/O.
* Only supports drivers with the H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag for
  now, preventing issues with multi-file drivers.

Add Mirror VFD to library.

* Write-only operations over a network.
* Uses TCP/IP sockets.
* Server and auxiliary server-shutdown programs provided in a new directory,
  `utils/mirror_vfd`.
* Automated testing via loopback ("remote" of localhost).
2020-03-13 17:13:17 -05:00
Vailin Choi
81b1ed4e17 Fix issues when deserializing point/all/none selection with version beyond the library's supported version:
(1) Verify the decoded version before proceeding further with deserialization
(2) Close the dataspace if errors occurred after opening the dataspace
2020-03-13 11:22:22 -05:00
Dana Robinson
3d29cbb27f Very minor comment change in H5VLconnector.h. 2020-03-12 13:21:11 -07:00
Quincey Koziol
545d0f4db3 Merge remote-tracking branch 'origin/develop' into alloc_stats 2020-03-12 14:36:14 -05:00
David Young
7613f7e1aa Merge pull request #2378 in HDFFV/hdf5 from ~DYOUNG/werror:dont-crash-on-close to develop
* commit '093c2c7e69bc4a40e9d49eece1d6fdcf54e8ecb0':
  Avoid a crash, don't check if we're flushing when the file is closing: there's no need to check if the metadata cache is flushing if we already know the file is closing, because the condition we rely on is "closing OR flushing."  Further, the cache may have already gone away, so sometimes calling into the cache to see if it's flushing will crash the program.
2020-03-12 14:00:07 -05:00
Larry Knox
d9f93659a2 Add \d to list of characters allowed after '-' in versions. 2020-03-12 09:51:53 -05:00
Vailin Choi
a24b0c4a84 Merge pull request #26 in ~VCHOI/my_third_fork from develop to bugfix/develop_seg_fault_sel_compat
* commit '9abbdeaa66c70a00b6a7bedee9c76d2493a8e947': (31 commits)
  Remove system command from valgrind reports
  Whitespace
  Fix incorrect FUNC_LEAVE macro (should match FUNC_ENTER_*_TAG).
  Add semicolons to more PASSED() invocations.
  So that I can use PASSED(); anywhere a statement can go, #define PASSED() with a do-while wrapper.
  revert type cast
  Switch the 'get offset' operation from a dataset 'get' callback to a [native] dataset 'optional' operation.
  Modfy expression to match mpicc build with Intel as intel compiler, not gcc.
  Complete the comment on thread_main(), explaining why the barrier is used.
  Fixed issue building HDF5 with NAG Fortran 7.0.
  The first implementation seemed to allow for the possibility that a thread could block at the barrier, wake and exit the barrier, re-acquire the barrier lock and increase `nentered` before the other blocked threads woke and checked `nentered % count == 0`.  Then the other blocked threads would check `nentered % count == 0` and, finding it false, go back to sleep in the barrier.  This new implementation waits for a looser condition to obtain so that threads don't go back to sleep in the barrier.
  Add java version and reference libsettings
  Test the right condition for the EBUSY return in pthread_barrier_destroy().
  s/exit_failure/EXIT_FAILURE/g
  Implement pthread_barrier(3) for Darwin using a counter, condition variable, and mutex.  Untested.
  Update examples and fix old version references.
  Move MODEL check to before usage in CTestScript.cmake.
  Copy generated files instead creating twice
  Fix standalone link
  Fix Fortran macro use and jni comment
  ...
2020-03-11 16:23:56 -05:00
Quincey Koziol
04b8cc82a8 Add routines to query the library's free list sizes and allocation stats. 2020-03-10 18:37:55 -05:00
David Young
9abbdeaa66 Merge pull request #2351 in HDFFV/hdf5 from ~DYOUNG/werror:b-bye-HDpthread_self to develop
* commit '224cb4a03406ed72e02d026efeab47fdf7f6b33b':
  Use a naked pthread_self() call in the HDF5 thread wrappers.
2020-03-05 11:06:39 -06:00
David Young
7350db497b Merge pull request #2424 in HDFFV/hdf5 from ~DYOUNG/hdf5:passed-do-while to develop
* commit 'b53eb6fb29e556c482ce20fa7a21485c99beea74':
  Add semicolons to more PASSED() invocations.
  So that I can use PASSED(); anywhere a statement can go, #define PASSED() with a do-while wrapper.
2020-03-05 11:05:29 -06:00
Allen Byrne
7413557dd5 Merge pull request #2434 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '24298a031f0b7f6a04364cfbfbdd9c8b6cc1a038':
  Remove system command from valgrind reports
  Whitespace
2020-03-04 09:29:03 -06:00
Allen Byrne
24298a031f Remove system command from valgrind reports 2020-03-02 14:11:25 -06:00
Allen Byrne
5fc283da8e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a01ac97ba509e51905b816e8a29b5d0b2bc8be87':
  Fix incorrect FUNC_LEAVE macro (should match FUNC_ENTER_*_TAG).
2020-03-01 09:24:12 -06:00
Jake Smith
a01ac97ba5 Merge pull request #2427 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:develop to develop
* commit '2d9a81878d05732725f96d7d9b20ada8dfd2a146':
  Fix incorrect FUNC_LEAVE macro (should match FUNC_ENTER_*_TAG).
2020-02-29 23:39:00 -06:00
Allen Byrne
5abf6785cb Whitespace 2020-02-29 14:01:55 -06:00
Kimmy Mu
6e565dd271 Merge pull request #2431 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/type_cast to develop
* commit 'b5cf422799797cf0b573cc9992f866381bd63054':
  revert type cast
2020-02-28 22:12:16 -06:00
Jacob Smith
2d9a81878d Fix incorrect FUNC_LEAVE macro (should match FUNC_ENTER_*_TAG). 2020-02-28 17:14:45 -06:00
David Young
b53eb6fb29 Add semicolons to more PASSED() invocations. 2020-02-28 16:52:22 -06:00
David Young
3e93aa9514 So that I can use PASSED(); anywhere a statement can go, #define PASSED() with
a do-while wrapper.
2020-02-28 16:51:55 -06:00
kmu
b5cf422799 revert type cast 2020-02-28 14:47:13 -06:00
Quincey Koziol
885aa08ec4 Merge pull request #2419 in HDFFV/hdf5 from revise_get_offset to develop
* commit '38af6ee3d59a8e836f4c62dd533ddabd914c7abb':
  Switch the 'get offset' operation from a dataset 'get' callback to a [native] dataset 'optional' operation.
2020-02-28 14:27:16 -06:00
Quincey Koziol
38af6ee3d5 Switch the 'get offset' operation from a dataset 'get' callback to a [native]
dataset 'optional' operation.
2020-02-28 14:06:28 -06:00
Larry Knox
d7eec7d6ec Merge pull request #2411 in HDFFV/hdf5 from ~DYOUNG/werror:darwin-barriers to develop
* commit '803d805c74466a9d736455930b17de2d9f5cb02d':
  Complete the comment on thread_main(), explaining why the barrier is used.
  The first implementation seemed to allow for the possibility that a thread could block at the barrier, wake and exit the barrier, re-acquire the barrier lock and increase `nentered` before the other blocked threads woke and checked `nentered % count == 0`.  Then the other blocked threads would check `nentered % count == 0` and, finding it false, go back to sleep in the barrier.  This new implementation waits for a looser condition to obtain so that threads don't go back to sleep in the barrier.
  Test the right condition for the EBUSY return in pthread_barrier_destroy().
  s/exit_failure/EXIT_FAILURE/g
  Implement pthread_barrier(3) for Darwin using a counter, condition variable, and mutex.  Untested.
2020-02-28 06:22:13 -06:00
Larry Knox
cfc52fc273 Merge pull request #2415 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '811988f82c182012704942d333ee7800f4a78349':
  Modfy expression to match mpicc build with Intel as intel compiler, not gcc.
2020-02-27 22:03:28 -06:00
Larry Knox
811988f82c Modfy expression to match mpicc build with Intel as intel compiler, not
gcc.
2020-02-27 17:06:41 -06:00
Scot Breitenfeld
0a581b0ac0 Merge pull request #2414 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'dde7e73d9fe8cc3b849767790aa9b13ee2d600cd':
  Fixed issue building HDF5 with NAG Fortran 7.0.
2020-02-27 16:23:06 -06:00
David Young
803d805c74 Complete the comment on thread_main(), explaining why the barrier is used. 2020-02-27 16:14:44 -06:00
Allen Byrne
a8755bfe2b Merge pull request #2412 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6686cac564f5d0015a32b92e4478002069c973ee':
  Add java version and reference libsettings
2020-02-27 14:55:48 -06:00
M. Scot Breitenfeld
dde7e73d9f Fixed issue building HDF5 with NAG Fortran 7.0.
Accounted for the additon of half precision floating-point with a KIND=16.

HDFFV-11033
2020-02-27 12:19:29 -06:00
David Young
4be589813a The first implementation seemed to allow for the possibility that a thread
could block at the barrier, wake and exit the barrier, re-acquire the barrier
lock and increase `nentered` before the other blocked threads woke and checked
`nentered % count == 0`.  Then the other blocked threads would check `nentered
% count == 0` and, finding it false, go back to sleep in the barrier.  This new
implementation waits for a looser condition to obtain so that threads don't go
back to sleep in the barrier.
2020-02-27 11:27:45 -06:00
Allen Byrne
6686cac564 Add java version and reference libsettings 2020-02-27 10:51:13 -06:00
David Young
11d22f3ea5 Test the right condition for the EBUSY return in pthread_barrier_destroy(). 2020-02-27 10:17:24 -06:00
David Young
802bf2dc1e s/exit_failure/EXIT_FAILURE/g 2020-02-27 10:16:49 -06:00
Allen Byrne
9a0e84fb47 Merge pull request #2409 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '13f5b3aee20d1d65f56dc08f088e0f218da5cf37':
  Update examples and fix old version references.
  Move MODEL check to before usage in CTestScript.cmake.
2020-02-27 08:56:44 -06:00
David Young
b87d9cb50e Implement pthread_barrier(3) for Darwin using a counter, condition variable,
and mutex.  Untested.
2020-02-26 20:38:57 -06:00
Allen Byrne
13f5b3aee2 Update examples and fix old version references. 2020-02-26 13:54:34 -06:00
Allen Byrne
f53220dc20 Move MODEL check to before usage in CTestScript.cmake. 2020-02-26 09:50:38 -06:00
Allen Byrne
1775d6c9bc Merge pull request #2405 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '2af8a87af0d7a1589a4df22d16b2d2513876e7a9':
  Copy generated files instead creating twice
  Fix standalone link
2020-02-25 16:28:11 -06:00
Allen Byrne
2af8a87af0 Copy generated files instead creating twice 2020-02-25 16:04:56 -06:00
Allen Byrne
4906d3d6a8 Fix standalone link 2020-02-25 14:57:14 -06:00
David Young
0f32728f72 By default, demote warnings promoted to errors back to warnings. 2020-02-25 12:02:07 -06:00
David Young
626c60dec4 Incorporate the H5_ECFLAGS into the library CFLAGS. Now a bunch of errors will
occur.  Next commit will demote the warnings promoted to errors back to
warnings again.
2020-02-25 11:59:37 -06:00
David Young
d8e5995f6d Break out warnings into more files that autoconf and CMake can share. This
change temporarily disables the warnings that were promoted to errors, but I
will add those warnings back as warnings, not errors, in the next commit.
2020-02-25 11:38:15 -06:00
Allen Byrne
ddb95a6dc5 Merge pull request #2398 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '04e67af8f968b2c6f50cb42990d3dfa79aa353d9':
  Fix Fortran macro use and jni comment
2020-02-25 09:40:07 -06:00
Allen Byrne
04e67af8f9 Fix Fortran macro use and jni comment 2020-02-25 09:22:19 -06:00
Allen Byrne
fe7c3fb646 Merge pull request #2394 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'cf58730177d60fd7311582a29539d87f10a7d88e':
  Update Windows platforms
  HDFFV-11036 add release note
  HDFFV-11036 add file compare test process
  Correct usage of add_compile_definitions
2020-02-24 13:59:40 -06:00
Allen Byrne
cf58730177 Update Windows platforms 2020-02-24 13:54:00 -06:00
Allen Byrne
1885c3e7d7 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd24afb233383aa6c945fad430eb1b66edc4d6c63':
  Add missing MANIFEST entry, ./doc/code-conventions.md .
2020-02-24 13:00:25 -06:00
Allen Byrne
4fcd2589bb HDFFV-11036 add release note 2020-02-24 12:49:56 -06:00
Allen Byrne
f7212df030 HDFFV-11036 add file compare test process 2020-02-24 12:45:22 -06:00
David Young
d24afb2333 Merge pull request #2385 in HDFFV/hdf5 from manifest-repair to develop
* commit '921278c604b3129c1ff5066f0a2b94abcb3aa8f7':
  Add missing MANIFEST entry, ./doc/code-conventions.md .
2020-02-24 10:49:09 -06:00
Allen Byrne
1773b327fb Correct usage of add_compile_definitions 2020-02-23 16:22:31 -06:00
Larry Knox
2129aa4c24 Merge pull request #2390 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '666205a55f01698a71484f504bc8eb9541800f25':
  TRILAB-142 Change minimum CMake version to 3.12
2020-02-21 23:19:57 -06:00
Allen Byrne
666205a55f TRILAB-142 Change minimum CMake version to 3.12 2020-02-21 16:16:06 -06:00
Allen Byrne
909f9ee6d0 Merge pull request #2388 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '380fe7cfdfd98461cb1bff54bad4de0ee9904ad6':
  Fix always true issue because member is not dynamically allocated
  CMake cleanup
  HDFFV-11032 fix JNI call
2020-02-21 16:05:51 -06:00
Allen Byrne
380fe7cfdf Fix always true issue because member is not dynamically allocated 2020-02-21 15:15:34 -06:00
Allen Byrne
3f3e1520d5 CMake cleanup 2020-02-21 15:14:42 -06:00
Allen Byrne
399ef726f0 HDFFV-11032 fix JNI call 2020-02-21 15:14:00 -06:00
Jordan Henderson
0175224cb8 Merge pull request #1988 in HDFFV/hdf5 from ~JHENDERSON/hdf5_pr:develop to develop
* commit '51b8c63864c72de9a7b40c00673fe07510fec27e':
  Partial fix for HDFFV-10792
2020-02-21 14:36:43 -06:00
Jordan Henderson
51b8c63864 Merge develop 2020-02-21 14:30:34 -06:00
David Young
c5ab228563 Merge pull request #2384 in HDFFV/hdf5 from h5f_decode_length to develop
* commit '158ba17be0ad40e3e47a951c1340710608347772':
  Replace the old H5F_DECODE_LENGTH() implementation with one that initializes the variable it's loading on every path.
2020-02-20 14:37:35 -06:00
David Young
921278c604 Add missing MANIFEST entry, ./doc/code-conventions.md . 2020-02-20 13:34:33 -06:00
David Young
158ba17be0 Replace the old H5F_DECODE_LENGTH() implementation with one that
initializes the variable it's loading on every path.
2020-02-19 13:18:48 -06:00
Scot Breitenfeld
97fb53cfea Merge pull request #2379 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'def3f1a12e7c2ec165f40b9839f6bfe3da59807b':
  Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size inh5fget_file_image_f.
2020-02-19 12:33:31 -06:00
David Young
7b4131c2ae Merge pull request #2367 in HDFFV/hdf5 from ~DYOUNG/werror:unused to develop
* commit '50aac126d7c4082c2aeb0f3a68cad26bd1cd9783':
  Start to document the function/parameter/variable attribute macros.
  Filter all of the new _USED / _UNUSED type modifiers.
  H5_HAVE_PARALLEL, _DEBUG_API, etc.  Add attributes to some variables and parameters that are unused under some configurations.
2020-02-19 09:38:02 -06:00
M. Scot Breitenfeld
def3f1a12e Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size inh5fget_file_image_f.
HDFFV-11029
2020-02-18 17:26:42 -06:00
David Young
50aac126d7 Start to document the function/parameter/variable attribute macros. 2020-02-18 17:07:40 -06:00
David Young
ac7cd484d8 Filter all of the new _USED / _UNUSED type modifiers. 2020-02-18 16:31:35 -06:00
David Young
47b79b7422 Merge pull request #2369 in HDFFV/hdf5 from ~DYOUNG/vs2010:develop to develop
Merged per discussion with Elena.

* commit 'b4697f969295245840350e17d75d92a0fdd7e7a9':
  Use HD prefix.
  Delete unhelpful comment per Jordan's question.
  Make sure that H5TS_thread_id() is available as either a function or a macro in all configurations.
  Provide local copies of err(3)- and errx(3)-alike functions for Visual Studio compatibility.
  Provide C99/POSIX.1 format strings PRI[doux]{8,16,32,64,MAX,PTR} on systems that are missing <inttypes.h>.
2020-02-17 10:47:29 -06:00
David Young
fa2b89c6b0 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-17 10:46:52 -06:00
David Young
3f903a441a Take out the temporary performance tests. 2020-02-14 15:01:44 -06:00
David Young
093c2c7e69 Avoid a crash, don't check if we're flushing when the file is closing:
there's no need to check if the metadata cache is flushing if we already
know the file is closing, because the condition we rely on is "closing
OR flushing."  Further, the cache may have already gone away, so
sometimes calling into the cache to see if it's flushing will crash the
program.
2020-02-13 10:01:05 -06:00
David Young
b4697f9692 Use HD prefix. 2020-02-12 14:07:47 -06:00
Allen Byrne
ddf139aed5 Merge pull request #2377 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'a68302883a243c33ceb495e3e151331fa267f455':
  TRILAB-148 fix sanitizer and -fsanitize usage
2020-02-12 11:32:52 -06:00
Allen Byrne
a68302883a TRILAB-148 fix sanitizer and -fsanitize usage 2020-02-12 09:42:23 -06:00
Allen Byrne
b8a57cb8dc Merge pull request #2372 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b6ea9d25194797fdfb0880ee9721b95bc1533af7':
  Update sanitizer note.
2020-02-11 14:20:09 -06:00
Allen Byrne
b6ea9d2519 Update sanitizer note. 2020-02-11 13:48:55 -06:00
David Young
63c95faf49 Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
Delete the comment questioning whether pthread_mutex_lock is allowed
in a key destructor, since pthread_key_create(3) provides the answer:

   There  is  no  notion  of a destructor-safe function. If an application
   does not call pthread_exit() from a signal handler, or if it blocks any
   signal whose handler may call pthread_exit() while calling async-unsafe
   functions, all functions may be safely called from destructors.

Delete redundant comment.
2020-02-10 17:24:04 -06:00
David Young
4c7254b6ec Make sure that H5TS_thread_id() is available as either a function or a macro in
all configurations.

(Merge remote-tracking branch 'origin/thread_id_everywhere' into vs2010-develop)
2020-02-10 16:59:14 -06:00
Jake Smith
444a666f1d Merge pull request #2357 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:develop to develop
* commit '6a93d1f834184853913d43e50fda5b350fa1dc38':
  Fix improper S3 signing key null check (HDFFV-11015).
2020-02-10 16:57:33 -06:00
Scot Breitenfeld
ae8091f568 Merge pull request #2366 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '79c62f9a25906705735efa9286124c0d3aa9276a':
  HDFFV-11018 Add Fortran H5F_LIBVER_V*_F definitions
2020-02-10 15:39:42 -06:00
M. Scot Breitenfeld
79c62f9a25 HDFFV-11018 Add Fortran H5F_LIBVER_V*_F definitions
Added
------
New Definitions:

  INTEGER :: H5F_LIBVER_ERROR_F
  INTEGER :: H5F_LIBVER_NBOUNDS_F
  INTEGER :: H5F_LIBVER_V18_F
  INTEGER :: H5F_LIBVER_V110_F
  INTEGER :: H5F_LIBVER_V112_F
  INTEGER :: H5F_LIBVER_V114_F

New API:
  h5pget_libver_bounds_f(fapl_id, low, high, hdferr)

Removed:
  call to C wrapper h5pset_libver_bounds_c in h5pset_libver_bounds_f
2020-02-10 15:30:18 -06:00
David Young
f9a8fd5a4c H5_HAVE_PARALLEL, _DEBUG_API, etc. Add attributes to some variables and
parameters that are unused under some configurations.
2020-02-10 14:41:20 -06:00
David Young
3d2c0d7b0d Delete unhelpful comment per Jordan's question. 2020-02-10 13:31:56 -06:00
David Young
3109f9e323 Follow HDF5 conventions. 2020-02-07 16:34:01 -06:00
Muqun Yang
e5ae310109 Merge pull request #2361 in HDFFV/hdf5 from ~MYANG6/hdf5-develop:develop to develop
* commit '1b937c69f4b8187401eeb8eef195bbcc2ea58312':
  HDFFV-11014, fix the h5repack issue that misses a few attributes during the repacking. The flag that checks the object reference attribute is not updated properly. The fix is trivial. Just need to move the flag update line into the inner loop. Tested at Jelly. Also update the release.txt.
2020-02-07 15:26:30 -06:00
David Young
39fd512fe7 Make sure that H5TS_thread_id() is available as either a function or a macro in
all configurations.

Previously it was neither declared nor defined in --disable-threadsafety
builds.  The compiler's warning got lost in the noise---I first saw the issue
because my -Werror branch stopped compiling cold---and the tests still linked
and ran.
2020-02-07 14:57:46 -06:00
David Young
c7ad81b0ea Provide local copies of err(3)- and errx(3)-alike functions
for Visual Studio compatibility.
2020-02-07 14:45:08 -06:00
Muqun Yang
1b937c69f4 HDFFV-11014, fix the h5repack issue that misses a few attributes during the repacking. The flag that checks the object reference attribute is not updated properly. The fix is trivial. Just need to move the flag update line into the inner loop. Tested at Jelly. Also update the release.txt. 2020-02-07 14:43:02 -06:00
Jacob Smith
6a93d1f834 Fix improper S3 signing key null check (HDFFV-11015). 2020-02-07 13:47:15 -06:00
David Young
b2cb485268 Provide C99/POSIX.1 format strings PRI[doux]{8,16,32,64,MAX,PTR} on systems
that are missing <inttypes.h>.
2020-02-07 11:40:31 -06:00
David Young
021740bac0 Merge pull request #2354 in HDFFV/hdf5 from ~DYOUNG/werror:fix_h5ts_private to develop
* commit '8f77878953b55cbffb6331161d12eab1c778a8a5':
  Oops, the test has to return success in the unimplemented case.
2020-02-06 16:58:50 -06:00
David Young
a5a9e75f6a Make calls through a function pointer. Use the same number of arguments,
always.
2020-02-06 11:00:10 -06:00
David Young
8f77878953 Oops, the test has to return success in the unimplemented case. 2020-02-06 10:43:37 -06:00
David Young
80179b0648 Merge pull request #2349 in HDFFV/hdf5 from ~DYOUNG/werror:fix_h5ts_private to develop
* commit 'a0a75e7b6e157b40bbe09c7955153835ce200f79':
  If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation of H5TS_thread_id().
2020-02-05 19:34:06 -06:00
David Young
224cb4a034 Use a naked pthread_self() call in the HDF5 thread wrappers. 2020-02-05 19:31:59 -06:00
Jordan Henderson
9064ad0a2f Merge pull request #2346 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit 'be0cd0b64aef3f64b15d5fc89cd15213ad939763':
  Add RELEASE.txt note for token refactoring changes
2020-02-05 18:11:21 -06:00
David Young
a0a75e7b6e If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation
of H5TS_thread_id().
2020-02-05 16:47:55 -06:00
Jordan Henderson
be0cd0b64a Merge branch 'develop' of ssh://git@bitbucket.hdfgroup.org:7999/~jhenderson/hdf5.git into develop 2020-02-05 16:07:33 -06:00
Jordan Henderson
469c56d8a9 Add RELEASE.txt note for token refactoring changes 2020-02-05 16:07:33 -06:00
David Young
00608a8756 Merge pull request #2341 in HDFFV/hdf5 from ~DYOUNG/werror:thread_id to develop
* commit 'cefacee21b5ad569e2394b32793648e1b80f3d6b':
  src/H5Eint.c: #include H5TSprivate.h for H5TS_thread_id() definitions.
  Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
  Add thread_id.c to the MANIFEST and the CMakeLists.txt per Allen's request.
  Replace pthread_self_ulong() with H5TS_thread_id().  The POSIX Threads implementation ought to be portable to any system that has POSIX Threads.  On Windows, I use the same API call as before.
2020-02-05 13:34:00 -06:00
Allen Byrne
7ab0fa2d7c Merge pull request #2345 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '7c9427219ff903ee0ebdd56ed253b29e83ce0c06':
  HDFFV-11012 - add release note
2020-02-05 09:56:53 -06:00
Allen Byrne
7c9427219f HDFFV-11012 - add release note 2020-02-05 09:39:13 -06:00
Allen Byrne
0d79831dce Merge pull request #2343 in HDFFV/hdf5 from ~BYRN/hdf5_adb:bugfix/HDFFV-11012-fortran-include-paths to develop
* commit '3ec66d55426c5c947eeb6f4d7d5d31b38f59ebf6':
  HDFFV-11012 - add correct fortran include path properties
2020-02-05 08:52:54 -06:00
Allen Byrne
7e6d428648 Merge pull request #2342 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '93f6e6761833ba579128503c3fe47b76b02fa85c':
  HDFFV-10996 add release note
  HDFFV-10996 - add java vol tests
2020-02-04 11:37:39 -06:00
Allen Byrne
93f6e67618 HDFFV-10996 add release note 2020-02-04 11:36:56 -06:00
Allen Byrne
3ec66d5542 HDFFV-11012 - add correct fortran include path properties 2020-02-04 11:28:45 -06:00
David Young
cefacee21b src/H5Eint.c: #include H5TSprivate.h for H5TS_thread_id() definitions.
test/thread_id.c: move threads_failure() inside #ifdefs.
2020-02-03 16:33:28 -06:00
David Young
a20b68b257 Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
Fix a typo in the H5TS_thread_init() comment and reword some ID
properties.
2020-02-03 16:23:06 -06:00
Allen Byrne
00d68851fc HDFFV-10996 - add java vol tests 2020-02-03 13:45:14 -06:00
David Young
65600cbd72 Add thread_id.c to the MANIFEST and the CMakeLists.txt per Allen's
request.
2020-02-03 12:59:52 -06:00
David Young
986c7451a0 Replace pthread_self_ulong() with H5TS_thread_id(). The POSIX Threads
implementation ought to be portable to any system that has POSIX
Threads.  On Windows, I use the same API call as before.
2020-02-03 11:59:14 -06:00
Dana Robinson
0147d2493e Merge pull request #2329 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:H5MM_const to develop
* commit '10301154215fb6a22590e80f7b5ed0005f3e1786':
  Minor refactoring to the VFD info free call.
  Updated the 'const memory free' changes based on PR feedback.
  Added a free wrapper that lets us free constant pointers without generating warnings.
2020-01-30 18:50:41 -06:00
Dana Robinson
1030115421 Minor refactoring to the VFD info free call. 2020-01-30 16:47:30 -08:00
Dana Robinson
88b4c915e8 Updated the 'const memory free' changes based on PR feedback. 2020-01-30 16:31:11 -08:00
David Young
69a064eef8 Increase iterations, provide a baseline for no-op, simplify the overhead
case a bit.
2020-01-30 15:46:12 -06:00
Allen Byrne
0e56affc7e Merge pull request #2330 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '099e68140101a6a2cd128f68d5f6b76661a1de92':
  VS2010 needs an underscore
2020-01-30 14:11:36 -06:00
David Young
f398fe6bee 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.
2020-01-30 14:10:07 -06:00
Allen Byrne
099e681401 VS2010 needs an underscore 2020-01-30 13:23:54 -06:00
Dana Robinson
9da387342e Added a free wrapper that lets us free constant pointers without
generating warnings.

Also, brought the const-ness of the VOL connector info in line with
the VFD info (not visible externally).
2020-01-30 11:01:25 -08:00
Dana Robinson
d1f2eff231 Merge pull request #2328 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'a67c238feef1487814b02132bfd7961f22d9d6eb':
  Cleaned up remaining warnings in high-level library.
2020-01-30 10:43:40 -06:00
Dana Robinson
a67c238fee Cleaned up remaining warnings in high-level library. 2020-01-29 18:09:29 -08:00
Allen Byrne
1255363e9b Merge pull request #2326 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'c5e2d975734d6e7a88fb48b76ec7e11d0a7763de':
  Small fixes for tools and skip autotools tests for no filter
  Correctly manage warnings for new tests
  Ext libs ZLIB and SZIP warnings are separate concerns
2020-01-29 16:25:16 -06:00
Allen Byrne
c5e2d97573 Small fixes for tools and skip autotools tests for no filter 2020-01-29 15:39:25 -06:00
Allen Byrne
1eb6a4512b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '30ca0cdc9a0b1f7fc1521007c65d9baeb69c9a23':
  fix bad function cast warning
  initialization discards const warning
  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].
  Reduce casts of HDcalloc()/HDmalloc() that -Wc++-compat required.
  Reduce differences between my -Werror branch and `develop`:
  fix unused function warning
2020-01-29 14:15:00 -06:00
Kimmy Mu
30ca0cdc9a Merge pull request #2323 in HDFFV/hdf5 from ~KMU/hdf5:misc to develop
* commit 'c586d91ea003f37d130c2c45eea6f573f7d3d3bc':
  fix bad function cast warning
  initialization discards const warning
  fix unused function warning
2020-01-29 14:11:51 -06:00
David Young
4a4755d314 H5T_copy() constification plus Quincey's contributions. 2020-01-29 14:11:10 -06:00
kmu
c586d91ea0 Merge branch 'develop' into misc 2020-01-29 14:03:48 -06:00
David Young
43d41633a1 Merge pull request #2318 in HDFFV/hdf5 from ~DYOUNG/werror:reduce-werror-diffs-1 to develop
* commit 'fa1b2f6ef35c459c9f74ead885c119ae7f61c056':
  Reduce differences between my -Werror branch and `develop`:
2020-01-29 13:51:52 -06:00
David Young
0d6e025888 Merge pull request #2320 in HDFFV/hdf5 from ~DYOUNG/werror:reduce-werror-diffs-2 to develop
* commit 'a5f236e83bdd29e660a55c5577a69a3809605cda':
  Reduce casts of HDcalloc()/HDmalloc() that -Wc++-compat required.
2020-01-29 13:51:27 -06:00
David Young
1b49ccd7fa Merge pull request #2321 in HDFFV/hdf5 from ~DYOUNG/werror:reduce-werror-diffs-3 to develop
* commit 'f19e06b59ee53f17465a7b5974c25c3245a40d9a':
  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].
2020-01-29 13:51:10 -06:00
kmu
4453dc2998 fix bad function cast warning 2020-01-29 13:43:31 -06:00
kmu
0443c582d8 initialization discards const warning 2020-01-29 13:31:14 -06:00
Allen Byrne
661cf6b79b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '20c09524ea348f4009555a1cba2731842b9af80e':
  HDFFV-11011 - merge include list
  HDFFV-11011 correct issues with target file extension
2020-01-29 13:14:40 -06:00
Allen Byrne
20c09524ea Merge pull request #2319 in HDFFV/hdf5 from ~BYRN/hdf5_adb:bugfix/HDFFV-11011 to develop
* commit 'c8096118d5edd9f27ff0f6180a4dde4c10aafda7':
  HDFFV-11011 - merge include list
  HDFFV-11011 correct issues with target file extension
2020-01-29 13:12:14 -06:00
Allen Byrne
c8096118d5 HDFFV-11011 - merge include list 2020-01-29 12:13:28 -06:00
Allen Byrne
07eaa995c6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '31616380d107e8f4e4084084984a80871c17528b':
  Introduce new H5VL _by_value routines
2020-01-29 12:11:50 -06:00
Jordan Henderson
31616380d1 Merge pull request #2317 in HDFFV/hdf5 from ~JHENDERSON/hdf5:tools_vol_update to develop
* commit 'e41f671d2ff3c7bb797ea0246e6289b0bac5a0e5':
  Introduce new H5VL _by_value routines
2020-01-29 11:53:14 -06:00
David Young
f19e06b59e 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.
2020-01-29 11:44:39 -06:00
Allen Byrne
103bcbdfd2 Correctly manage warnings for new tests 2020-01-29 11:44:35 -06:00
Allen Byrne
66e389c48a Ext libs ZLIB and SZIP warnings are separate concerns 2020-01-29 11:34:18 -06:00
David Young
a5f236e83b 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.
2020-01-29 10:47:30 -06:00
Allen Byrne
f554a4fb54 Merge pull request #2275 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '4276e37eab01c4d67e0d669fff28d3eac31cc806':
  Remove commented warnings line
  Note for common warnings files
  Create common build system files for warnings
2020-01-29 10:41:33 -06:00
Allen Byrne
4276e37eab Remove commented warnings line 2020-01-29 10:28:10 -06:00
David Young
fa1b2f6ef3 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-28 20:35:28 -06:00
Jordan Henderson
e41f671d2f Introduce new H5VL _by_value routines 2020-01-28 18:18:38 -06:00
kmu
684a9bd9cb Merge branch 'develop' into misc 2020-01-28 14:30:20 -06:00
kmu
52115036dd fix unused function warning 2020-01-28 14:25:40 -06:00
Allen Byrne
1755c2e38f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '71c050f837149a0c11e0936e661047c091deaa2f':
  rename macro
  fix issues from test fail
  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 13:46:27 -06:00
Kimmy Mu
71c050f837 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 13:28:26 -06:00
kmu
406330addf rename macro 2020-01-28 13:27:50 -06:00
Kimmy Mu
57dd6d9864 Merge pull request #2315 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
* commit '3177c89c5b0749ef1294ec60e124bf402246feba':
  fix issues from test fail
2020-01-28 13:25:09 -06:00
Allen Byrne
527aaa32b2 HDFFV-11011 correct issues with target file extension 2020-01-28 13:14:59 -06:00
kmu
3177c89c5b fix issues from test fail 2020-01-28 13:08:18 -06:00
Allen Byrne
c8e9e10593 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '15a1bce9a26b15313029410e23be6d706ad0c207':
  Replaced my_isnan with C99 isnan in h5diff.
2020-01-28 08:15:50 -06:00
Dana Robinson
15a1bce9a2 Merge pull request #2304 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:isnan_fixes to develop
* commit '8b4d774eb9bb95cb3c59f033b43ed9fba340a54a':
  Replaced my_isnan with C99 isnan in h5diff.
2020-01-28 02:44:07 -06:00
kmu
9214617e2e change condition 2020-01-27 13:41:42 -06:00
kmu
cd2f954314 pick up from Dave's fix 2020-01-27 12:57:33 -06:00
kmu
54610a7c47 leave Wswitch-default for later fix 2020-01-27 11:38:20 -06:00
Allen Byrne
6637e76a38 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '38d3834c54ee1dfa7366ae1c581909f0cf7fa000':
  Add another warning variation
  Correct ignore warnings
  Only use sanitizer with Clang
  Remove cmake macros from valgrind tests
2020-01-27 11:12:25 -06:00
Allen Byrne
38d3834c54 Merge pull request #2308 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '3b804074bd358b4a1f5b8ace30f53c4a5b250bf8':
  Add another warning variation
  Correct ignore warnings
  Only use sanitizer with Clang
  Remove cmake macros from valgrind tests
2020-01-27 11:11:27 -06:00
Allen Byrne
3b804074bd Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b0aa2c037ebb742db520e4e9a72e06d21c4afa27':
  Restore fix of test assert fail eror undone by later commit.
2020-01-27 09:22:16 -06:00
Allen Byrne
e4055cbea6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b0aa2c037ebb742db520e4e9a72e06d21c4afa27':
  Restore fix of test assert fail eror undone by later commit.
2020-01-27 09:22:08 -06:00
Larry Knox
b0aa2c037e Merge pull request #2312 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '1c812fcd5d475afb7e65ed28d84990f96eefa649':
  Restore fix of test assert fail eror undone by later commit.
2020-01-27 09:18:53 -06:00
Larry Knox
1c812fcd5d Restore fix of test assert fail eror undone by later commit. 2020-01-27 09:02:58 -06:00
kmu
5163a7e1cf fix Wredundant-decls, Wswitch-default, Wdeclaration-after-statement, Wsign-compare, Wmisleading-indentation, Wshadow 2020-01-27 09:01:32 -06:00
Allen Byrne
999b9151d4 Add another warning variation 2020-01-26 15:13:28 -06:00
Allen Byrne
8e3cd63983 Correct ignore warnings 2020-01-26 10:51:31 -06:00
Allen Byrne
7e52c4a1e1 Only use sanitizer with Clang 2020-01-26 10:19:17 -06:00
Allen Byrne
87a8951fa0 Remove cmake macros from valgrind tests 2020-01-25 09:36:20 -06:00
Allen Byrne
0eec2cc207 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5638d8860f3192f9830088ede372006a25bebbd2':
  fix assert fail
  Cleaned up warnings in test/tid.c.
2020-01-25 08:30:45 -06:00
Dana Robinson
5638d8860f Merge pull request #2305 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:tid_cleanup to develop
* commit '51ed3d256e87b423265c17867c80f588ee48fa3b':
  Cleaned up warnings in test/tid.c.
2020-01-24 17:14:41 -06:00
Kimmy Mu
ff4da4f3f5 Merge pull request #2306 in HDFFV/hdf5 from ~KMU/hdf5:develop to develop
* commit 'a152ffafb322551033adb594112f53836f7eb240':
  fix assert fail
2020-01-24 12:31:45 -06:00
kmu
a152ffafb3 fix assert fail 2020-01-24 12:06:26 -06:00
kmu
fb6328b631 Merge branch 'develop' of https://git.hdfgroup.org/scm/~kmu/hdf5 into develop 2020-01-24 12:05:09 -06:00
Allen Byrne
5b92b4d362 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '590aaff33046df99a4d88ba59e4b461e060b36e4':
  Optimized the floating point comparisons a little bit.
  Fix for failing h5diff tests involving floating-point compares.
  Removed H5_DEC_ENUM
  Revert "Revert "Moved -Wunsuffixed-float-constants to the developer warnings.""
  Revert "Moved -Wunsuffixed-float-constants to the developer warnings."
  Moved -Wunsuffixed-float-constants to the developer warnings.
  Fixed a bug in testpar/t_cache.c concerning checking expected vs. actual cache entry reads and writes.
2020-01-24 09:57:39 -06:00
Dana Robinson
590aaff330 Merge pull request #2303 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '9475ee5d59e9ac916271a64c5372dfc28f709417':
  Optimized the floating point comparisons a little bit.
  Fix for failing h5diff tests involving floating-point compares.
2020-01-24 07:34:43 -06:00
Dana Robinson
51ed3d256e Cleaned up warnings in test/tid.c. 2020-01-23 21:19:24 -08:00
Dana Robinson
8b4d774eb9 Replaced my_isnan with C99 isnan in h5diff. 2020-01-23 20:12:16 -08:00
Dana Robinson
9475ee5d59 Optimized the floating point comparisons a little bit. 2020-01-23 19:12:24 -08:00
Dana Robinson
a85e4a75b2 Fix for failing h5diff tests involving floating-point compares. 2020-01-23 18:58:08 -08:00
Dana Robinson
3e22f567c4 Merge pull request #2302 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '601752e76e2e3f34c8bcd2b5b46cf73cad122cb2':
  Removed H5_DEC_ENUM
  Revert "Revert "Moved -Wunsuffixed-float-constants to the developer warnings.""
2020-01-23 17:23:35 -06:00
Dana Robinson
601752e76e Removed H5_DEC_ENUM 2020-01-23 14:43:59 -08:00
Dana Robinson
492d186a5c Revert "Revert "Moved -Wunsuffixed-float-constants to the developer warnings.""
This reverts commit 6486e06545.
2020-01-23 14:40:47 -08:00
Dana Robinson
9a97411a61 Merge pull request #2296 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '6486e06545bf637d46e18a787395542f4fca143a':
  Revert "Moved -Wunsuffixed-float-constants to the developer warnings."
  Moved -Wunsuffixed-float-constants to the developer warnings.
  Fixed a bug in testpar/t_cache.c concerning checking expected vs. actual cache entry reads and writes.
2020-01-23 16:35:52 -06:00
Dana Robinson
6486e06545 Revert "Moved -Wunsuffixed-float-constants to the developer warnings."
This reverts commit 12bc75c617.
2020-01-23 14:35:16 -08:00
Allen Byrne
bf89ea4711 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f3a4e8164f99d733e6804acddfe1b3b0dfe63634':
  remove unnecessary stuff
  squash cast warning fix
2020-01-23 16:30:17 -06:00
Kimmy Mu
f3a4e8164f 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-23 16:21:06 -06:00
kmu
af5c33afab remove unnecessary stuff 2020-01-23 16:15:52 -06:00
Allen Byrne
3595067621 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a9aaad9be317ed92150ccc6b4e8574e596447dba':
  Change tools debug macros to not use error stack
2020-01-23 15:29:29 -06:00
kmu
838d4ec56b squash cast warning fix 2020-01-23 15:12:00 -06:00
Dana Robinson
12bc75c617 Moved -Wunsuffixed-float-constants to the developer warnings. 2020-01-23 10:18:04 -08:00
Dana Robinson
0444f65140 Merge branch 'develop' into develop_minor 2020-01-23 10:17:40 -08:00
Allen Byrne
a9aaad9be3 Merge pull request #2299 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'ee1fa14066af158fdafafd6e051f7d5b5f79ba6a':
  Change tools debug macros to not use error stack
2020-01-23 12:12:16 -06:00
Allen Byrne
ee1fa14066 Change tools debug macros to not use error stack 2020-01-23 10:20:34 -06:00
Allen Byrne
670027bf81 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'edcba1ce2e11f80d20fcce8f4cfacae1308bf839':
  more cleanup
  Max Library "index" should be 7.
  not use hdf5 private header
  fix float type cmp warning
  fix float type cmp warning
  fix missing prototype warning
  fix uninitizlized warning
  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-23 09:08:47 -06:00
Larry Knox
edcba1ce2e Merge pull request #2297 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '30fa2606b45e789ba36f3193130cdea2c12b68a6':
  Max Library "index" should be 7.
2020-01-22 22:13:34 -06:00
Kimmy Mu
80935975c1 Merge pull request #2291 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/uninitialized to develop
* commit '2de0ce0d8ba2fb58fadefc5d718a3c0fedab25c8':
  fix uninitizlized warning
2020-01-22 21:34:17 -06:00
kmu
2de0ce0d8b merge and fix conflict 2020-01-22 21:30:36 -06:00
Kimmy Mu
d741405363 Merge pull request #2295 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/float to develop
* commit '9afaf94bef740f89958a1a8aae369d5f607845f4':
  not use hdf5 private header
  fix float type cmp warning
  fix float type cmp warning
2020-01-22 20:59:49 -06:00
Kimmy Mu
720ba8624a Merge pull request #2292 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/prototype to develop
* commit '9f80ffa1f1908975b3100814b2529bf779521e13':
  fix missing prototype warning
2020-01-22 20:58:42 -06:00
Kimmy Mu
8ce59829e4 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-22 19:46:53 -06:00
kmu
145ef3ceee more cleanup 2020-01-22 19:46:12 -06:00
Larry Knox
30fa2606b4 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2020-01-22 15:47:49 -06:00
Larry Knox
f3d1b4c6d2 Max Library "index" should be 7. 2020-01-22 15:46:34 -06:00
Dana Robinson
4e00ee2916 Fixed a bug in testpar/t_cache.c concerning checking expected
vs. actual cache entry reads and writes.
2020-01-22 12:31:56 -08:00
kmu
9afaf94bef not use hdf5 private header 2020-01-22 14:15:40 -06:00
kmu
9cc63d81fb fix float type cmp warning 2020-01-22 12:55:21 -06:00
kmu
04a2d20bba fix float type cmp warning 2020-01-22 12:55:01 -06:00
Allen Byrne
cf556437de Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ad8e79beece8ddea71715d3fd2634af12d78ca29':
  Fixed yet another small issue in test/efc.c.
2020-01-22 10:01:02 -06:00
kmu
b62f37c3f9 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-22 08:55:51 -06:00
Larry Knox
ad8e79beec Merge pull request #2290 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '24fe4b38da4786990cb95b117b45475404b05920':
  Fixed yet another small issue in test/efc.c.
2020-01-22 08:55:01 -06:00
Allen Byrne
904e7db518 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a250af4916b0625bfda2ca259d58d2ca41ed0a88':
  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 08:48:42 -06:00
Larry Knox
a250af4916 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 08:34:30 -06:00
Larry Knox
a92cfed71e Remove irrelevant sentence from comment. 2020-01-22 08:30:14 -06:00
Dana Robinson
24fe4b38da Fixed yet another small issue in test/efc.c. 2020-01-21 15:51:46 -08:00
Larry Knox
793eb6b219 Remove duplicate lines noted on forum by Eric Bavier 2020-01-21 15:42:37 -06:00
Larry Knox
30ccab0fb3 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-21 15:08:17 -06:00
kmu
9f80ffa1f1 fix missing prototype warning 2020-01-21 12:30:40 -06:00
kmu
408b9b1f3b fix uninitizlized warning 2020-01-21 12:29:48 -06:00
Allen Byrne
b826ae3cdd Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a63f22e27cad74c9bb98ca2b4d2a5fd118ef3571':
  Only 2 versions of H5O_info_t and H5O_iterate_t.
  PATH_MAX fix in efc test for Windows.
  H5vers.txt has versions v10 that should be v110 and some missing v110 entries.
2020-01-21 09:22:49 -06:00
kmu
9be5b2842e merge and fix 2020-01-20 21:11:32 -06:00
kmu
a95b5b1e05 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-20 20:47:48 -06:00
Larry Knox
a63f22e27c Merge pull request #2286 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '59f19282b34b5dcc29a2921fdbd475833d4f6b92':
  Only 2 versions of H5O_info_t and H5O_iterate_t.
2020-01-20 09:20:36 -06:00
Larry Knox
59f19282b3 Only 2 versions of H5O_info_t and H5O_iterate_t. 2020-01-20 09:16:19 -06:00
Larry Knox
b2831f9e71 Merge pull request #2280 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '9e610d835b74f01320fdc777086c88ef40b0b0a2':
  H5vers.txt has versions v10 that should be v110 and some missing v110 entries.
2020-01-20 08:18:37 -06:00
Dana Robinson
7403cba552 Merge pull request #2285 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '2f606a7c62c67d09835f004bad11fff6a76fc918':
  PATH_MAX fix in efc test for Windows.
2020-01-19 23:31:41 -06:00
Dana Robinson
2f606a7c62 PATH_MAX fix in efc test for Windows. 2020-01-19 18:51:07 -08:00
kmu
628d267162 merge and fix conflict 2020-01-19 08:09:44 -06:00
Allen Byrne
3e9980d20d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '66a94df13b3801547523f1ea90bc84fe2ee6824b':
  Removed UIUC from copyright, added helpful comment.
  Updated MANIFEST
  Added a config file for ARM (Tested on a Raspberry Pi 3B+ w/ gcc 6).
  Tidying from code review.
  Fixed stack and frame size warnings. Not complete, but fixes most of the easier cases.
2020-01-19 07:45:15 -06:00
Larry Knox
9e610d835b H5vers.txt has versions v10 that should be v110 and some missing v110
entries.
2020-01-18 22:59:29 -06:00
Dana Robinson
66a94df13b Merge pull request #2269 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:stack_size_warnings to develop
* commit '44739ccd4715cc9e15595575700e945341fcdbcc':
  Tidying from code review.
  Fixed stack and frame size warnings. Not complete, but fixes most of the easier cases.
2020-01-18 13:15:39 -06:00
Dana Robinson
3ef5b9e977 Merge pull request #2273 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:pi_config to develop
* commit 'c7292efc1879cdbbbeae9503fbaf170bd19c8383':
  Removed UIUC from copyright, added helpful comment.
  Updated MANIFEST
  Added a config file for ARM (Tested on a Raspberry Pi 3B+ w/ gcc 6).
2020-01-18 11:09:44 -06:00
Dana Robinson
c7292efc18 Removed UIUC from copyright, added helpful comment. 2020-01-17 16:20:39 -08:00
Allen Byrne
23656c7877 Note for common warnings files 2020-01-17 13:30:20 -06:00
Allen Byrne
cf84882b3c Create common build system files for warnings 2020-01-17 13:14:06 -06:00
Allen Byrne
5fadf221ba Merge pull request #2274 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'db65d57541dd766e9912fb0698210cd76107d328':
  Correct standalone function attributes
  Standalone should not use import/export attributes
2020-01-17 13:11:21 -06:00
kmu
385ac20380 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-17 12:51:45 -06:00
kmu
6e62be3456 Merge branch 'develop' of https://git.hdfgroup.org/scm/~kmu/hdf5 into develop 2020-01-17 12:51:12 -06:00
Allen Byrne
db65d57541 Correct standalone function attributes 2020-01-17 12:15:16 -06:00
Allen Byrne
1643f591d6 Standalone should not use import/export attributes 2020-01-17 10:08:10 -06:00
Dana Robinson
b51ae5f35e Updated MANIFEST 2020-01-17 05:00:23 -08:00
Dana Robinson
b5eb454396 Added a config file for ARM (Tested on a Raspberry Pi 3B+
w/ gcc 6).
2020-01-17 03:06:11 -08:00
Dana Robinson
44739ccd47 Merge branch 'develop' into stack_size_warnings 2020-01-16 16:32:33 -08:00
Dana Robinson
55670c88cf Merge pull request #2272 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:tr_squash to develop
* commit 'a92c735c9b57049e8c4037d3490f7e10f8eef4d6':
  Squashed commit of the token_refactoring branch:
2020-01-16 16:11:46 -06:00
Dana Robinson
a92c735c9b Squashed commit of the token_refactoring branch: 2020-01-16 13:29:34 -08:00
kmu
7e93acd94f Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-16 10:42:24 -06:00
Dana Robinson
46c3bc6b98 Tidying from code review. 2020-01-15 16:43:53 -08:00
Jerome Soumagne
024f7ba092 Merge pull request #2237 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:HDFFV-10992-fix to develop
* commit 'a7648879d729c1b75bd32f3a151831e9cbfbe31c':
  Add test for reference shutdown issue
  H5R: set app ref when incrementing ref_count on location held by reference (fix HDFFV-10992)
2020-01-15 17:27:48 -06:00
Jerome Soumagne
a7648879d7 Add test for reference shutdown issue 2020-01-15 17:23:33 -06:00
Allen Byrne
eaa8ab2774 Merge pull request #2270 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f73103745e9b9165e9d399ddb5b9991d7fb2a9e5':
  HDFFV-11001 fix if block
  HDFFV-11001 need to qualify all by parallel or serial types
  HDDFV-11001 add note
  HDFFV-11001 Add fine control over testing
  Adjust regex for warnings
  Update tools hid_t declarations with H5I_INVALID_HID
2020-01-15 13:57:45 -06:00
Allen Byrne
f73103745e HDFFV-11001 fix if block 2020-01-15 12:40:18 -06:00
Allen Byrne
7022a3380c HDFFV-11001 need to qualify all by parallel or serial types 2020-01-15 12:28:53 -06:00
Allen Byrne
26c65e106a HDDFV-11001 add note 2020-01-15 11:45:18 -06:00
Allen Byrne
a0ae5e9b89 HDFFV-11001 Add fine control over testing 2020-01-15 11:38:06 -06:00
Dana Robinson
1f8f6f019c Fixed stack and frame size warnings. Not complete, but fixes most of
the easier cases.
2020-01-15 09:32:01 -08:00
Allen Byrne
4077d99645 Adjust regex for warnings 2020-01-14 11:44:02 -06:00
kmu
d46ea2d08a merge and fix conflicts 2020-01-14 11:28:27 -06:00
kmu
71b817038d Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-14 11:25:49 -06:00
Allen Byrne
341600b4a6 Update tools hid_t declarations with H5I_INVALID_HID 2020-01-13 17:10:09 -06:00
Allen Byrne
c3c60dc7b5 Merge pull request #2263 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '06cff24b8de3d0cb60f89b2c200a98583dd136de':
  Ignore ZLIB warnings
2020-01-13 16:54:02 -06:00
Allen Byrne
06cff24b8d Ignore ZLIB warnings 2020-01-13 16:39:47 -06:00
Allen Byrne
fb7f1b3f0d Merge pull request #2256 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '1385457eb2874b75fd7b9fa0c470e9e4225a104e':
  Added JIRA note
  io_timer.c uses a parallel lib function
  Fix standalone compile issues
2020-01-13 16:02:02 -06:00
kmu
156baee371 change it back 2020-01-13 14:48:22 -06:00
kmu
03c5bcbea7 pick up missing piece 2020-01-13 13:29:05 -06:00
kmu
9712fad601 fix unused related warnings 2020-01-13 13:20:19 -06:00
Allen Byrne
1385457eb2 Added JIRA note 2020-01-13 09:19:04 -06:00
Allen Byrne
1e70eb845a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd14b96e95976967c03c7623f6800506b89292656':
  Modify external_env.c to prevent deleting test file of external.c. Fix for HDFFV-10941.
2020-01-10 08:21:48 -06:00
Larry Knox
d14b96e959 Merge pull request #2248 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '278980a654061b969a5b39b72fc3da6327f8aabf':
  Modify external_env.c to prevent deleting test file of external.c. Fix for HDFFV-10941.
2020-01-10 07:40:52 -06:00
Allen Byrne
2600c358a5 io_timer.c uses a parallel lib function 2020-01-10 06:49:29 -06:00
Jerome Soumagne
9c398c804b H5R: set app ref when incrementing ref_count on location held by reference
(fix HDFFV-10992)
2020-01-09 19:05:31 -06:00
Larry Knox
278980a654 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2020-01-09 16:32:04 -06:00
Larry Knox
a7c5c5715a Modify external_env.c to prevent deleting test file of external.c.
Fix for HDFFV-10941.
2020-01-09 16:29:24 -06:00
Allen Byrne
9b82f8c0ac Fix standalone compile issues 2020-01-09 16:00:13 -06:00
Allen Byrne
99fa2dbec3 Merge pull request #2239 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '21f3d628d702bfd6c9cbb4b90f18842023ea40b3':
  Separate result variables for the function performed
  Check for actual content before using file
  HDFFV-10995 - add missing import
  HDFFV-10995 - need to add import
  HDFFV-10995 - Update all time instances
  HDFFV-10995 adjust testing to tolerate non-US locale
2020-01-09 15:38:30 -06:00
Kimmy Mu
8d8b9f8ae8 Merge pull request #2244 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
* commit '6b1b4b3c0bdd803835efe8c531965bb9900a5363':
  fix test assert fail error
2020-01-09 15:31:19 -06:00
Allen Byrne
21f3d628d7 Separate result variables for the function performed 2020-01-09 15:18:55 -06:00
Allen Byrne
b97daea891 Check for actual content before using file 2020-01-09 13:30:00 -06:00
kmu
6b1b4b3c0b fix test assert fail error 2020-01-09 12:06:45 -06:00
Allen Byrne
d90ef60b32 HDFFV-10995 - add missing import 2020-01-08 14:37:31 -06:00
Allen Byrne
5a6f379420 HDFFV-10995 - need to add import 2020-01-08 13:14:58 -06:00
Allen Byrne
b73c0aeaa9 HDFFV-10995 - Update all time instances 2020-01-08 12:48:48 -06:00
Allen Byrne
59ab02a6c5 HDFFV-10995 adjust testing to tolerate non-US locale 2020-01-08 12:44:48 -06:00
Kimmy Mu
c3ae64a875 Merge pull request #2234 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
* commit '30ac64d83aff5e022d51a17fd6c1d72903ae4f02':
  add new type support
2020-01-07 08:21:25 -06:00
kmu
30ac64d83a add new type support 2020-01-06 20:15:58 -06:00
kmu
e938f4407e Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2020-01-06 13:04:23 -06:00
Kimmy Mu
127f07d64a 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-06 12:17:10 -06:00
Quincey Koziol
4f98de52d6 Merge pull request #2228 in HDFFV/hdf5 from minor_improvements_from_token_refactor to develop
* commit '0225e6d59698c9a720177766794619c7ad273f4a':
  Small changes from the token_refactoring branch, to reduce the delta to develop
2020-01-04 09:31:30 -06:00
Quincey Koziol
0225e6d596 Small changes from the token_refactoring branch, to reduce the delta to develop 2020-01-03 22:16:38 -06:00
Jordan Henderson
99e990e1ee Merge pull request #2226 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit 'ccf177344ae2d4b03802adecc08a6cc956a7dac5':
  Fix some places where H5P_DEFAULT gets passed down to a VOL connector
2020-01-03 17:29:30 -06:00
Jordan Henderson
ccf177344a Fix some places where H5P_DEFAULT gets passed down to a VOL connector 2020-01-03 12:43:51 -06:00
Dana Robinson
041b14c876 Merge pull request #2221 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '1a50056dafc8e22facda675acb43a71705fdd15c':
  Changed -Wformat-truncation to level 2 in CMake w/ gcc.
  Changed -Wformat-truncation's level from 2 to 1.
2020-01-02 11:42:23 -06:00
Dana Robinson
1a50056daf Changed -Wformat-truncation to level 2 in CMake w/ gcc. 2020-01-01 10:18:56 -08:00
Dana Robinson
4fd5a3e00b Changed -Wformat-truncation's level from 2 to 1. 2020-01-01 10:12:52 -08:00
Jordan Henderson
1e0a2d37ae Merge pull request #2216 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '9c9b9b1c7a49529da6f43bb4516669c9ff79f700':
  Fix issue in h5dump where reference objects weren't being destroyed
2019-12-31 13:14:54 -06:00
Jordan Henderson
9c9b9b1c7a Fix issue in h5dump where reference objects weren't being destroyed 2019-12-31 11:33:27 -06:00
Jordan Henderson
5681bede70 Merge pull request #2210 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '1795aa660afe47adb28436b24eac64fa77f183fd':
  Clean up tools warnings introduced by H5TOOLS_ERR_INIT macro
  Refactor tools library error handling macros
2019-12-30 18:10:44 -06:00
Jordan Henderson
1795aa660a Clean up tools warnings introduced by H5TOOLS_ERR_INIT macro 2019-12-30 18:02:06 -06:00
Jordan Henderson
2cbf31cb3a Refactor tools library error handling macros 2019-12-28 14:08:04 -06:00
Allen Byrne
34a68acc93 Merge pull request #2185 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '0350f4d000abf7051c1d03810d45c007e66734da':
  Add MPI libs to standalone perf
2019-12-24 07:21:55 -06:00
Allen Byrne
0350f4d000 Add MPI libs to standalone perf 2019-12-22 12:17:20 -06:00
Allen Byrne
9d9044e0e9 Merge pull request #2178 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b6bc749eac68335004ad80edc0f4e28322631d15':
  Grep needs to search error file
  Correct flaws in test scripts and files
  grep for failure text in error stack
  Add list to function arg
  Test files for new ref types
  h5diff test script files
  Add ref changes to test script
2019-12-22 11:55:43 -06:00
Allen Byrne
b6bc749eac Grep needs to search error file 2019-12-22 10:35:05 -06:00
Allen Byrne
2fa314d8b3 Correct flaws in test scripts and files 2019-12-22 10:05:06 -06:00
Allen Byrne
a2604b1e15 grep for failure text in error stack 2019-12-21 18:04:45 -06:00
Allen Byrne
b81802b71e Add list to function arg 2019-12-21 17:36:55 -06:00
Allen Byrne
6d28cbe853 Test files for new ref types 2019-12-21 17:35:13 -06:00
Allen Byrne
9ff8fe6477 h5diff test script files 2019-12-21 14:45:12 -06:00
Allen Byrne
4be4a50fe0 Add ref changes to test script 2019-12-21 14:37:04 -06:00
Allen Byrne
f679b7495d Merge pull request #2173 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '576e713924b1802a64ae2f6655d2389d70fadfd1':
  Add new h5diff files
  Fix compile statement order
  HDFFV-10976,-10980 Init obj_type before calling H5Rget_obj_type3
  Add unknown define for h5dump ref objects
  Standalone doesn't use h5test implementation.
  HDFFV-10980 - h5diff uses new ref APIs
2019-12-21 07:49:22 -06:00
Allen Byrne
576e713924 Add new h5diff files 2019-12-21 07:48:23 -06:00
Quincey Koziol
9016f66248 Merge pull request #2167 in HDFFV/hdf5 from refactor_optional_vol_callback_02 to develop
* commit 'c2ca33dcfa340af603399036dfddad0ebbd72f6f':
  Remove unnecessary H5CX call
  Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation
  Cleanups from PR reviews
  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.
2019-12-20 22:54:04 -06:00
Quincey Koziol
c2ca33dcfa Remove unnecessary H5CX call 2019-12-20 22:49:48 -06:00
Quincey Koziol
cf5cd3b639 Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation 2019-12-20 22:41:00 -06:00
Allen Byrne
de0f667076 Fix compile statement order 2019-12-20 14:18:01 -06:00
Allen Byrne
23f813026f HDFFV-10976,-10980 Init obj_type before calling H5Rget_obj_type3 2019-12-20 13:23:48 -06:00
Quincey Koziol
2c2c46d4ea Cleanups from PR reviews 2019-12-20 11:22:31 -06:00
Allen Byrne
d7c38eeee9 Add unknown define for h5dump ref objects 2019-12-20 11:08:37 -06:00
Allen Byrne
ca1b672ced Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7e0e9f83dc45a4ec1212bc96f6584d221073af39':
  Standalone doesn't use h5test lib implementation.
2019-12-20 09:53:11 -06:00
Allen Byrne
7e0e9f83dc Merge pull request #2172 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '50425ad4395b58ece517ab3a442d0dd703afa687':
  Standalone doesn't use h5test lib implementation.
2019-12-20 09:50:36 -06:00
Allen Byrne
50425ad439 Standalone doesn't use h5test lib implementation. 2019-12-20 09:48:09 -06:00
Allen Byrne
a057a82a69 Standalone doesn't use h5test implementation. 2019-12-20 09:28:02 -06:00
Allen Byrne
bc88c82308 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b55a584fd5b3aac6f2514fba41a6182030b497ae':
  In portable shell scripts (using #!/bin/sh) we have to use single square brackets, [ ], instead of the bash-ism double square brackets, [[ ]].
  Make this script work on hosts where PERL is not installed at /usr/bin/perl.
2019-12-20 09:02:51 -06:00
Quincey Koziol
58cf795321 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.
2019-12-19 22:41:37 -06:00
David Young
b55a584fd5 Merge pull request #2161 in HDFFV/hdf5 from ~DYOUNG/netbsd:develop to develop
* commit 'ec4418a75716b7f2ce53e627de28d139b281b545':
  In portable shell scripts (using #!/bin/sh) we have to use single square brackets, [ ], instead of the bash-ism double square brackets, [[ ]].
  Make this script work on hosts where PERL is not installed at /usr/bin/perl.
2019-12-19 17:24:52 -06:00
Allen Byrne
628c63f125 HDFFV-10980 - h5diff uses new ref APIs 2019-12-19 16:29:43 -06:00
Allen Byrne
63fdb78685 Merge pull request #2162 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '74d37c880f1309900b45bd9f4813dca225d2d3c4':
  Add missing note
2019-12-19 16:25:55 -06:00
Allen Byrne
74d37c880f Add missing note 2019-12-19 16:12:05 -06:00
David Young
ec4418a757 In portable shell scripts (using #!/bin/sh) we have to use single square
brackets, [ ], instead of the bash-ism double square brackets, [[ ]].
2019-12-19 15:06:57 -06:00
David Young
d11b347aa7 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '817235bb60e1f79c4b22b4a6116a1594aa75b81d': (145 commits)
  Remove const
  Fix compile error - declaration after executable statement
  Adjust cache.c only variables.
  Fix include to correct memory calls - big-endian issue.
  Update h5debug to retrieve file pointer through VOL framework
  Minor whitespace
  Remove duplicate instance
  Revert and move declaration
  Correct struct access
  Fix duplicate and varname
  Fix compile and test issues from DT
  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.
  Add release note for sanitizer support
  HDFFV-10979 cleanup globals
  TRILABS-135 Add clang analyzers
  HDFFV-10979 fix global name clash
  Fix issues found with ONLY_SHARED_LIBS option
  Fix 2010 compile issues
  Change from using H5Dcreate to H5Dcreate2
  Latest date first in RELEASE.txt
  ...
2019-12-19 14:55:49 -06:00
Allen Byrne
817235bb60 Merge pull request #2153 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ac87f12afe73fa22dcf31d9aeba05a259e215765':
  Remove const
  Fix compile error - declaration after executable statement
  Adjust cache.c only variables.
  Fix include to correct memory calls - big-endian issue.
2019-12-19 10:23:37 -06:00
Allen Byrne
ac87f12afe Remove const 2019-12-18 16:10:12 -06:00
Allen Byrne
27596d1157 Fix compile error - declaration after executable statement 2019-12-18 15:08:40 -06:00
Allen Byrne
b89d428087 Adjust cache.c only variables. 2019-12-18 14:29:46 -06:00
Allen Byrne
527105012b Fix include to correct memory calls - big-endian issue. 2019-12-18 12:44:27 -06:00
Quincey Koziol
134a31c4a9 Merge pull request #2151 in HDFFV/hdf5 from h5debug_vol_fix to develop
* commit 'b8b6659debc3b0592ef4f0fe9db60c3bec8619ad':
  Update h5debug to retrieve file pointer through VOL framework
2019-12-17 14:23:32 -06:00
Quincey Koziol
b8b6659deb Update h5debug to retrieve file pointer through VOL framework 2019-12-17 13:11:39 -06:00
Allen Byrne
9facd2347a Merge pull request #2146 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ae5385b7ae0a273fc4940ae1f145cf4e73807ff5':
  Minor whitespace
  Remove duplicate instance
2019-12-17 11:07:10 -06:00
Allen Byrne
ae5385b7ae Minor whitespace 2019-12-17 09:07:21 -06:00
Allen Byrne
7234dce255 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'fb3cc3767b182d2190f5d2ba839f588e1c139bc8':
  Fixed bugs in pread/pwrite I/O in VFDs.
2019-12-17 08:54:10 -06:00
Dana Robinson
fb3cc3767b Merge pull request #2109 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:pread_bugs to develop
* commit '99f85cbf15a637768c8df977ddc5eebe7683a60d':
  Fixed bugs in pread/pwrite I/O in VFDs.
2019-12-16 21:18:49 -06:00
Allen Byrne
ba2f6a74d3 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '9ee8c599d7b8cd495efb28cd9f068192712ae086':
  More fixes for previous committed PR #2079 dated Dec 5 2019. (1) H5O_dtype_ver_bounds[] for V112 should be H5O_DTYPE_VRESION_4 (2) The tests for the new reference types should work for V112 and beyond
2019-12-16 15:52:21 -06:00
Vailin Choi
9ee8c599d7 Merge pull request #2086 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/reference_ver_hyperslab_ver to develop
* commit 'b42325e8f5ff3b6bfa2ce446af5b6dc5cbbff666':
  More fixes for previous committed PR #2079 dated Dec 5 2019. (1) H5O_dtype_ver_bounds[] for V112 should be H5O_DTYPE_VRESION_4 (2) The tests for the new reference types should work for V112 and beyond
2019-12-16 13:49:16 -06:00
Allen Byrne
a966640208 Remove duplicate instance 2019-12-16 09:47:10 -06:00
Allen Byrne
568e30ef0d Merge pull request #2133 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'dc2cbdaf6720b6c3af72846989dfdbec4f207208':
  Revert and move declaration
  Correct struct access
  Fix duplicate and varname
  Fix compile and test issues from DT
  Add release note for sanitizer support
  HDFFV-10979 cleanup globals
  TRILABS-135 Add clang analyzers
2019-12-13 12:47:10 -06:00
Allen Byrne
dc2cbdaf67 Revert and move declaration 2019-12-13 12:28:18 -06:00
Allen Byrne
4ab00a3d1d Correct struct access 2019-12-13 11:59:20 -06:00
Allen Byrne
f57907d22c Fix duplicate and varname 2019-12-13 11:52:38 -06:00
Allen Byrne
e3c75f6cf7 Fix compile and test issues from DT 2019-12-13 11:36:09 -06:00
Neil Fortner
7aedeedf67 Merge pull request #2139 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:vol_init_fix to develop
* commit 'ce653ff82b7dd52b8e36a5eff7b1728c4b75d9f7':
  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-12 15:52:59 -06:00
Neil Fortner
ce653ff82b 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-12 15:52:21 -06:00
kmu
7366709e40 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-12-12 14:10:48 -06:00
Allen Byrne
e350797b71 Add release note for sanitizer support 2019-12-12 12:31:28 -06:00
Allen Byrne
3ab183ba99 HDFFV-10979 cleanup globals 2019-12-12 12:20:49 -06:00
Allen Byrne
74524c5a35 TRILABS-135 Add clang analyzers 2019-12-11 16:49:34 -06:00
Allen Byrne
8026c67a1c Merge pull request #2132 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8ef8f5fda952540dc18a43ccf65597089db175f9':
  HDFFV-10979 fix global name clash
2019-12-11 16:43:38 -06:00
Allen Byrne
8ef8f5fda9 HDFFV-10979 fix global name clash 2019-12-11 15:58:59 -06:00
kmu
d33f4365b5 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-12-11 15:54:40 -06:00
Allen Byrne
34ff52bd1a Merge pull request #2130 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6e7dcf170b39885f8aa4e7a35d1dc54f1489b375':
  Fix issues found with ONLY_SHARED_LIBS option
2019-12-11 15:51:55 -06:00
Allen Byrne
6e7dcf170b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5d94490e38eae88c5180c6ce1b3f74d82f1dd600':
  Fix 2010 compile issues
2019-12-11 15:13:26 -06:00
Allen Byrne
5d94490e38 Merge pull request #2128 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '1d5bf068224df9582dfc2280525352967a02367b':
  Fix 2010 compile issues
2019-12-11 14:11:48 -06:00
kmu
b0e5b2d933 removed unused parameter 2019-12-11 13:36:56 -06:00
kmu
0a2bb11b24 address problems from comments 2019-12-11 13:35:02 -06:00
Allen Byrne
1fc1b09bf3 Fix issues found with ONLY_SHARED_LIBS option 2019-12-11 12:28:33 -06:00
Allen Byrne
1d5bf06822 Fix 2010 compile issues 2019-12-11 11:36:46 -06:00
kmu
026c5b6f19 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-12-11 10:50:39 -06:00
kmu
45a62b2d46 fix and address comments 2019-12-11 10:44:56 -06:00
Richard Warren
b003ff5b1b Merge pull request #2127 in HDFFV/hdf5 from Fix_use_of_H5Dcreate_to_H5Dcreate2 to develop
* commit '2a94589f55bae69a06f8d672a904b9870d7353d1':
  Change from using H5Dcreate to H5Dcreate2
2019-12-11 10:44:41 -06:00
Richard Warren
2a94589f55 Change from using H5Dcreate to H5Dcreate2 2019-12-11 11:21:39 -05:00
Allen Byrne
5c97dbe59f Merge pull request #2118 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '51e799551309e16558297469edef6e2d232a3246':
  HDFFV-10974 Change defines to eliminate Windows conflict
2019-12-11 08:39:08 -06:00
Allen Byrne
51e7995513 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '6b670e353c1ea7f13ef72cc4297d9973102078bb':
  Correct assignment
  Fix java include, h5watch and remove clang tool.
  Add missing filenames
2019-12-11 08:29:33 -06:00
Larry Knox
6b670e353c Merge pull request #2123 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f2ef40feb8d1f5f31ab60f78bb37d2ba595aacb8':
  Correct assignment
  Fix java include, h5watch and remove clang tool.
  Add missing filenames
2019-12-10 23:44:30 -06:00
Allen Byrne
b260e2969f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'eb415973e81605e3c15bbb954d57dd5d42ad449c':
  Latest date first in RELEASE.txt
  Update RELEASE.txt with performance improvements
2019-12-10 15:00:46 -06:00
Allen Byrne
f2ef40feb8 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'eb415973e81605e3c15bbb954d57dd5d42ad449c':
  Latest date first in RELEASE.txt
  Update RELEASE.txt with performance improvements
2019-12-10 14:59:33 -06:00
Chris Hogan
eb415973e8 Merge pull request #2122 in HDFFV/hdf5 from ~CHOGAN/hdf5:chogan/develop/release_txt to develop
* commit '794d008375b094d4dd2d26b0bbf6d2c51fd39281':
  Latest date first in RELEASE.txt
  Update RELEASE.txt with performance improvements
2019-12-10 14:58:37 -06:00
Chris Hogan
794d008375 Latest date first in RELEASE.txt 2019-12-10 14:32:02 -06:00
Chris Hogan
64eb3e815a Update RELEASE.txt with performance improvements 2019-12-10 14:23:10 -06:00
Allen Byrne
ad0a727c69 Correct assignment 2019-12-10 14:19:31 -06:00
Allen Byrne
7535f5a728 Fix java include, h5watch and remove clang tool. 2019-12-10 13:55:34 -06:00
kmu
a00d71b2e2 change according to previous comments 2019-12-10 12:10:49 -06:00
kmu
62badd9ebc add missing piece 2019-12-10 10:59:34 -06:00
Allen Byrne
e2d299225e HDFFV-10974 Change defines to eliminate Windows conflict 2019-12-10 07:43:28 -06:00
Allen Byrne
96cb94a95c Add missing filenames 2019-12-09 14:14:39 -06:00
kmu
f2614c9042 more fix and address comments 2019-12-09 14:08:47 -06:00
Chris Hogan
89cb46ead3 Merge pull request #2113 in HDFFV/hdf5 from ~CHOGAN/hdf5:chogan/develop/10934_release_txt to develop
* commit 'c000061e6a6123d9cba7938bb8e6b94139cc3cc7':
  Add RELEASE.txt entry for Jira 10934
2019-12-09 11:13:06 -06:00
Chris Hogan
c000061e6a Add RELEASE.txt entry for Jira 10934 2019-12-09 11:09:34 -06:00
Allen Byrne
162497a3f9 Merge pull request #2031 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'c087ef41b637686ae5e783bfb0a48e91dbe3f58e': (28 commits)
  Add H5Rdestroy calls to cleanup
  Remove problem tests for now
  Add new test reference
  HDFFV-10876 fix compare reference
  HDFFV-10876 ignore old reference API tests
  Add missing quotes
  Fix windows 10 compile error
  Correct indentation
  Revert declaration used in macro.
  Revert declaration deletion.
  HDFFV-10876 add note
  Address compile warnings
  Fix compile errors - mostly in jni
  HDFFV-10876 Update dump to match DDL spec
  Add extra line
  Adjust whitespace
  Update h5ls help and rework dump_mem routines for attrs
  Update create calls
  Add debug compile option as comment
  Update reference calls
  ...
2019-12-09 10:43:05 -06:00
kmu
8b51394f38 Merge branch 'develop' into bugfix/intel_warnings 2019-12-09 09:18:56 -06:00
Dana Robinson
99f85cbf15 Fixed bugs in pread/pwrite I/O in VFDs.
Fixes HDFFV-10945.
2019-12-08 21:52:29 -08:00
Allen Byrne
c087ef41b6 Add H5Rdestroy calls to cleanup 2019-12-08 14:43:06 -06:00
Allen Byrne
1cde6b2fba Remove problem tests for now 2019-12-08 14:03:05 -06:00
Allen Byrne
349656ecba Add new test reference 2019-12-08 13:58:35 -06:00
Allen Byrne
eed923ec70 HDFFV-10876 fix compare reference 2019-12-08 13:25:14 -06:00
Allen Byrne
1d3186ad45 HDFFV-10876 ignore old reference API tests 2019-12-07 15:05:08 -06:00
Allen Byrne
972cf8e60c Add missing quotes 2019-12-07 10:30:38 -06:00
Allen Byrne
bc20a7e47a Fix windows 10 compile error 2019-12-07 10:26:30 -06:00
Allen Byrne
7d6d3e2956 Correct indentation 2019-12-07 08:42:19 -06:00
Allen Byrne
7225519e2a Revert declaration used in macro. 2019-12-07 08:38:06 -06:00
Allen Byrne
b98f630009 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '9c3900d0bf05a65e59cce6dc613b38b240599d93':
  Add note to RELEASE.txt for H5Sselect_adjust.
  Add RELEASE.txt note for H5Sselect_project_interesection
  Minor tweaks noticed while going over VOL documentation.
2019-12-07 08:31:52 -06:00
Allen Byrne
73c8e2f9d6 Revert declaration deletion. 2019-12-07 08:31:12 -06:00
Dana Robinson
9c3900d0bf Merge pull request #2082 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit 'bbd4f7d2a0bea8f984868e2bf88dd1c5f5aa35e8':
  Minor tweaks noticed while going over VOL documentation.
2019-12-06 17:07:10 -06:00
Neil Fortner
26b8bb8e6c Merge pull request #2098 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit 'f6961c82bf3e7b848b071a0299dcc3753361e35d':
  Add note to RELEASE.txt for H5Sselect_adjust.
2019-12-06 16:19:50 -06:00
Neil Fortner
f6961c82bf Add note to RELEASE.txt for H5Sselect_adjust. 2019-12-06 16:18:33 -06:00
Neil Fortner
ac14c63146 Merge pull request #2093 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit '411241bea660411b99925edc8040139443fe8a74':
  Add RELEASE.txt note for H5Sselect_project_interesection
2019-12-06 14:36:11 -06:00
Neil Fortner
411241bea6 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~nfortne2/hdf5_naf into develop 2019-12-06 14:35:27 -06:00
Neil Fortner
848be85f00 Add RELEASE.txt note for H5Sselect_project_interesection 2019-12-06 14:34:56 -06:00
Allen Byrne
e6c54c372f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'fa31520e25ec27140f8d0dfec859aede163d2201':
  Add RELEASE.txt note for HVLget_file_type()
2019-12-06 14:20:40 -06:00
Neil Fortner
fa31520e25 Merge pull request #2090 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit 'c7165f05444ce5ae6c5db50f2faf33023ba0eac0':
  Add RELEASE.txt note for HVLget_file_type()
2019-12-06 14:15:24 -06:00
Neil Fortner
c7165f0544 Add RELEASE.txt note for HVLget_file_type() 2019-12-06 14:14:22 -06:00
kmu
189935ff26 remove unnecessary check macro 2019-12-06 14:12:57 -06:00
Allen Byrne
0d74deba5d HDFFV-10876 add note 2019-12-06 14:10:56 -06:00
Allen Byrne
fce2a31dc5 Address compile warnings 2019-12-06 13:55:34 -06:00
Allen Byrne
52c9749d6f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b816f4c4aaf9bc80dbde35158b520e693f135fa2':
  Fixed PR issues pointed out by Allen
  Remove the Copyright UofI per Larry's guidance
  Adds a new t_2Gio.c MPI test
2019-12-06 12:58:01 -06:00
Allen Byrne
cf61098fa6 Fix compile errors - mostly in jni 2019-12-06 12:57:38 -06:00
Richard Warren
b816f4c4aa Merge pull request #2056 in HDFFV/hdf5 from HDFFV-10929_2GB_testing to develop
* commit '7dfeab4863a25a79999fa1e5ede12a1aa685ca97':
  Fixed PR issues pointed out by Allen
  Remove the Copyright UofI per Larry's guidance
  Adds a new t_2Gio.c MPI test
2019-12-06 12:56:51 -06:00
kmu
f22e258586 remove unsed var,function,macro, etc 2019-12-06 12:03:19 -06:00
Vailin Choi
b42325e8f5 More fixes for previous committed PR #2079 dated Dec 5 2019.
(1) H5O_dtype_ver_bounds[] for V112 should be H5O_DTYPE_VRESION_4
(2) The tests for the new reference types should work for V112 and beyond
2019-12-06 11:55:36 -06:00
Vailin Choi
bb9fdb8f4b Merge pull request #22 in ~VCHOI/my_third_fork from develop to bugfix/reference_ver_hyperslab_ver
* commit '107bcbd3dfff51895c99ea3ff71afa0ce693a956':
  Implement support for using H5Dvlen_get_buf_size with non-native VOL connectors.
  Add H5VL_MAP_OPTIONAL operation id (unused currently).
  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.
2019-12-06 11:27:45 -06:00
Richard Warren
7dfeab4863 Fixed PR issues pointed out by Allen 2019-12-06 10:58:59 -05:00
kmu
1f871e23b7 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-12-06 09:51:06 -06:00
Richard Warren
c62aaaff46 Remove the Copyright UofI per Larry's guidance 2019-12-06 09:33:55 -05:00
Dana Robinson
bbd4f7d2a0 Minor tweaks noticed while going over VOL documentation. 2019-12-05 22:10:02 -08:00
Allen Byrne
eb52c2ea6f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '107bcbd3dfff51895c99ea3ff71afa0ce693a956':
  Implement support for using H5Dvlen_get_buf_size with non-native VOL connectors.
  Two fixes: (1) Set the version for reference datatype messge to H5O_DTYPE_VERSION_4. (2) Verify the decoded version for hyperslab selection.
  Add H5VL_MAP_OPTIONAL operation id (unused currently).
  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.
2019-12-05 17:26:00 -06:00
Jerome Soumagne
107bcbd3df Merge pull request #2076 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:type_fixes to develop
* commit '7b03a1c03633d695b487642e54f897c715f8622e':
  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.
2019-12-05 17:25:22 -06:00
Allen Byrne
e8ad5f6d1a HDFFV-10876 Update dump to match DDL spec 2019-12-05 17:21:02 -06:00
Neil Fortner
5efd80f6ec Merge pull request #2073 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:vol_vl_buf_size to develop
* commit '12ac0587e7b9b18a56907aa78f68c084dd5b51b4':
  Implement support for using H5Dvlen_get_buf_size with non-native VOL connectors.
2019-12-05 16:13:12 -06:00
Neil Fortner
12ac0587e7 Implement support for using H5Dvlen_get_buf_size with
non-native VOL connectors.
2019-12-05 16:11:30 -06:00
Vailin Choi
8c9b8047ea Merge pull request #2079 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/reference_ver_hyperslab_ver to develop
* commit '1e10b3212ed5904b69d9f4c4bcb4d0122dfd7c77':
  Two fixes: (1) Set the version for reference datatype messge to H5O_DTYPE_VERSION_4. (2) Verify the decoded version for hyperslab selection.
2019-12-05 16:11:08 -06:00
Neil Fortner
bdbe010fd3 Merge pull request #2078 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit '73709ef2fa2494e675566dd3310c6c8ebac01c18':
  Add H5VL_MAP_OPTIONAL operation id (unused currently).
2019-12-05 16:03:16 -06:00
Vailin Choi
1e10b3212e Two fixes:
(1) Set the version for reference datatype messge to H5O_DTYPE_VERSION_4.
(2) Verify the decoded version for hyperslab selection.
2019-12-05 15:09:23 -06:00
Neil Fortner
73709ef2fa Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~nfortne2/hdf5_naf into develop 2019-12-05 14:57:35 -06:00
Neil Fortner
9cb7729730 Add H5VL_MAP_OPTIONAL operation id (unused currently). 2019-12-05 14:56:57 -06:00
Jerome Soumagne
7b03a1c036 Fix H5VL_token_t type and fix H5VL_loc_by_token to use H5VL_token_t * 2019-12-05 14:42:06 -06:00
David Young
60756183d9 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-05 14:41:45 -06:00
Allen Byrne
4747e2f2ad Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'c7b3d6d6a5c1d376812e17c0ddb26f55334a2c59':
  Yanked -Wc++-compat from the flags used to build the C library in both the Autotools and CMake.
2019-12-05 09:30:11 -06:00
Dana Robinson
c7b3d6d6a5 Merge pull request #2072 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:cpp_warning_disable to develop
* commit '1ad02a445920578654d257bb66aa1e8e7e368018':
  Yanked -Wc++-compat from the flags used to build the C library in both the Autotools and CMake.
2019-12-04 18:08:57 -06:00
Allen Byrne
4f74548f53 Add extra line 2019-12-04 17:00:45 -06:00
Allen Byrne
11825bc525 Adjust whitespace 2019-12-04 16:59:03 -06:00
Allen Byrne
d552e97eae Update h5ls help and rework dump_mem routines for attrs 2019-12-04 16:36:32 -06:00
Allen Byrne
cc2407257a Update create calls 2019-12-04 12:35:48 -06:00
Allen Byrne
8f9005570a Add debug compile option as comment 2019-12-04 12:24:53 -06:00
Allen Byrne
ba8f2f1174 Update reference calls 2019-12-04 12:24:53 -06:00
Allen Byrne
e994c9cb4a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'aa0b54e27e5d6f0b7c23fe5662d5c8f30898d7f4':
  Fixed missing blob callbacks in test VOL connectors.
  Add support for scalar dataspaces to H5Sproject_intersection.  Add checking for ank validity.
  Fix issues with using H5Pget_fill_value() with file datatypes retrieved from H5VLget_file_type().
2019-12-04 11:36:07 -06:00
Neil Fortner
aa0b54e27e Merge pull request #2064 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:vol_fillval to develop
* commit '28294070597c8a04c10e55a843dfe6dbae6ef04c':
  Fix issues with using H5Pget_fill_value() with file datatypes retrieved from H5VLget_file_type().
2019-12-04 11:35:58 -06:00
Neil Fortner
62b5de82e2 Merge pull request #2065 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:scalar_spi2 to develop
* commit 'ac1a8ab5fe7c58533e005fef94d3acb2d46f4b31':
  Add support for scalar dataspaces to H5Sproject_intersection.  Add checking for ank validity.
2019-12-04 11:33:43 -06:00
Dana Robinson
1ad02a4459 Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2019-12-04 00:49:52 -08:00
kmu
132fa33dad fix intel compile warnings 2019-12-03 20:52:55 -06:00
Dana Robinson
96429e48e3 Merge pull request #2070 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor to develop
* commit '43c48fbadc994f740f63caeb5110442c79346501':
  Fixed missing blob callbacks in test VOL connectors.
2019-12-03 17:27:47 -06:00
Dana Robinson
43c48fbadc Fixed missing blob callbacks in test VOL connectors. 2019-12-03 15:14:57 -08:00
Allen Byrne
915184104b Add missing javadoc for new arg 2019-12-03 16:37:40 -06:00
Allen Byrne
7ad3d62a5c Update data output reference 2019-12-03 16:05:35 -06:00
Allen Byrne
12fd139e90 Update reference files and fix int as string 2019-12-03 14:43:05 -06:00
Allen Byrne
7c057f658a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ca34de56cd336f58c4bcf4ac9e1460f898fba3c9':
  Add OAPL parameter to H5Rcreate_ APIs
  Fix failing test and retain semantics for chunk cache properties in non-chunked datasets
  Add two missing calls to H5I_dec_ref for new dapl_id
  Community-proposed fix
2019-12-03 12:35:02 -06:00
Jordan Henderson
ca34de56cd Merge pull request #2066 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '874900d39561f97c0a41b7efc59686daa66df95e':
  Add OAPL parameter to H5Rcreate_ APIs
2019-12-03 11:32:55 -06:00
Jordan Henderson
874900d395 Add OAPL parameter to H5Rcreate_ APIs 2019-12-02 17:05:15 -06:00
Chris Hogan
4b2560fa81 Merge pull request #2049 in HDFFV/hdf5 from ~CHOGAN/hdf5:chogan/issue_10934 to develop
* commit '3664cea5d6f87a7e8e708191f9cea36077424a80':
  Fix failing test and retain semantics for chunk cache properties in non-chunked datasets
  Add two missing calls to H5I_dec_ref for new dapl_id
  Community-proposed fix
2019-12-02 16:58:16 -06:00
Allen Byrne
8888cfd25c Update to new error text 2019-12-02 14:58:57 -06:00
Allen Byrne
929490f6bc Update reference files to latest output 2019-12-02 12:01:40 -06:00
kmu
463199464f Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-12-02 10:46:22 -06:00
Neil Fortner
ac1a8ab5fe Add support for scalar dataspaces to H5Sproject_intersection. Add
checking for ank validity.
2019-12-02 10:32:03 -06:00
Allen Byrne
7e92c2e3e5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '0772b975d1d2bfa15aedeb4b6e2c2aac78c61a2f':
  Fix missing free in H5T__ref_mem_read()
  Fix bugs in H5VL file comparison code.  Add short circuit success to H5VL_cmp_connector_cls().
  Implement file comparison VOL callback.  Other changes to allow references to work with non-native connectors.  There is a bug somewhere.
  Add support for point selections to H5S_select_project_intersection.
  Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILE
  Revert "Make a squash commit of 'Quiet some warnings by adjusting warnings level and fixing some code.' (commit 5c911d8baf)"
  Revert "Oops, remove more C99 designated initializers for VS 2010 compatibility."
  H5R: fix H5Tconv to check for null references
  Trivial parameter renaming in VOL API calls.
  Move checking for zero offset in selection adjust calls to the selection callbacks.  This makes the procedure for checking it consistent across selection types and between _s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package.
  Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() with H5Sselect_adjust.  Implement "adjust_s" callback for all selection types.  Add range checking to H5Sselect_adjust().
2019-12-02 08:00:20 -06:00
Neil Fortner
0772b975d1 Merge pull request #2063 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:vol_file_cmp to develop
* commit '40b2658b4b266b4dc65ec3db2897e0aaf54f8e42':
  Fix missing free in H5T__ref_mem_read()
  Fix bugs in H5VL file comparison code.  Add short circuit success to H5VL_cmp_connector_cls().
  Implement file comparison VOL callback.  Other changes to allow references to work with non-native connectors.  There is a bug somewhere.
2019-11-30 18:44:02 -06:00
Neil Fortner
40b2658b4b Fix missing free in H5T__ref_mem_read() 2019-11-28 23:07:33 -06:00
Neil Fortner
ece625e3b6 Fix bugs in H5VL file comparison code. Add short circuit success to
H5VL_cmp_connector_cls().
2019-11-27 22:48:01 -06:00
Jerome Soumagne
648073ea8e Merge pull request #2059 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_nullref to develop
* commit '6b68cc352ffabb5fe997db1eb52216b3ee80e669':
  H5R: fix H5Tconv to check for null references
2019-11-27 22:31:18 -06:00
Neil Fortner
e23e67798a Implement file comparison VOL callback. Other changes to allow
references to work with non-native connectors.  There is a bug
somewhere.
2019-11-27 16:50:01 -06:00
Neil Fortner
2829407059 Fix issues with using H5Pget_fill_value() with file datatypes retrieved
from H5VLget_file_type().
2019-11-27 14:52:30 -06:00
Neil Fortner
33a5acf8a5 Merge pull request #2050 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:point_spi to develop
* commit 'ad2fbb022e096233444489e69b93343a4b7e9631':
  Add support for point selections to H5S_select_project_intersection.
2019-11-27 14:47:23 -06:00
Neil Fortner
ad2fbb022e Add support for point selections to H5S_select_project_intersection. 2019-11-27 14:45:53 -06:00
Jerome Soumagne
68852d726c Merge pull request #2057 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_get_file_id_native to develop
* commit 'f46494ffd8449fc610798c8af312362608029d3d':
  Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILE
2019-11-27 14:19:41 -06:00
Jerome Soumagne
f46494ffd8 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-11-27 14:17:08 -06:00
David Young
5e800bff9d Merge pull request #2062 in HDFFV/hdf5 from ~DYOUNG/vchoi_fork:revert-c99-designated to develop
* commit '0108072f7a746b809952d5cc560577f931b64f71':
  Revert "Make a squash commit of 'Quiet some warnings by adjusting warnings level and fixing some code.' (commit 5c911d8baf)"
  Revert "Oops, remove more C99 designated initializers for VS 2010 compatibility."
2019-11-27 13:18:53 -06:00
David Young
0108072f7a Revert "Make a squash commit of 'Quiet some warnings by adjusting warnings level and fixing some code.' (commit 5c911d8baf)" 2019-11-27 11:26:02 -06:00
David Young
8fb9fb5d4d Revert "Oops, remove more C99 designated initializers for VS 2010 compatibility."
This reverts commit f907b511d0.
2019-11-27 11:16:52 -06:00
kmu
ea0759d047 Merge branch 'develop' of https://git.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-11-26 21:59:51 -06:00
kmu
e0262c8bed Revert "fix warnings from Intel compiler"
This reverts commit 8b9338ab57.
2019-11-26 17:24:48 -06:00
kmu
bfbd613f53 Revert "fix warnings and some text alignment"
This reverts commit d06474c4e1.
2019-11-26 17:24:24 -06:00
kmu
e971c0afa1 Revert "let hdf5 pick up the right compiler in Intel environment"
This reverts commit 3613ec7296.
2019-11-26 17:24:11 -06:00
kmu
2bb0f52edf Revert "fix issues from previous PR comments"
This reverts commit d242a900f4.
2019-11-26 17:23:58 -06:00
kmu
4c8a2f726a Revert "using a different MACRO"
This reverts commit fc61b7a9f3.
2019-11-26 17:23:34 -06:00
Jerome Soumagne
6b68cc352f H5R: fix H5Tconv to check for null references
Valid for both deprecated and non-deprecated references

Update test
2019-11-26 15:50:08 -06:00
Neil Fortner
9f61c26927 Merge pull request #2045 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:select_adjust to develop
* commit '4e12984b77cdd7615843d94f8de8d54db27476ac':
  Move checking for zero offset in selection adjust calls to the selection callbacks.  This makes the procedure for checking it consistent across selection types and between _s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package.
  Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() with H5Sselect_adjust.  Implement "adjust_s" callback for all selection types.  Add range checking to H5Sselect_adjust().
2019-11-26 11:38:25 -06:00
Richard Warren
8a790fe85a Adds a new t_2Gio.c MPI test 2019-11-26 09:20:47 -05:00
Dana Robinson
5f3414e4d9 Merge pull request #2054 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_trivial to develop
* commit '9a93ecac522d9032efd9cdc39ff0550412e54565':
  Trivial parameter renaming in VOL API calls.
2019-11-25 23:23:52 -06:00
Allen Byrne
dcae4544a3 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a8892bb42d6f6e4fbc30fae0eb2b957f81c938b9': (45 commits)
  Oops, remove more C99 designated initializers for VS 2010 compatibility.
  Add an #include to get a function declaration.
  Don't use C99 designated initializers, they're not compatible with Visual Studio 2010.
  Quiet some more maybe-uninitialized warnings---each is a false positive, *sigh*.  This is more code that may not compile with VS2010, *sigh sigh*.
  Always warn on maybe-uninitialized.  -Wincompatible-pointer-types was not available until GCC 5, so enable it only if that's the GCC version we're using.
  Only promote maybe-uninitialized warnings to errors on GCC 8.  Even on GCC 8, there may be false positives at low optimization levels?  I need to check.
  Only use -Werror=cast-function-type with GCC 8 and later.
  Put all of the -W options back into the order I found them in so that it's easier to compare old and new config/gnu-flags.
  Add new source files to CMakeLists.txt.
  Mention the -Werror= flags in libhdf5.settings.in.
  free -> HDfree
  Promote decleration-after-statement warnings to errors.
  Quiet decleration-after-statement warnings.
  Move a statement under some declarations since some vintages of Visual Studio don't like declarations after statements.
  Document H5D__chunk_mem_xfree_wrapper().
  Undo accidental test deletion.
  Oops, delete a debug printf that snuck in here.
  Undo my changes to the HD macros, hadn't really intended those to be on this branch....
  Make errors of some more warnings.  Move disabled warnings to DEVELOPER_WARNING_CFLAGS.  Put just one warning option on a line, and sort some of the options.
  Cast to the parameter type, H5VL_token_t *, instead of to unsigned char *.
  ...
2019-11-25 18:21:14 -06:00
David Young
a8892bb42d Merge pull request #2055 in HDFFV/hdf5 from ~DYOUNG/vchoi_fork:add-werror-and-squash-some to develop
* commit 'f907b511d06612dafc7814a7c30f2f3d2b76d52b':
  Oops, remove more C99 designated initializers for VS 2010 compatibility.
2019-11-25 17:33:54 -06:00
David Young
f907b511d0 Oops, remove more C99 designated initializers for VS 2010 compatibility. 2019-11-25 17:30:08 -06:00
Dana Robinson
9a93ecac52 Trivial parameter renaming in VOL API calls. 2019-11-25 15:30:04 -08:00
David Young
5c911d8baf Merge pull request #2030 in HDFFV/hdf5 from ~DYOUNG/vchoi_fork:add-werror-and-squash-some to develop
* commit '62208b056a09c01855fbac7f75146be58ad6bfe5': (44 commits)
  Add an #include to get a function declaration.
  Don't use C99 designated initializers, they're not compatible with Visual Studio 2010.
  Quiet some more maybe-uninitialized warnings---each is a false positive, *sigh*.  This is more code that may not compile with VS2010, *sigh sigh*.
  Always warn on maybe-uninitialized.  -Wincompatible-pointer-types was not available until GCC 5, so enable it only if that's the GCC version we're using.
  Only promote maybe-uninitialized warnings to errors on GCC 8.  Even on GCC 8, there may be false positives at low optimization levels?  I need to check.
  Only use -Werror=cast-function-type with GCC 8 and later.
  Put all of the -W options back into the order I found them in so that it's easier to compare old and new config/gnu-flags.
  Add new source files to CMakeLists.txt.
  Mention the -Werror= flags in libhdf5.settings.in.
  free -> HDfree
  Promote decleration-after-statement warnings to errors.
  Quiet decleration-after-statement warnings.
  Move a statement under some declarations since some vintages of Visual Studio don't like declarations after statements.
  Document H5D__chunk_mem_xfree_wrapper().
  Undo accidental test deletion.
  Oops, delete a debug printf that snuck in here.
  Undo my changes to the HD macros, hadn't really intended those to be on this branch....
  Make errors of some more warnings.  Move disabled warnings to DEVELOPER_WARNING_CFLAGS.  Put just one warning option on a line, and sort some of the options.
  Cast to the parameter type, H5VL_token_t *, instead of to unsigned char *.
  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.
  ...
2019-11-25 16:58:27 -06:00
David Young
62208b056a Add an #include to get a function declaration. 2019-11-25 16:56:03 -06:00
David Young
d07aeef6ad Merge remote-tracking branch 'hdf5/develop' into add-werror-and-squash-some 2019-11-25 16:38:21 -06:00
Chris Hogan
3664cea5d6 Fix failing test and retain semantics for chunk cache properties in non-chunked datasets 2019-11-25 16:28:51 -06:00
David Young
f2f8a554e6 Don't use C99 designated initializers, they're not compatible with
Visual Studio 2010.
2019-11-25 15:43:56 -06:00
kmu
fc61b7a9f3 using a different MACRO 2019-11-25 15:17:55 -06:00
Allen Byrne
be971e8ec2 Remove unneeded flag overwrites 2019-11-25 12:53:45 -06:00
Allen Byrne
a8e8f491c0 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b8a56718e40efaf6954a760984b9d513dbff8f7d':
  Add documentation for H5CX_get_ohdr_flags
  Add object header flags to API context
  Use major error code of calling package
  Handle H5CX_state_t for lcpl
  Add character encoding to lcpl context
  Change LC property name from 'create_intermediate_group' to 'intermediate_group'
  Use API context to store/retrieve LCPL when creating intermediate groups
2019-11-25 12:52:02 -06:00
kmu
d242a900f4 fix issues from previous PR comments 2019-11-25 12:48:51 -06:00
Chris Hogan
b8a56718e4 Merge pull request #2029 in HDFFV/hdf5 from ~CHOGAN/hdf5:feature/cx_lcpl to develop
* commit '4ce9c10c568ff81ebd4eb7585039cbe3c40d1718':
  Add documentation for H5CX_get_ohdr_flags
  Add object header flags to API context
  Use major error code of calling package
  Handle H5CX_state_t for lcpl
  Add character encoding to lcpl context
  Change LC property name from 'create_intermediate_group' to 'intermediate_group'
  Use API context to store/retrieve LCPL when creating intermediate groups
2019-11-25 11:39:04 -06:00
David Young
edd5297143 Quiet some more maybe-uninitialized warnings---each is a false positive,
*sigh*.  This is more code that may not compile with VS2010, *sigh
sigh*.
2019-11-22 15:31:00 -06:00
David Young
6d5ec83fc3 Always warn on maybe-uninitialized. -Wincompatible-pointer-types was not
available until GCC 5, so enable it only if that's the GCC version we're using.
2019-11-22 14:34:42 -06:00
David Young
fa1dfbbd8d Only promote maybe-uninitialized warnings to errors on GCC 8. Even on
GCC 8, there may be false positives at low optimization levels?  I need
to check.
2019-11-22 14:23:07 -06:00
David Young
dde718ad51 Only use -Werror=cast-function-type with GCC 8 and later. 2019-11-22 13:49:59 -06:00
David Young
edb6f34440 Put all of the -W options back into the order I found them in so that it's
easier to compare old and new config/gnu-flags.
2019-11-22 13:41:45 -06:00
Chris Hogan
0de8401d34 Add two missing calls to H5I_dec_ref for new dapl_id 2019-11-21 16:21:06 -06:00
Allen Byrne
772846eb05 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '33d173d672f4affc804cf6e3c43b92693bd3ed68':
  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-11-21 09:33:23 -06:00
Allen Byrne
5fe5caf560 Comment correction 2019-11-21 09:33:04 -06:00
David Young
456171651a Add new source files to CMakeLists.txt. 2019-11-20 16:56:00 -06:00
David Young
adb0c7bde5 Mention the -Werror= flags in libhdf5.settings.in. 2019-11-20 15:54:15 -06:00
David Young
559bcaf570 free -> HDfree 2019-11-20 15:53:46 -06:00
Neil Fortner
33d173d672 Merge pull request #2043 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:seq_list_fix to develop
* commit 'c104f4cb87a1558ab6a772967887738dc9800f0d':
  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-11-20 12:02:46 -06:00
Allen Byrne
79f45aacea Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '13456df8a47fdcd8f96f170c9218e57a03066120':
  Minor correction
  Update list of tested platforms
  Add VS2019 support
  Fixed the H5_mpi_get_bigio_count function prototype
2019-11-20 06:51:54 -06:00
Allen Byrne
13456df8a4 Merge pull request #2048 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'efe234c832581d16d3da41fe71b50ef71fd44acc':
  Minor correction
  Update list of tested platforms
  Add VS2019 support
2019-11-19 15:48:06 -06:00
Allen Byrne
efe234c832 Minor correction 2019-11-18 15:32:19 -06:00
Allen Byrne
0f09287b19 Update list of tested platforms 2019-11-18 15:02:10 -06:00
Allen Byrne
265325fb9a Add VS2019 support 2019-11-18 14:58:06 -06:00
Richard Warren
3f9c7efbd9 Merge pull request #2047 in HDFFV/hdf5 from h5_private_prototype_fix to develop
* commit 'c440e05de82b224a0a6b042ec8a27accdc1e48ae':
  Fixed the H5_mpi_get_bigio_count function prototype
2019-11-18 14:18:55 -06:00
Chris Hogan
fd1970572f Community-proposed fix 2019-11-18 14:07:03 -06:00
Richard Warren
c440e05de8 Fixed the H5_mpi_get_bigio_count function prototype 2019-11-18 15:04:35 -05:00
Neil Fortner
4e12984b77 Move checking for zero offset in selection adjust calls to the selection callbacks. This makes the
procedure for checking it consistent across selection types and between
_s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package.
2019-11-18 13:33:36 -06:00
Neil Fortner
4064332a2d Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() with
H5Sselect_adjust.  Implement "adjust_s" callback for all selection
types.  Add range checking to H5Sselect_adjust().
2019-11-18 11:53:50 -06:00
Allen Byrne
cc22fb0ae5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3593b3d201dd6eac4a71e67db02a54959d9a169e':
  Correct file extension
2019-11-16 08:15:58 -06:00
Neil Fortner
c104f4cb87 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-11-15 16:47:30 -06:00
Chris Hogan
4ce9c10c56 Add documentation for H5CX_get_ohdr_flags 2019-11-15 16:19:19 -06:00
Allen Byrne
3593b3d201 Merge pull request #2042 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'c2fd059704e9232a3d3221ddd0c84803256baec2':
  Correct file extension
2019-11-15 16:00:39 -06:00
Allen Byrne
c2fd059704 Correct file extension 2019-11-14 16:41:18 -06:00
Chris Hogan
a7b35b8584 Add object header flags to API context
Add missing DCPL to API context state
Replace a couple LCPL H5P_get calls with H5CX_get_*
2019-11-14 15:56:15 -06:00
kmu
3613ec7296 let hdf5 pick up the right compiler in Intel environment 2019-11-14 09:28:03 -06:00
Allen Byrne
b3e7dab9f6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '07b59c0b63041f1be964aee2a27f5c748c29d688':
  Implement public H5Sselect_project_intersection().  Updated internal algorithm to (optionally) avoid sharing selection data structures. Tested internal code (including with valgrind) by setting VDS code to avoid sharing selection, has since been changed to share selection for performance, so this code is not yet tested in regression tests.  API has not been tested.
2019-11-13 17:16:36 -06:00
David Young
29561bac95 Promote decleration-after-statement warnings to errors. 2019-11-13 14:39:12 -06:00
David Young
bf6b89c841 Quiet decleration-after-statement warnings. 2019-11-13 14:38:22 -06:00
David Young
7dcd36a37d Move a statement under some declarations since some vintages of Visual
Studio don't like declarations after statements.
2019-11-13 14:21:15 -06:00
David Young
3dd539473b Document H5D__chunk_mem_xfree_wrapper(). 2019-11-13 13:48:07 -06:00
David Young
bd77af437f Undo accidental test deletion. 2019-11-13 13:41:05 -06:00
David Young
305177a51f Oops, delete a debug printf that snuck in here. 2019-11-13 13:39:59 -06:00
David Young
b0dd6184bc Undo my changes to the HD macros, hadn't really intended those to be on
this branch....
2019-11-13 13:38:47 -06:00
David Young
560db03d66 Make errors of some more warnings. Move disabled warnings to
DEVELOPER_WARNING_CFLAGS.  Put just one warning option on a line, and
sort some of the options.
2019-11-13 13:33:46 -06:00
David Young
15f5a6980d Cast to the parameter type, H5VL_token_t *, instead of to unsigned char *.
(H5VL_token_t, too, probably should turn from a typedef for a
constant-length array to an array encapsulated in a struct.)
2019-11-13 13:31:51 -06:00
David Young
b505226ad5 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.
2019-11-13 13:29:59 -06:00
David Young
4281d101c4 Make this script work on hosts where PERL is not installed at
/usr/bin/perl.
2019-11-13 13:04:58 -06:00
Neil Fortner
07b59c0b63 Merge pull request #2033 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:public_spi to develop
* commit 'db6eab893e5f027f0b535316e0e7a9abe9ff8619':
  Implement public H5Sselect_project_intersection().  Updated internal algorithm to (optionally) avoid sharing selection data structures. Tested internal code (including with valgrind) by setting VDS code to avoid sharing selection, has since been changed to share selection for performance, so this code is not yet tested in regression tests.  API has not been tested.
2019-11-13 12:57:31 -06:00
Neil Fortner
db6eab893e Implement public H5Sselect_project_intersection(). Updated internal
algorithm to (optionally) avoid sharing selection data structures.
Tested internal code (including with valgrind) by setting VDS code to
avoid sharing selection, has since been changed to share selection for
performance, so this code is not yet tested in regression tests.  API
has not been tested.
2019-11-13 12:54:13 -06:00
David Young
695c62bafe In every instance, x is initialized by memcpy, but GCC isn't smart
enough to figure that out.  Quiet some warnings by always initializing
`x` to 0.
2019-11-13 12:06:01 -06:00
David Young
1e3d63dcdf same_file is assigned but never used. Delete it. 2019-11-13 12:05:16 -06:00
David Young
81a256b02e Don't assign a constant string to a pointer to non-constant character. 2019-11-13 12:04:42 -06:00
David Young
42cd35b717 GCC isn't smart enough to realize that fill_c is always initialized
and exclusively used in `datatype == H5T_COMPOUND` branches, so just
initialize it at its declaration so that GCC doesn't warn.
2019-11-13 12:03:18 -06:00
David Young
7bdf30738d I'm not sure what the previous code was trying to do, casting an array
of `hsize_t`, `start`, to `long long`, but I think the way that I have
rewritten it, it probably produces a more useful result?  As a bonus,
GCC has stopped warning about it.
2019-11-13 11:56:46 -06:00
David Young
dc0d3a3881 Quiet a warning about an unused variable. This code looks like it
should be heavily restructured to avoid the use of globals like `pass`,
but that's a project for another day and another person.
2019-11-13 11:50:11 -06:00
David Young
943e601b10 Straggler from previous commit: build and link the new .c files where I
moved some previously-static variables and functions that were causing
unused-variable/function warnings.
2019-11-13 11:49:15 -06:00
David Young
c5b8f3db3b Make many warnings about H5T_copy() calls that discard const qualifiers
into a few warnings in H5T_copy() itself.
2019-11-13 11:45:29 -06:00
David Young
19e3b93c81 Use FUNC_ENTER_STATIC_NOERR instead of FUNC_ENTER_STATIC for a function
that does not generate its own error, so GCC does not warn that
err_occurred (or whatever it is called) is unused or set and unused.
2019-11-13 11:42:50 -06:00
David Young
408d208710 Explicitly initialize type_flags; the compiler does not realize that
it is set before use by passing it as a reference to another function.
2019-11-13 11:41:25 -06:00
David Young
918e1a879d Initialize a couple of return values to avoid used-before-set warnings. 2019-11-13 11:39:24 -06:00
David Young
1937029354 Initialize a couple of variables that the compiler does not realize are
initialized when they're passed by reference to functions.
2019-11-13 11:37:14 -06:00
David Young
e2d9cc5584 To quiet a warning, initialize some struct timevals that the compiler
does not realize are always set before use by `gettimeofday`.
2019-11-13 11:35:36 -06:00
David Young
833c0a2fc6 Move some static functions and variables to .c files to avoid unused
function/variable warnings.
2019-11-13 11:35:00 -06:00
David Young
98c4ed49e8 Delete unused variable. 2019-11-13 11:33:35 -06:00
David Young
3f11ed26f7 Change a signed variable to unsigned to avoid a warning about the sign
being lost by a cast.
2019-11-13 11:32:38 -06:00
David Young
37eb3dd7d2 Avoid unused-variable warnings: change static const strings in a couple
of header-file templates to #defines.
2019-11-13 11:31:20 -06:00
David Young
77a9806ab5 Demote errors to warnings for a couple of unused-but-set variables that
I cannot untangle right now.
2019-11-13 11:26:49 -06:00
David Young
aa0f3cb1a8 Delete an unused variable. 2019-11-13 11:25:51 -06:00
David Young
0cb24f8ad4 Mark an unused parameter H5_ATTR_UNUSED. 2019-11-13 11:25:27 -06:00
David Young
769a6e9d32 Delete variables that are unused or set and unused. 2019-11-13 11:24:40 -06:00
David Young
587758e8c6 Initialize a variable before its first use. 2019-11-13 11:23:12 -06:00
David Young
c538919509 Format a pointer with %p to avoid a gripe about casting a pointer to an
integer.
2019-11-13 11:22:09 -06:00
Allen Byrne
e5f9c60e69 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e08b69d3d2e572de4707b1fbf908111d29f40a1b':
  Use HD prefix.
  Fix issue where H5R__reopen_file did not make the file "post open" callback.
  Apparently, + has no special meaning, and neither does \+, in so-called "obsolete" / POSIX "basic" regular expressions.  Also, not every version of `sed` out there supports the `-E` option.  So delete the -E flag and use the regex `[^/][^/]*` instead of `[^/]+`.
  Implement H5VLget_file_type() to return a copy of a datatype with the location set to be in a file.  Only meant to be used by VOL connectors. Implement H5VLpeek_connector_id() to support connectors querying their own IDs.  Fix app_ref with connector IDs in a couple places (external VOLs registered as default through ENV should be visible to the application).  Modify vlen and reference interfaces to work with arbitrary VOL connectors.  Implement file "post open" specific callback, to enable connectors to update their file structs after a wrap context has been set.
  Fix HDFFV-10937: use a more reliable (and probably faster) scheme for visiting all elements of a matrix in an arbitrary order.
2019-11-13 10:31:35 -06:00
David Young
62afeec0ee Merge remote-tracking branch 'hdf5/develop' into add-werror-and-squash-some to
see if new warnings-as-errors have cropped up.
2019-11-12 14:02:35 -06:00
David Young
e08b69d3d2 Merge pull request #2027 in HDFFV/hdf5 from ~DYOUNG/hdf5:dsets-randomness to develop
* commit '4d834adba4aeb1a0174bddb83212b7073b64e269':
  Use HD prefix.
  Fix HDFFV-10937: use a more reliable (and probably faster) scheme for visiting all elements of a matrix in an arbitrary order.
2019-11-12 13:25:26 -06:00
Neil Fortner
f1b3df09ef Merge pull request #2037 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit 'e5fc4889fa4f412056a4672435c96c17a6d1a936':
  Fix issue where H5R__reopen_file did not make the file "post open" callback.
2019-11-12 13:01:40 -06:00
David Young
4d834adba4 Use HD prefix. 2019-11-12 12:40:51 -06:00
Neil Fortner
e5fc4889fa Fix issue where H5R__reopen_file did not make the file "post open"
callback.
2019-11-12 12:09:43 -06:00
David Young
78dfcd4658 Merge pull request #2036 in HDFFV/hdf5 from ~DYOUNG/netbsd:develop to develop
* commit 'f1b39ad80e2fc0d0f4f6ecae2a9fb0ea436c34cc':
  Apparently, + has no special meaning, and neither does \+, in so-called "obsolete" / POSIX "basic" regular expressions.  Also, not every version of `sed` out there supports the `-E` option.  So delete the -E flag and use the regex `[^/][^/]*` instead of `[^/]+`.
2019-11-12 11:14:29 -06:00
David Young
f1b39ad80e Apparently, + has no special meaning, and neither does \+, in so-called
"obsolete" / POSIX "basic" regular expressions.  Also, not every version of
`sed` out there supports the `-E` option.  So delete the -E flag and use
the regex `[^/][^/]*` instead of `[^/]+`.

Add config/netbsd to the MANIFEST.
2019-11-12 10:43:26 -06:00
kmu
d06474c4e1 fix warnings and some text alignment 2019-11-11 10:49:37 -06:00
Chris Hogan
07ff0a842a Use major error code of calling package 2019-11-08 15:29:37 -06:00
Neil Fortner
9fd1143ffd Merge pull request #2032 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:vlget_file_type to develop
* commit '1dbec40d465072540f8507c524ae7b909a6b1cf0':
  Implement H5VLget_file_type() to return a copy of a datatype with the location set to be in a file.  Only meant to be used by VOL connectors. Implement H5VLpeek_connector_id() to support connectors querying their own IDs.  Fix app_ref with connector IDs in a couple places (external VOLs registered as default through ENV should be visible to the application).  Modify vlen and reference interfaces to work with arbitrary VOL connectors.  Implement file "post open" specific callback, to enable connectors to update their file structs after a wrap context has been set.
2019-11-08 15:21:21 -06:00
Neil Fortner
1dbec40d46 Implement H5VLget_file_type() to return a copy of a datatype with the
location set to be in a file.  Only meant to be used by VOL connectors.
Implement H5VLpeek_connector_id() to support connectors querying their
own IDs.  Fix app_ref with connector IDs in a couple places (external
VOLs registered as default through ENV should be visible to the
application).  Modify vlen and reference interfaces to work with
arbitrary VOL connectors.  Implement file "post open" specific
callback, to enable connectors to update their file structs after a
wrap context has been set.
2019-11-08 15:14:33 -06:00
David Young
4981e83740 Merge remote-tracking branch 'hdf5/develop' into add-werror-and-squash-some
to pick up the NetBSD-compatibility changes that I recently merged.
2019-11-08 12:19:31 -06:00
kmu
815611a318 Merge branch 'develop' of https://git.hdfgroup.org/scm/~kmu/hdf5 into develop 2019-11-07 14:51:40 -06:00
kmu
8b9338ab57 fix warnings from Intel compiler 2019-11-07 14:34:13 -06:00
Allen Byrne
6b927a773c HDFFV-10876 Update h5dump and h5ls for new ref api. 2019-11-07 09:49:11 -06:00
David Young
2dd5bbfe16 Merge pull request #1984 in HDFFV/hdf5 from ~DYOUNG/netbsd:develop to develop
* commit '0b721858e46a317c370a24115032d5be41688f67':
  Make these scripts relocatable again: derive a relative path for the original installation prefix from the examples prefix.  Use that relative path to locate the current installation prefix, always.  Fall back to an absolute installation prefix if the relative path cannot be derived.
  Get the path to prefix right: needs a ../ to back out of subdirectory c/.
  Make this script relocatable again: derive a relative path for the original installation prefix from the examples prefix.  Use that relative path to locate the current installation prefix, always.  Fall back to an absolute installation prefix if the relative path cannot be derived.
  Let us override the examples directory using --with-examplesdir=DIR. This is handy for NetBSD where HDF5 examples are installed by convention in $prefix/share/examples/hdf5/ rather than in ${prefix}/share/hdf5_examples/, which is the HDF5 default.
  Follow longstanding execv convention for compatibility with NetBSD.
  Under the examples directories, always find the installed HDF5 executables and scripts using @prefix@ instead of a relative path, because the number of ../ in the relative path will be different on NetBSD than on other systems.
  Make the HDF5 configure script grok NetBSD.
  For portability, insulate the HDF5 library from some system macros.
  Not every system has perl installed in /usr/bin/, so change the shebang (#!) line to `/usr/bin/env perl` to locate perl on the PATH.
  For portability, use the POSIX sh(1) string-comparison operator `=` instead of `==`.
2019-11-05 15:36:09 -06:00
David Young
0b721858e4 Make these scripts relocatable again: derive a relative path for the
original installation prefix from the examples prefix.  Use that
relative path to locate the current installation prefix, always.  Fall
back to an absolute installation prefix if the relative path cannot be
derived.
2019-11-05 15:13:47 -06:00
David Young
1b01b6d60b Get the path to prefix right: needs a ../ to back out of subdirectory
c/.
2019-11-05 15:13:02 -06:00
David Young
34eff2aae5 Change some GCC warnings to errors. Fix code to quiet some warnings. 2019-11-05 12:14:26 -06:00
David Young
d459daa1f7 Make this script relocatable again: derive a relative path for the
original installation prefix from the examples prefix.  Use that
relative path to locate the current installation prefix, always.  Fall
back to an absolute installation prefix if the relative path cannot be
derived.
2019-11-05 10:14:59 -06:00
Chris Hogan
2eeda063ba Handle H5CX_state_t for lcpl 2019-11-04 15:10:44 -06:00
Chris Hogan
77a0f4087f Add character encoding to lcpl context 2019-11-04 14:42:08 -06:00
Chris Hogan
e6d6388905 Change LC property name from 'create_intermediate_group' to 'intermediate_group' 2019-10-30 16:11:25 -05:00
Chris Hogan
f8ab081b1f Use API context to store/retrieve LCPL when creating intermediate groups 2019-10-29 11:46:48 -05:00
David Young
e8de6a46e2 Fix HDFFV-10937: use a more reliable (and probably faster) scheme for
visiting all elements of a matrix in an arbitrary order.
2019-10-28 16:54:05 -05:00
Richard Warren
afd4b29131 Merge pull request #2015 in HDFFV/hdf5 from HDFFV-10943 to develop
* commit '299c9ed5fe19edac37cab27bc04d587fa67568c2':
  Removed set_bigio_count prototype since it has been added to H5private.h
  Change API names for get/set bitio_count.  Also added H5_mpi_set_bigio_count to H5private.h.
2019-10-25 11:39:10 -05:00
Richard Warren
299c9ed5fe Removed set_bigio_count prototype since it has been added to H5private.h 2019-10-25 11:28:21 -04:00
Allen Byrne
73e8b16d92 Merge pull request #2016 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '9affb7f12ec6084ccaadec9fcdc8d94bccf4dd4f':
  Fix MPI test depends
2019-10-23 16:10:40 -05:00
Allen Byrne
9affb7f12e Fix MPI test depends 2019-10-23 14:49:05 -05:00
Richard Warren
94d14191fa Change API names for get/set bitio_count. Also added H5_mpi_set_bigio_count to H5private.h. 2019-10-23 14:41:45 -04:00
Allen Byrne
20292df367 Merge pull request #2008 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '685956cd4c088d38862b36b8138e643b114b2929':
  Update format and fix missing prefix
2019-10-23 08:07:56 -05:00
Allen Byrne
685956cd4c Update format and fix missing prefix 2019-10-21 09:38:37 -05:00
Jerome Soumagne
a27403d595 Merge pull request #2000 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:fix_endian_develop to develop
* commit '294e4faab724c26985867fe8ede684967da8a698':
  Fix encode and decode of tokens in H5VLnative
2019-10-11 17:42:02 -05:00
Jerome Soumagne
294e4faab7 Fix encode and decode of tokens in H5VLnative
Fix encode and decode of deprecated object reference addresses

Make H5Rdeprec.c use tokens instead of haddr_t

Fix H5Oopen_by_addr() to serialize addr to token
2019-10-11 17:40:40 -05:00
Jordan Henderson
c4f785bc93 Partial fix for HDFFV-10792 2019-10-10 17:06:13 -05:00
Jordan Henderson
fc479b4012 Merge pull request #1998 in HDFFV/hdf5 from ~JHENDERSON/hdf5:bugfix/H5Dvlen_reclaim_ref_fix to develop
* commit '93f509a2f2d5143450a0e6753325557b2bb8b707':
  Fix various Java issues when deprecated symbols are disabled
2019-10-10 14:33:57 -05:00
Jordan Henderson
93f509a2f2 Fix various Java issues when deprecated symbols are disabled 2019-10-10 13:37:18 -05:00
Jordan Henderson
2d8096c735 Merge pull request #1996 in HDFFV/hdf5 from ~JHENDERSON/hdf5:feature/unify_H5Lcopy_H5Lmove to develop
* commit '54d149061f36eaadf5308839a3627f9158d24458':
  Unify code between H5Lcopy and H5Lmove
2019-10-10 12:49:07 -05:00
Jordan Henderson
54d149061f Unify code between H5Lcopy and H5Lmove 2019-10-09 20:22:45 -05:00
Larry Knox
3506207344 Merge pull request #1993 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '78268762bcf9cb949f711fa0e5290f96957cb60a':
  Improvements in response to  Allen's suggestions.
  Corrections and improvements to testh5dump.sh.in changes.
  Fix errors in testh5dump.sh tests that grep for reference error messages.
2019-10-09 11:38:52 -05:00
Jerome Soumagne
7b416e6239 Merge pull request #1994 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:ref_fix to develop
* commit 'cc1546ea92304e3b8d24ad32aa7252af367d5762':
  Fix func enter macro in H5T_ref_reclaim()
2019-10-09 11:14:05 -05:00
Jerome Soumagne
cc1546ea92 Fix func enter macro in H5T_ref_reclaim() 2019-10-09 11:12:34 -05:00
Larry Knox
78268762bc Improvements in response to Allen's suggestions. 2019-10-09 11:04:15 -05:00
Larry Knox
d1f330fd61 Corrections and improvements to testh5dump.sh.in changes. 2019-10-09 09:36:26 -05:00
Larry Knox
21d69ca15f Fix errors in testh5dump.sh tests that grep for reference error messages. 2019-10-08 23:26:03 -05:00
Larry Knox
1cac341502 Merge pull request #1991 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'd42203b1d44686a0e5309f061c996b959023ce57':
  Change reference test to grep for specific error
2019-10-08 16:20:07 -05:00
Allen Byrne
d42203b1d4 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '4c558700ab33934e7358483c5d20fea4823baf9e':
  Update RELEASE.txt for reference changes
  Fix reference type comparison in h5dump
  Make wrappers, tests and tools use H5Treclaim() instead of H5Dvlen_reclaim()
  Add new H5R API that abstracts object, region and attribute reference types
  Remove ability to loc by ref from H5VL layer
  Add support for retrieving object name by token
  Add H5VL_OBJECT_GET_TYPE to get object type
  Add H5VL_MAX_TOKEN_SIZE and H5VL_token_t
  Adapt Jerome's "file info" H5VL 'get' query to retrieve container token info.
  Fix H5VL_blob_get to return size of blob
  Add 'blob' callbacks to VOL, along with a native implementation to store them in the global heap, and changed the VL datatype conversion code to use blobs.
  Remove debugging logic from the new t_bigio test
  Expanded t_bigio.c to include Jordan's test from HDFFV-10539
  Another cleanup pass as suggested by the reviewers.
  Fix some typos and remove an unused prototype from H5Sprivate.h
  At the suggestion of the PR reviewers, moved the mpio_create_large_type to H5mpi.c and renamed the function appropriately.  Also moved some support functions to set and get the vvalue where we transistion to using derived datatypes.
  Made code review edit suggested by Jerome, plus various code updates to files that I touched to eliminate compile warnings (on my Linux box).
  No functional changes, just removed some tab characters
  Make the initial bug fixes to allow >2GB writes with Independent IO
2019-10-08 16:14:40 -05:00
Jerome Soumagne
4c558700ab Merge pull request #1931 in HDFFV/hdf5 from feature/references to develop
* commit '9ed9762889fcd05dc230d6652b92fddc5ec880a4':
  Update RELEASE.txt for reference changes
  Fix reference type comparison in h5dump
  Make wrappers, tests and tools use H5Treclaim() instead of H5Dvlen_reclaim()
  Add new H5R API that abstracts object, region and attribute reference types
  Remove ability to loc by ref from H5VL layer
  Add support for retrieving object name by token
  Add H5VL_OBJECT_GET_TYPE to get object type
  Add H5VL_MAX_TOKEN_SIZE and H5VL_token_t
  Adapt Jerome's "file info" H5VL 'get' query to retrieve container token info.
  Fix H5VL_blob_get to return size of blob
  Add 'blob' callbacks to VOL, along with a native implementation to store them in the global heap, and changed the VL datatype conversion code to use blobs.
2019-10-08 15:06:55 -05:00
Richard Warren
e9f253c756 Merge pull request #1987 in HDFFV/hdf5 from HDFFV-10539-2GB-Write-Independent to develop
* commit 'abb43d3d3ac2e802d0efbe21e028381ed99722f9':
  Remove debugging logic from the new t_bigio test
  Expanded t_bigio.c to include Jordan's test from HDFFV-10539
  Another cleanup pass as suggested by the reviewers.
  Fix some typos and remove an unused prototype from H5Sprivate.h
  At the suggestion of the PR reviewers, moved the mpio_create_large_type to H5mpi.c and renamed the function appropriately.  Also moved some support functions to set and get the vvalue where we transistion to using derived datatypes.
  Made code review edit suggested by Jerome, plus various code updates to files that I touched to eliminate compile warnings (on my Linux box).
  No functional changes, just removed some tab characters
  Make the initial bug fixes to allow >2GB writes with Independent IO
2019-10-08 14:57:43 -05:00
Jerome Soumagne
9ed9762889 Update RELEASE.txt for reference changes 2019-10-08 14:51:12 -05:00
Jerome Soumagne
0beba4aac2 Fix reference type comparison in h5dump 2019-10-08 14:30:24 -05:00
Jerome Soumagne
c13078a0ed Make wrappers, tests and tools use H5Treclaim() instead of H5Dvlen_reclaim() 2019-10-08 14:30:24 -05:00
Jerome Soumagne
ae490016b9 Add new H5R API that abstracts object, region and attribute reference types
Also support references to external files

Add new H5T_REF type and type conversion routines

Support conversion from H5T_REF_OBJ/DSET_REG to H5T_REF

Add H5Treclaim() API to reclaim memory of vlen/reference types

Deprecate H5Dvlen_reclaim()

Fix H5T_vlen_reclaim() and H5T_reclaim() to use private callback

Add H5T_ref_reclaim()

Move previous H5R APIs to H5Rdeprec.c

Clean up H5Ocopy

Separate H5O_copy_expand_ref() to H5Ocopy_ref()

Add support for copying new reference types

Clean up deprecated routines to go through VOL and same code path

Fix return codes in existing trefer.c test

Rename trefer.c to trefer_deprec.c

trefer.c is for new references

Add performance test for trefer

Add additional obj_copy_ref test

Make use of tokens and blobs to store references

Skip blob encoding for object references

Start adding new reference examples
2019-10-08 14:30:24 -05:00
Jerome Soumagne
0f4e080309 Remove ability to loc by ref from H5VL layer 2019-10-08 14:30:24 -05:00
Jerome Soumagne
616567f8a1 Add support for retrieving object name by token 2019-10-08 14:30:24 -05:00
Jerome Soumagne
2c9699a61d Add H5VL_OBJECT_GET_TYPE to get object type
Add H5VL_OBJECT_LOOKUP to lookup objects
2019-10-08 14:30:24 -05:00
Jerome Soumagne
0922e60de2 Add H5VL_MAX_TOKEN_SIZE and H5VL_token_t 2019-10-08 14:30:24 -05:00
Quincey Koziol
bf65652e9b Adapt Jerome's "file info" H5VL 'get' query to retrieve container token info.
Remove "by address" location for VOL operations. (Switching to "by token")
2019-10-08 14:30:24 -05:00
Jerome Soumagne
fa6fdde1bf Fix H5VL_blob_get to return size of blob
Fix const in blob API

Add H5HG_HEAP_ID_SIZE macro to return native blob size

Add maximum size for blobs

Fix blob API callbacks to pass VOL file object

Add public wrappers for blob VOL API

Implement passthrough blob callbacks

Update H5Tvlen after callback changes

Update trace information for H5VL blob routines

Fix public header inclusion in native and passthru headers
2019-10-08 14:30:24 -05:00
Quincey Koziol
eaa65c862b Add 'blob' callbacks to VOL, along with a native implementation to store them
in the global heap, and changed the VL datatype conversion code to use blobs.

Move encode/decode of sequence lengths into VL datatype callbacks, from native
VOL blob routines.
2019-10-08 14:30:23 -05:00
Richard Warren
abb43d3d3a Remove debugging logic from the new t_bigio test 2019-10-08 15:03:13 -04:00
Richard Warren
06db420929 Expanded t_bigio.c to include Jordan's test from HDFFV-10539 2019-10-08 13:23:32 -04:00
Richard Warren
e2405c1091 Another cleanup pass as suggested by the reviewers. 2019-10-07 19:53:19 -04:00
Richard Warren
d7e83cc510 Fix some typos and remove an unused prototype from H5Sprivate.h 2019-10-07 17:30:15 -04:00
Richard Warren
a97c0d418d At the suggestion of the PR reviewers, moved the mpio_create_large_type to H5mpi.c and renamed the function appropriately. Also moved some support functions to set and get the vvalue where we transistion to using derived datatypes. 2019-10-07 17:22:51 -04:00
Allen Byrne
403c0445fb Change reference test to grep for specific error 2019-10-07 14:00:54 -05:00
Richard Warren
a074eeda11 Made code review edit suggested by Jerome, plus various code updates to files that I touched to eliminate compile warnings (on my Linux box). 2019-10-07 08:56:05 -04:00
Richard Warren
fa2882c0b3 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into HDFFV-10539-2GB-Write-Independent 2019-10-07 08:10:59 -04:00
Richard Warren
abe2958035 No functional changes, just removed some tab characters 2019-10-05 10:32:32 -04:00
Richard Warren
21a18a1cd2 Make the initial bug fixes to allow >2GB writes with Independent IO 2019-10-05 10:18:17 -04:00
Dana Robinson
f32e70895e Merge pull request #1985 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:H5Gget_object_behavior_change to develop
* commit 'ff3278f1a0d57663d73caa6aaa7f209864e9a9bd':
  Fixed a bug (HDFFV-10899) where the behavior of the deprecated H5Gget_objinfo() call had changed and passing in a non-existing soft link with a statbuf of NULL passed instead of failed (as it should as per the RM). The HDF5 1.8 and 1.10 behavior was restored and H5Gget_objinfo() will now fail and return -1 as before.
2019-10-04 13:28:12 -05:00
Dana Robinson
ff3278f1a0 Fixed a bug (HDFFV-10899) where the behavior of the deprecated
H5Gget_objinfo() call had changed and passing in a non-existing
soft link with a statbuf of NULL passed instead of failed (as
it should as per the RM). The HDF5 1.8 and 1.10 behavior was
restored and H5Gget_objinfo() will now fail and return -1 as
before.
2019-10-04 02:03:11 -07:00
David Young
b8a93a7224 Let us override the examples directory using --with-examplesdir=DIR.
This is handy for NetBSD where HDF5 examples are installed
by convention in $prefix/share/examples/hdf5/ rather than in
${prefix}/share/hdf5_examples/, which is the HDF5 default.

Place hdf5_examples/ under ${datarootdir} which on most systems will be
${prefix}/share/, anyway.
2019-10-03 16:01:40 -05:00
David Young
bbc1264ea6 Follow longstanding execv convention for compatibility with NetBSD. 2019-10-03 16:01:40 -05:00
David Young
7bb8d071c6 Under the examples directories, always find the installed HDF5
executables and scripts using @prefix@ instead of a relative
path, because the number of ../ in the relative path will be
different on NetBSD than on other systems.

Examples on NetBSD are installed at ${prefix}/share/examples/hdf5/
instead of at ${prefix}/share/hdf5_examples/, by convention.  It may be
the same on other BSDs, I'm not sure.
2019-10-03 16:01:40 -05:00
David Young
6083b740ad Make the HDF5 configure script grok NetBSD. 2019-10-03 16:01:40 -05:00
David Young
cef5db7e1f For portability, insulate the HDF5 library from some system macros. 2019-10-03 16:01:40 -05:00
David Young
7c82abc3ff Not every system has perl installed in /usr/bin/, so change the shebang
(#!) line to `/usr/bin/env perl` to locate perl on the PATH.

Everything after the first pathname in the shebang line is treated as
a single argument to the command interpreter (/usr/bin/env "perl -w"),
and there is not ordinarily any such program as "perl -w".  So if the
old shebang line used an option such as `-w`, add a `use warnings;`
statement to the script---note that the semantics change slightly.
`bin/destdep` uses a trick to pass `-p` to `/usr/bin/env perl`.  It
couldn't hurt to use the same trick to pass `-w`.

With these changes, `sh autogen.sh` runs on NetBSD.  It ought to still
work on every other system HDF5 supports, too.
2019-10-03 16:01:40 -05:00
David Young
af1e100f49 For portability, use the POSIX sh(1) string-comparison operator =
instead of `==`.
2019-10-03 16:01:40 -05:00
Dana Robinson
f2be6da714 Merge pull request #1983 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:small_develop_tweaks to develop
* commit '638d31a78a9ea5db438d30e78f8cbaa1146b7f87':
  Fixed the java assert issue with H5O cache corking calls.
2019-10-03 15:34:15 -05:00
Dana Robinson
638d31a78a Fixed the java assert issue with H5O cache corking calls. 2019-10-03 12:12:23 -07:00
Allen Byrne
35bc2d4592 Merge pull request #1980 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '4394f0776b3e695b9ab383421824e4533da821a8':
  More whitespace changes
  Whitespace cleanup
2019-10-03 12:54:48 -05:00
Allen Byrne
4394f0776b More whitespace changes 2019-10-03 12:10:24 -05:00
Allen Byrne
8e24fe2bc1 Whitespace cleanup 2019-10-03 11:41:25 -05:00
Allen Byrne
574cc772d5 Merge pull request #1973 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'bc6115931877c6f6d63977f2c03c5e2dbffe3e56':
  HDFFV-10919 merge synching
  HDFFV-10408,10918 Add note
2019-10-02 15:38:39 -05:00
Allen Byrne
bc61159318 HDFFV-10919 merge synching 2019-10-02 15:13:37 -05:00
Allen Byrne
98720d6511 HDFFV-10408,10918 Add note 2019-10-02 13:08:35 -05:00
Allen Byrne
db86b6d397 Merge pull request #1968 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '643d298823255a684862f4c6eb85ac5afde4b796':
  HDFFV-10918 add tests for h5repack ext storage
2019-10-02 12:45:29 -05:00
Allen Byrne
643d298823 HDFFV-10918 add tests for h5repack ext storage 2019-10-01 16:38:48 -05:00
Allen Byrne
f4a8792292 Merge pull request #1966 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '09e6dcbfbb50d359177c9ee72e662287eb04d9c7':
  Add new toolchain file
2019-10-01 11:48:51 -05:00
Vailin Choi
5c9c07b149 Merge pull request #1959 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/iteration_error_in_test_versionbounds to develop
* commit '9ea386b6a660bd29225e96a246439db0c7f73da2':
  Fixed the iteration error in test_versionbounds() in test/dtypes.c.
2019-10-01 10:33:35 -05:00
Allen Byrne
09e6dcbfbb Add new toolchain file 2019-10-01 10:09:16 -05:00
Allen Byrne
69e31596ff Merge pull request #1963 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'bbe81a2155bfa42545579761c4f064353d6f68de':
  fix for statement declare of type
2019-09-30 15:14:02 -05:00
Allen Byrne
bbe81a2155 fix for statement declare of type 2019-09-30 14:50:18 -05:00
Jake Smith
35dc4b56d0 Merge pull request #1958 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:develop to develop
* commit 'cab37f63144fd24d1ff39359e3d47a2c16198633':
  Move function-scope macro definition to file-scope.
  Refactor external file addition loop to static function.
  fix declaring variable in for statement
2019-09-30 14:00:05 -05:00
Jacob Smith
cab37f6314 Move function-scope macro definition to file-scope. 2019-09-30 13:57:09 -05:00
Allen Byrne
d23453e329 Merge pull request #1960 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f6d4ce609b16601f3f4733266bb413a2bd765bc1':
  Add clang toolchain
2019-09-30 13:35:29 -05:00
Vailin Choi
9ea386b6a6 Fixed the iteration error in test_versionbounds() in test/dtypes.c. 2019-09-30 12:56:49 -05:00
Allen Byrne
f6d4ce609b Add clang toolchain 2019-09-30 12:47:00 -05:00
Jacob Smith
541f50616f Refactor external file addition loop to static function. 2019-09-29 18:52:55 -05:00
Jacob Smith
59aa3afade fix declaring variable in for statement 2019-09-28 16:05:51 -05:00
Larry Knox
4de1fa88c2 Merge pull request #1957 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '3fb711e0ff2516cba7a0cb34f2d8ca38241b06a7':
  Number of arguments requires H5Dopen2.
2019-09-28 14:33:37 -05:00
Larry Knox
3fb711e0ff Number of arguments requires H5Dopen2. 2019-09-28 13:01:30 -05:00
Dana Robinson
279a3f915b Merge pull request #1956 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'a8a55f3c4863b500c4d0e5a2982d3e2b5a05b3cc':
  Corrected missing parallel #ifdefs.
2019-09-27 16:50:00 -05:00
Dana Robinson
a8a55f3c48 Corrected missing parallel #ifdefs. 2019-09-27 14:25:04 -07:00
Vailin Choi
a19de0ec83 Merge pull request #1934 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10585-investigate-slowness-of-regular to develop
* commit '7924eee0e5ee0745b784c635042b8633886fb799':
  (1) Address the feedback from the PR review (2) Add release notes
  Fix for HDFFV-10585 investigate hyperslab slowness: 1) Improve hyperslab performance when doing I/O from 1-d disjoint file dataspace to 1-d contiguous memory dataspace. 2) Move coding in H5D__chunk_io_init() that is constructing the chunk mappings to a separate routine.
2019-09-27 12:39:31 -05:00
Dana Robinson
270a363cdc Merge pull request #1955 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:missing_vol_markup to develop
* commit '4fb64c89fe52a309150ca2d5bb97eb4763e598e9':
  Converted H5O MD cache cork calls to use the VOL.
  Marked up H5Fget/set_mpi_atomicity() to use the VOL.
2019-09-27 12:34:29 -05:00
Dana Robinson
4fb64c89fe Converted H5O MD cache cork calls to use the VOL. 2019-09-26 19:13:35 -07:00
Dana Robinson
fbb0728f54 Marked up H5Fget/set_mpi_atomicity() to use the VOL. 2019-09-26 19:13:13 -07:00
Vailin Choi
7924eee0e5 (1) Address the feedback from the PR review
(2) Add release notes
2019-09-26 14:10:56 -05:00
Vailin Choi
52fef3c6d2 Merge pull request #21 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10585-investigate-slowness-of-regular
* commit '0ea77179d507bd2c29f3b9b357a0c35d4077b29c': (39 commits)
  Fix the errors when updating the versions in the new 1.13 develop branch.
  add missing version to list
  Add new versioned filename to list
  Update N_FSINFO_VERSION_BOUNDS to H5F_LIBVER_NBOUND.
  Remove file script
  Update versioning to next major version
  Update develop branch version to 1.13.0 after creation of hdf5_1_12 branch.
  Merge Binh-Minh's changes for code improvement to chunk_info.c (PR #1942) to develop branch.
  Update to current external file population.
  Revert else-if to single line.
  Fix missing option and incorrect close
  Revert "Moved NDEBUG guards to H5EA_DEBUG in H5EA package."
  Revert "Fix for H5EA debug package when built in release mode."
  Change print calls to HD-wrapped. Minor formatting tweaks (inc. regressions and in-file style-matching).
  Refactor h5repackgentest to have more modular internals, for easier addition of new tests. Update manifest and test script for new hdf5 external-storage .h5 files.
  Remove obsolete symbol
  small syntax changes
  Renamed get/set_time() calls in the tools library to avoid name clash when building static parallel HDF5 w/ static linking to OpenMPI.
  Change unused variable to generic form
  Whitespace cleanup
  ...
2019-09-26 13:41:56 -05:00
Vailin Choi
0ea77179d5 Merge pull request #1954 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/ver_bounds_114 to develop
* commit '50ba969a61f8f90212c97aa6e11674fe19fb89f4':
  Fix the errors when updating the versions in the new 1.13 develop branch.
2019-09-26 13:32:42 -05:00
Vailin Choi
50ba969a61 Fix the errors when updating the versions in the new 1.13 develop branch. 2019-09-26 12:35:11 -05:00
Allen Byrne
a38bfab696 Merge pull request #1953 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e6b029e77e799292eb1ee074b24a224f4613a3b2':
  add missing version to list
2019-09-26 11:52:04 -05:00
Allen Byrne
e6b029e77e add missing version to list 2019-09-26 10:48:37 -05:00
Allen Byrne
7b09c325cb Merge pull request #1951 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'a08b3adecea1034cf0a20a6ff35b9980fb3d8cb8':
  Add new versioned filename to list
2019-09-26 08:59:51 -05:00
Allen Byrne
a08b3adece Add new versioned filename to list 2019-09-26 08:43:41 -05:00
Larry Knox
9c88755922 Merge pull request #1948 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'd931415bb96aae645832898c2f9eee0d02fe69b4':
  Update N_FSINFO_VERSION_BOUNDS to H5F_LIBVER_NBOUND.
2019-09-25 18:07:40 -05:00
Larry Knox
d931415bb9 Update N_FSINFO_VERSION_BOUNDS to H5F_LIBVER_NBOUND. 2019-09-25 17:56:39 -05:00
Larry Knox
a563949da4 Merge pull request #1947 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'd08db4f8550ee023f2303f3064308c1fa9854552':
  Remove file script
  Update versioning to next major version
2019-09-25 17:36:24 -05:00
Allen Byrne
d08db4f855 Remove file script 2019-09-25 17:35:52 -05:00
Allen Byrne
b2f52d0b07 Update versioning to next major version 2019-09-25 17:28:17 -05:00
Allen Byrne
46f81a33dd Merge pull request #1944 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'b04e1ad058fd98fc0b303586dd5f6f19aa645ed0':
  Update develop branch version to 1.13.0 after creation of hdf5_1_12 branch.
2019-09-25 16:23:52 -05:00
Larry Knox
b04e1ad058 Update develop branch version to 1.13.0 after creation of hdf5_1_12
branch.
2019-09-25 16:21:23 -05:00
Larry Knox
6632780f41 Merge pull request #1943 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '2a4bc8c63e842d5e7551e6e75a9ca95c0c2d2886':
  Merge Binh-Minh's changes for code improvement to chunk_info.c (PR #1942) to develop branch.
2019-09-25 15:10:37 -05:00
Larry Knox
2a4bc8c63e Merge Binh-Minh's changes for code improvement to chunk_info.c (PR #1942)
to develop branch.
2019-09-25 14:30:54 -05:00
Jake Smith
f77d8f04fd Merge pull request #1756 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:bugfix/repack_external_storage to develop
* commit '9a388325ebaec339f67ddd210ca31ddcc3ede973':
  Update to current external file population.
  Revert else-if to single line.
  Change print calls to HD-wrapped. Minor formatting tweaks (inc. regressions and in-file style-matching).
  Refactor h5repackgentest to have more modular internals, for easier addition of new tests. Update manifest and test script for new hdf5 external-storage .h5 files.
  Refactoring.
  Add copyright/disclaimer to repack gentest. Minor formatting tweaks.
  Minor formatting adjustments.
  Undo some formatting modifications. Update MANIFEST.
  Add forgotten files to include from h5repack testfiles for tests.
  Fix failing automated reporting. Add 8-bit big-endian testfile.
  First pass at repack consolidating external storage if layout given. Checks out manually, tests still complain.
  Formatting changes, mostly.
  Add initial failing test for h5repack copying external data into new file.
  Modify code comments for clarity. Some minor reformatting.
  Some minor reformatting. Replace tabs with spaces.
  Add test that uses the family member FAPL setting.
  refactor h5repack_main.c -- remove some redundancy, formatting
  Fit help message to 80 character width and clarify some details.
2019-09-24 16:43:30 -05:00
Jacob Smith
9a388325eb Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into bugfix/repack_external_storage 2019-09-24 16:40:02 -05:00
Allen Byrne
9c73ed788a Merge pull request #1940 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8a2a500fef227e4f813f0059b365869268354048':
  Fix missing option and incorrect close
2019-09-24 16:12:51 -05:00
Jacob Smith
4ecc50bc13 Update to current external file population. 2019-09-24 15:29:56 -05:00
Jacob Smith
1f7d556ccd Revert else-if to single line. 2019-09-24 15:22:38 -05:00
Allen Byrne
8a2a500fef Fix missing option and incorrect close 2019-09-24 14:49:37 -05:00
Dana Robinson
6b60b95dbb Merge pull request #1939 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '6eb506eff76b5455f8aac8889c6809aca2d8be52':
  Revert "Moved NDEBUG guards to H5EA_DEBUG in H5EA package."
  Revert "Fix for H5EA debug package when built in release mode."
2019-09-24 10:42:32 -05:00
Dana Robinson
6eb506eff7 Revert "Moved NDEBUG guards to H5EA_DEBUG in H5EA package."
This reverts commit 431123503d.
2019-09-24 05:20:30 -05:00
Dana Robinson
40b2eae5e9 Revert "Fix for H5EA debug package when built in release mode."
This reverts commit 911b1ca67f.
2019-09-24 05:19:44 -05:00
Jacob Smith
35a9e9c50f Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into bugfix/repack_external_storage 2019-09-23 17:23:02 -05:00
Jacob Smith
1070468dac Change print calls to HD-wrapped.
Minor formatting tweaks (inc. regressions and in-file style-matching).
2019-09-23 16:25:25 -05:00
Jacob Smith
aa797af31b Refactor h5repackgentest to have more modular internals, for easier
addition of new tests.
Update manifest and test script for new hdf5 external-storage .h5 files.
2019-09-23 16:21:37 -05:00
Larry Knox
7997eb8c84 Merge pull request #1937 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'cf9eff93e05c9e68d82ebb1fc1e02319e428af35':
  Remove obsolete symbol
  small syntax changes
2019-09-23 12:39:01 -05:00
Allen Byrne
cf9eff93e0 Remove obsolete symbol 2019-09-20 09:30:36 -05:00
Allen Byrne
0c49a77c19 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '93e8bbd9f47d6a2eace95f2ed3b2dd4b6336940a':
  Renamed get/set_time() calls in the tools library to avoid name clash when building static parallel HDF5 w/ static linking to OpenMPI.
2019-09-19 16:57:51 -05:00
Dana Robinson
93e8bbd9f4 Merge pull request #1936 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit 'a6930a2bcfd37ea3610baafb608faec883286315':
  Renamed get/set_time() calls in the tools library to avoid name clash when building static parallel HDF5 w/ static linking to OpenMPI.
2019-09-19 16:42:46 -05:00
Allen Byrne
aa8c7b31d7 small syntax changes 2019-09-19 16:32:40 -05:00
Dana Robinson
a6930a2bcf Renamed get/set_time() calls in the tools library to avoid name
clash when building static parallel HDF5 w/ static linking to OpenMPI.
2019-09-19 13:50:49 -07:00
Allen Byrne
80b371f32e Merge pull request #1926 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8cddc96f73e8f90f67792405f5142b419e9061d7':
  Change unused variable to generic form
  Whitespace cleanup
  Add missing HD prefix
  HDFFV-10740 - skip copying dirs in for loops
  Correct HDF5 options to tristate values.
  HDFFV-10905 fix test scripts for no zlib
  HDFFV-10903 - fix VFD constants in JNI
2019-09-19 14:15:54 -05:00
Allen Byrne
8cddc96f73 Change unused variable to generic form 2019-09-19 13:42:46 -05:00
Vailin Choi
c7b9d5acc6 Fix for HDFFV-10585 investigate hyperslab slowness:
1) Improve hyperslab performance when doing I/O from 1-d disjoint file dataspace
to 1-d contiguous memory dataspace.
2) Move coding in H5D__chunk_io_init() that is constructing the chunk mappings to
a separate routine.
2019-09-19 13:40:02 -05:00
Vailin Choi
e2be2824f9 Merge pull request #20 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10585-investigate-slowness-of-regular
* commit '4d4a88a9f3775d1c6be820208a2699ae38d586b4': (29 commits)
  Fix for H5EA debug package when built in release mode.
  Moved NDEBUG guards to H5EA_DEBUG in H5EA package.
  Added MPICH_SKIP_MPICXX and OMPI_SKIP_CXX to H5public.h to avoid inadvertant linking to the deprecated MPI C++ wrappers. Fixes HDFFV-10893.
  Added a release note for HDFFV-10892 (fcntl lock bug).
  Fix segfault after H5VL_loc_params_t fix merge
  HDFFV-10901 add missing config options
  HDFFV-10854 add release note for windows
  Fix get home dir for windows
  Use variable for test output
  Allow tests to dump output if not comparing
  revert as CHECK will first check for exception
  Clear exception for getting JNI string to clear the exception
  Correct Windows check
  revert windows change
  Windows ssl headers are not in system loacation
  Add include dirs and default lib for windows
  Add policy to use <package>_ROOT
  Add statement for label if code unimplemented
  Update Windows require for CURL to CMake 3.13
  Fix unused var
  ...
2019-09-19 12:05:08 -05:00
Allen Byrne
ddf23c80fc Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '4d4a88a9f3775d1c6be820208a2699ae38d586b4':
  Fix for H5EA debug package when built in release mode.
2019-09-19 08:48:07 -05:00
Dana Robinson
4d4a88a9f3 Merge pull request #1932 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '911b1ca67fdf7c2f3a32dd42c591e4e9b2fa1950':
  Fix for H5EA debug package when built in release mode.
2019-09-18 16:28:09 -05:00
Dana Robinson
911b1ca67f Fix for H5EA debug package when built in release mode. 2019-09-18 13:25:02 -07:00
Allen Byrne
6f34503a5a Whitespace cleanup 2019-09-18 12:11:12 -05:00
Allen Byrne
4775b6a3d9 Add missing HD prefix 2019-09-18 11:15:58 -05:00
Allen Byrne
624d5d9a8e HDFFV-10740 - skip copying dirs in for loops 2019-09-18 11:04:09 -05:00
Allen Byrne
671649f6f2 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '57f1a2124c65283fc48c4ca700392e1682d0e754':
  Moved NDEBUG guards to H5EA_DEBUG in H5EA package.
2019-09-18 08:46:11 -05:00
Dana Robinson
57f1a2124c Merge pull request #1930 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '431123503d387bce30b1f6db7dc4ad3a33bc51bb':
  Moved NDEBUG guards to H5EA_DEBUG in H5EA package.
2019-09-17 20:17:14 -05:00
Dana Robinson
431123503d Moved NDEBUG guards to H5EA_DEBUG in H5EA package. 2019-09-17 16:53:18 -07:00
Allen Byrne
8e686c8211 Correct HDF5 options to tristate values. 2019-09-17 15:43:27 -05:00
Allen Byrne
564d710e93 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ab52a0effa605ad6d75cb77cf708bba795cba641':
  Added MPICH_SKIP_MPICXX and OMPI_SKIP_CXX to H5public.h to avoid inadvertant linking to the deprecated MPI C++ wrappers. Fixes HDFFV-10893.
2019-09-17 14:43:36 -05:00
Allen Byrne
3790ba38a1 HDFFV-10905 fix test scripts for no zlib 2019-09-17 14:38:26 -05:00
Dana Robinson
ab52a0effa Merge pull request #1927 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit 'f5a84c9856888446e329dd36bff842e5a2db708c':
  Added MPICH_SKIP_MPICXX and OMPI_SKIP_CXX to H5public.h to avoid inadvertant linking to the deprecated MPI C++ wrappers. Fixes HDFFV-10893.
2019-09-17 14:07:00 -05:00
Dana Robinson
f5a84c9856 Added MPICH_SKIP_MPICXX and OMPI_SKIP_CXX to H5public.h to avoid inadvertant
linking to the deprecated MPI C++ wrappers. Fixes HDFFV-10893.
2019-09-17 10:52:16 -07:00
Allen Byrne
adce9e7f4e HDFFV-10903 - fix VFD constants in JNI 2019-09-17 10:30:04 -05:00
Allen Byrne
f2760f6117 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '046e6e8770212dc020279aba1d7a5c9aa5ec5913':
  Added a release note for HDFFV-10892 (fcntl lock bug).
  Fix segfault after H5VL_loc_params_t fix merge
2019-09-17 09:24:36 -05:00
Dana Robinson
046e6e8770 Merge pull request #1924 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '387d2e671c597a51b4166667a16e740a8e1449fa':
  Added a release note for HDFFV-10892 (fcntl lock bug).
2019-09-16 18:18:02 -05:00
Jordan Henderson
1215cec501 Merge pull request #1923 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit 'db1022ef5dad4ee450ca092b8b471040f405bbcf':
  Fix segfault after H5VL_loc_params_t fix merge
2019-09-16 17:39:04 -05:00
Dana Robinson
387d2e671c Added a release note for HDFFV-10892 (fcntl lock bug). 2019-09-16 15:17:31 -07:00
Jordan Henderson
db1022ef5d Fix segfault after H5VL_loc_params_t fix merge 2019-09-16 15:35:09 -05:00
Allen Byrne
70284ba85e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'c1c522f6ce8f6d7e44e6ea99860b19228f46952a':
  Fix issue in H5Lcreate_hard and H5Olink where entire H5VL_loc_params_t structure was passed via varargs
2019-09-16 11:38:48 -05:00
Allen Byrne
c1c522f6ce Merge pull request #1922 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b477f9bcc7bb83d7c06e1d09f428030f51d71897':
  HDFFV-10901 add missing config options
2019-09-16 11:38:30 -05:00
Jordan Henderson
72e8387bc9 Merge pull request #1887 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '0de0965c61823186ac61c0d6876d4d77578e5bcc':
  Fix issue in H5Lcreate_hard and H5Olink where entire H5VL_loc_params_t structure was passed via varargs
2019-09-16 11:34:00 -05:00
Allen Byrne
b477f9bcc7 HDFFV-10901 add missing config options 2019-09-13 11:34:00 -05:00
Allen Byrne
cafab483ff Merge pull request #1920 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '05f49d5ffdbd4cf9e967d60a3a0efd0ca7f2c820': (22 commits)
  HDFFV-10854 add release note for windows
  Fix get home dir for windows
  Use variable for test output
  Allow tests to dump output if not comparing
  revert as CHECK will first check for exception
  Clear exception for getting JNI string to clear the exception
  Correct Windows check
  revert windows change
  Windows ssl headers are not in system loacation
  Add include dirs and default lib for windows
  Add policy to use <package>_ROOT
  Add statement for label if code unimplemented
  Update Windows require for CURL to CMake 3.13
  Fix unused var
  Add updated find module for earlier CMake versions
  Correct label and var names
  Add back missing java implementation
  use h5test.h
  add test library
  special windows override
  ...
2019-09-13 11:33:00 -05:00
Allen Byrne
05f49d5ffd HDFFV-10854 add release note for windows 2019-09-12 15:13:42 -05:00
Allen Byrne
50287cb9d2 Fix get home dir for windows 2019-09-12 14:22:43 -05:00
Allen Byrne
e37b474374 Use variable for test output 2019-09-11 14:09:25 -05:00
Allen Byrne
24f863dfba Allow tests to dump output if not comparing 2019-09-11 12:51:31 -05:00
Allen Byrne
e20331651e revert as CHECK will first check for exception 2019-09-10 14:19:29 -05:00
Allen Byrne
afb07f9b39 Clear exception for getting JNI string to clear the exception 2019-09-10 13:47:24 -05:00
Vailin Choi
cf0fb665ac Merge pull request #19 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10585-investigate-slowness-of-regular
* commit '2456a36f46a15ca44840cb64c7aac213f0ca8bf8': (53 commits)
  Fixed some exit calls.
  Reworked the previously refactorred code.
  Improvement of test code
  Fix CMake build of test needing compression libs
  Fixed error code and error messages Tested on Jelly (very minor)
  Changed H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COOR to H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD per a review comment.
  Add comment to add tests later to verify conflicting values for MPI-specific properties on multiple opens.
  Updated comments
  Updated based on reviews and refactored test code
  Move ext_path field in H5F_t to H5F_shared_t. Remove unused routine H5F_set_coll_md_read().
  Move coll_md_read and coll_md_write fields in H5F_t to H5F_shared_t.
  Fix namespace usage
  Fix EXISTS test syntax
  Update settings
  Add 32-bit cross-compile toolchain
  Code cleanup and refactor
  Re-ordered items w.r.t. date.
  Whitespace and HD prefix changes
  Fixed typo
  Added notes about HDFFV-10677 and HDFFV-10661
  ...
2019-09-10 13:27:01 -05:00
Dana Robinson
2456a36f46 Merge pull request #1919 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '78fda912952d977ec6b157d344834112c363dd26':
  Fixed some exit calls.
2019-09-10 11:54:38 -05:00
Dana Robinson
78fda91295 Fixed some exit calls. 2019-09-06 18:06:26 -07:00
Allen Byrne
6eb6e0db8d Correct Windows check 2019-09-06 15:24:52 -05:00
Allen Byrne
0d964c2f88 revert windows change 2019-09-06 11:01:25 -05:00
Allen Byrne
acdeee8c6a Windows ssl headers are not in system loacation 2019-09-06 10:17:40 -05:00
Allen Byrne
7b2b2a73a1 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5b9f3660d7419fde023e3f277fb8f7d742fa255e':
  Reworked the previously refactorred code.
  Improvement of test code
2019-09-06 09:36:05 -05:00
Allen Byrne
677f8e6f31 Add include dirs and default lib for windows 2019-09-05 17:25:27 -05:00
Allen Byrne
bad125a071 Add policy to use <package>_ROOT 2019-09-05 16:54:24 -05:00
Allen Byrne
3e816bd089 Add statement for label if code unimplemented 2019-09-05 15:49:57 -05:00
Binh-Minh Ribler
5b9f3660d7 Merge pull request #1918 in HDFFV/hdf5 from ~BMRIBLER/hdf5-bmr:develop to develop
Revised tests.

* commit '716125887d3954239d280890b4cbb13288f5eeaa':
  Reworked the previously refactorred code.
  Improvement of test code
2019-09-05 15:47:37 -05:00
Allen Byrne
9857dc553f Update Windows require for CURL to CMake 3.13 2019-09-05 15:41:07 -05:00
Allen Byrne
60cc470a35 Fix unused var 2019-09-05 15:21:02 -05:00
Allen Byrne
ff4cb06d42 Add updated find module for earlier CMake versions 2019-09-05 14:58:07 -05:00
Allen Byrne
3467de59f8 Correct label and var names 2019-09-05 14:57:35 -05:00
Allen Byrne
dcab85c83b Add back missing java implementation 2019-09-05 14:35:33 -05:00
Binh-Minh Ribler
716125887d Reworked the previously refactorred code.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-09-05 14:14:19 -05:00
Allen Byrne
e3e9cf04b0 use h5test.h 2019-09-05 11:44:32 -05:00
Allen Byrne
d5de03225f add test library 2019-09-05 11:43:00 -05:00
Allen Byrne
a88f98ae82 special windows override 2019-09-05 09:50:42 -05:00
Allen Byrne
1ca7384532 Correct name and add mingw to 32bit toolchain 2019-09-05 09:45:25 -05:00
Allen Byrne
f651cb4747 Fix build for tools library test 2019-09-05 09:35:54 -05:00
Binh-Minh Ribler
339bf241be Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5-bmr into develop 2019-09-04 02:09:35 -05:00
Binh-Minh Ribler
714804b280 Improvement of test code
Description:
    Fixed tests to handle the case when a requested compression filter
    is not available.
Platform tested
    Linux/64 (jelly)
    Darwin (osx1011test)
2019-09-04 02:03:32 -05:00
Allen Byrne
b1dab421de Merge pull request #1917 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '781843da4b90d6d22f8a27b6abaad441631ab3d1':
  Fix CMake build of test needing compression libs
2019-09-03 12:59:05 -05:00
Allen Byrne
781843da4b Fix CMake build of test needing compression libs 2019-09-03 12:07:29 -05:00
Binh-Minh Ribler
a8af828bbf Merge pull request #1908 in HDFFV/hdf5 from ~BMRIBLER/hdf5-bmr:develop to develop
- Added new chunk query functions: H5Dget_num_chunks(), H5Dget_chunk_info(), and H5Dget_chunk_info_by_coord()
- Fixed iterator issue in H5EA_iterate(), H5FA_iterate(), and H5D__none_idx_iterate()

* commit '96dab622e3bbe75d85b0cef3ca2bd5288cf4ac32':
  Fixed error code and error messages Tested on Jelly (very minor)
  Changed H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COOR to H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD per a review comment.
  Updated comments
  Updated based on reviews and refactored test code
  Code cleanup and refactor
  Re-ordered items w.r.t. date.
  Fixed typo
  Added notes about HDFFV-10677 and HDFFV-10661
  HDFFV-10677 and HDFFV-10661
2019-09-03 11:08:42 -05:00
Binh-Minh Ribler
96dab622e3 Fixed error code and error messages
Tested on Jelly (very minor)
2019-09-03 11:00:29 -05:00
Binh-Minh Ribler
daecf8f06d Changed H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COOR to
H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD per a review comment.
2019-09-03 08:03:28 -05:00
Vailin Choi
ec90f31106 Merge pull request #1914 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/shared_file_pointer to develop
* commit '62750441cdfbf17f7fa5db3bbf1320c1dc5be838':
  Add comment to add tests later to verify conflicting values for MPI-specific properties on multiple opens.
  Move ext_path field in H5F_t to H5F_shared_t. Remove unused routine H5F_set_coll_md_read().
  Move coll_md_read and coll_md_write fields in H5F_t to H5F_shared_t.
2019-09-02 21:27:19 -05:00
Vailin Choi
62750441cd Add comment to add tests later to verify conflicting values for MPI-specific properties on multiple opens. 2019-09-02 12:59:48 -05:00
Binh-Minh Ribler
bde9257f02 Updated comments 2019-09-01 01:25:59 -05:00
Binh-Minh Ribler
b679d11bcc Updated based on reviews and refactored test code 2019-09-01 01:13:08 -05:00
Vailin Choi
eef0cf2694 Move ext_path field in H5F_t to H5F_shared_t.
Remove unused routine H5F_set_coll_md_read().
2019-08-31 01:24:38 -05:00
Vailin Choi
fe3c4567f5 Move coll_md_read and coll_md_write fields in H5F_t to H5F_shared_t. 2019-08-30 23:06:04 -05:00
Allen Byrne
373df11c46 Merge pull request #1911 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e6c11af8704c3ac923dd6afcefaf20c568157770':
  Fix namespace usage
  Fix EXISTS test syntax
  Update settings
  Add 32-bit cross-compile toolchain
2019-08-30 09:25:16 -05:00
Allen Byrne
e6c11af870 Fix namespace usage 2019-08-29 16:22:21 -05:00
Allen Byrne
0b6f5e88cd Fix EXISTS test syntax 2019-08-29 14:43:35 -05:00
Allen Byrne
ed4cbbcc9b Update settings 2019-08-29 13:18:35 -05:00
Allen Byrne
fa540a3af8 Add 32-bit cross-compile toolchain 2019-08-29 10:36:12 -05:00
Binh-Minh Ribler
a633e33334 Code cleanup and refactor 2019-08-29 00:53:40 -05:00
Binh-Minh Ribler
3adadb92e2 Re-ordered items w.r.t. date. 2019-08-28 18:06:51 -05:00
Allen Byrne
37532a3688 Merge pull request #1904 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '1efd23ff02b9bc1a3d303d53395245d1366588be':
  Whitespace and HD prefix changes
  fix get gethostname for windows
  OESS-29 Fix HD prefix in perform and enable test compile
  HDFFV-10876 h5dump OPAQUE size should be optional
2019-08-28 15:18:02 -05:00
Allen Byrne
1efd23ff02 Whitespace and HD prefix changes 2019-08-28 11:11:32 -05:00
Binh-Minh Ribler
8cc3c58f9d Fixed typo 2019-08-28 10:36:40 -05:00
Binh-Minh Ribler
6858ee6495 Added notes about HDFFV-10677 and HDFFV-10661 2019-08-28 10:33:31 -05:00
Allen Byrne
43ff3fdc33 fix get gethostname for windows 2019-08-28 10:19:03 -05:00
Binh-Minh Ribler
7857a59bf0 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5-bmr into develop 2019-08-28 10:14:10 -05:00
Binh-Minh Ribler
e06bf9d263 HDFFV-10677 and HDFFV-10661
Description:
    - Added functions to query chunk information:
        H5Dget_num_chunks(dset_id, fspace_id, *nchunks)
            Gets the number of written chunks that intersect with the given
            dataspace.  However, in this version, the intersection is not
            yet completed.  Thus, the number of all written chunks will be
            returned.
        H5Dget_chunk_info_by_coord(dset_id, *offset, *filter_mask, *addr, *size)
            Given a chunk's logical coordinates, returns the chunk's filter,
            address, and size.
        H5Dget_chunk_info(dset_id, fspace_id, index, *offset, *filter_mask, *addr, *size)
            Given a chunk's index, returns the chunk's logical coordinates, filter,
            address, and size.  The chunk belongs to a set of chunks that have
            nonempty intersection with the specified dataspace.  However, in
            this version, the intersection is not yet completed, and the index
            is of all the written chunks.
        These functions comply with VOL.

    - Fixed some oversights found in the library for the tests in chunk_info.c
      to work correctly.  The returned value from a callback function was not
      checked in H5EA_iterate(), H5FA_iterate(), and H5D__none_idx_iterate().
      This oversight caused a callback function to continue iterating even though
      it's supposed to stop.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-08-28 10:08:12 -05:00
Allen Byrne
a6df73c723 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'fb8296371cf45654a9252ed01b635519205da3de':
  Minor tweaks to new H5P MPI code based on code review feedback.
  Fixed a bug in the cache image code that was introduced by the HD changes.
  Added H5Pset/get_mpi_params calls and unified them with the MPI-I/O VFD info in H5FDmpio.c.
2019-08-27 16:56:20 -05:00
Allen Byrne
09d13b3c13 OESS-29 Fix HD prefix in perform and enable test compile 2019-08-27 16:49:10 -05:00
Dana Robinson
fb8296371c Merge pull request #1896 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:H5Pset_fapl_mpi to develop
* commit '937616872cf228f838fd1eb2853ce6110f3da10b':
  Minor tweaks to new H5P MPI code based on code review feedback.
  Fixed a bug in the cache image code that was introduced by the HD changes.
  Added H5Pset/get_mpi_params calls and unified them with the MPI-I/O VFD info in H5FDmpio.c.
2019-08-27 16:17:50 -05:00
Dana Robinson
937616872c Minor tweaks to new H5P MPI code based on code review feedback. 2019-08-27 14:00:49 -07:00
Dana Robinson
477bd6cd77 Merge branch 'develop_minor_pr' into H5Pset_fapl_mpi 2019-08-27 13:28:55 -07:00
Dana Robinson
7dfe176924 Fixed a bug in the cache image code that was introduced by the HD
changes.
2019-08-27 13:26:22 -07:00
Allen Byrne
369d17c05c HDFFV-10876 h5dump OPAQUE size should be optional 2019-08-27 15:10:37 -05:00
Dana Robinson
1b95221105 Merge pull request #1903 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '9a4f86997ad160bcc8a3f9eefdbd92d4a63e14c6':
  Fixed typo from HD changes
2019-08-27 14:26:34 -05:00
Dana Robinson
9a4f86997a Fixed typo from HD changes 2019-08-27 12:20:12 -07:00
Dana Robinson
89928e7c21 Merge branch 'develop' into H5Pset_fapl_mpi 2019-08-27 12:19:03 -07:00
Dana Robinson
91a34039ba Merge pull request #1902 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:fcntl_lock_bug to develop
* commit 'd42de626b604b75963fd593a145fd9c9b9e20602':
  Fixed a bug where we incorrectly pass a lock struct to fcntl for file locking instead of a pointer.
2019-08-27 14:10:30 -05:00
Allen Byrne
506a5069a8 Merge pull request #1899 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '392340062b7c130a02368aee79bc34ba9868038a':
  Add HD prefix
2019-08-27 10:26:38 -05:00
Allen Byrne
392340062b Add HD prefix 2019-08-27 09:21:08 -05:00
Dana Robinson
d42de626b6 Fixed a bug where we incorrectly pass a lock struct to fcntl
for file locking instead of a pointer.
2019-08-27 07:03:51 -07:00
Allen Byrne
9689c6cf0a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ddf04a9a727252f40197c48da541212dff646046':
  Add a 'closing' flag on the shared file struct, and switch several of the "internal" data structures to use it.
  Fixed the assertion failure for HDFFV-10873.
2019-08-27 08:43:19 -05:00
Allen Byrne
ddf04a9a72 Merge pull request #1893 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ba974c031deb709b6d4241da95485b48d747afdd':
  OESS-29 Update HD prefix mostly
2019-08-27 08:43:03 -05:00
Dana Robinson
68cd4eea0e Merge branch 'develop' into H5Pset_fapl_mpi 2019-08-27 02:42:18 -07:00
Quincey Koziol
6e8c48182f Merge pull request #1897 in HDFFV/hdf5 from ~KOZIOL/hdf5:refactor_file to develop
* commit '3090ac81506094ee510ae89c31749b5c1632aa34':
  Add a 'closing' flag on the shared file struct, and switch several of the "internal" data structures to use it.
2019-08-26 17:25:17 -05:00
Quincey Koziol
3090ac8150 Add a 'closing' flag on the shared file struct, and switch several of the
"internal" data structures to use it.
2019-08-26 14:38:58 -05:00
Dana Robinson
3bcbce5538 Added H5Pset/get_mpi_params calls and unified them with the MPI-I/O
VFD info in H5FDmpio.c.
2019-08-26 10:26:31 -07:00
Vailin Choi
a367340a17 Merge pull request #1892 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10873-assertion-v-oh--nmesgs-failed to develop
* commit '021919206df7764f951037ae76ccae006b2eea99':
  Fixed the assertion failure for HDFFV-10873.
2019-08-26 12:02:31 -05:00
Allen Byrne
ba974c031d OESS-29 Update HD prefix mostly 2019-08-24 14:07:33 -05:00
Vailin Choi
021919206d Fixed the assertion failure for HDFFV-10873. 2019-08-23 15:06:19 -05:00
Quincey Koziol
884ad149e2 Merge pull request #1889 in HDFFV/hdf5 from ~KOZIOL/hdf5:shared_file_ptr to develop
* commit 'f42c7cc0d85cc5b232afd621711fdbd64f6e19d9':
  Fix major error codes
  Switch shared file struct name from 'H5F_file_t' to 'H5F_shared_t', to match naming convention for shared structs in rest of library data structures.
  Small tidy up.
  Progress toward movig H5MF* API to use shared file pointers instead of top file pointers.
  Progress on moving the H5MF* interface to using shared file pointers instead of top file pointers.
  Begin converting the H5MF interface to use shared file pointers instead of top file pointers.
  Progress toward moving the dataset routines to using the 'shared' file pointer instead of the 'top' file pointer.
  Begin converting dataset code to use shared file pointer instead of top file pointer.
  Finish converting H5PB_* routines to use shared file pointer, instead of top file pointer.
  First pass of converting H5PB_* routines to use shared file pointers.
  Rest of changes for 'top' file pointer to 'shared' file pointer for H5F__accum routines.
  Partial H5F__accum_* routines.
2019-08-23 10:21:08 -05:00
Quincey Koziol
f42c7cc0d8 Fix major error codes 2019-08-22 17:06:00 -05:00
Quincey Koziol
c36d2eeae7 Switch shared file struct name from 'H5F_file_t' to 'H5F_shared_t', to match
naming convention for shared structs in rest of library data structures.
2019-08-22 13:28:20 -05:00
Quincey Koziol
5d6f27b32b Merge branch 'develop' into shared_file_ptr 2019-08-21 15:36:17 -05:00
Quincey Koziol
0b85fa6004 Small tidy up. 2019-08-21 15:34:43 -05:00
Jordan Henderson
0de0965c61 Fix issue in H5Lcreate_hard and H5Olink where entire H5VL_loc_params_t structure was passed via varargs 2019-08-21 11:56:50 -05:00
Quincey Koziol
d3545afbc5 Progress toward movig H5MF* API to use shared file pointers instead of top
file pointers.
2019-08-20 21:55:16 -05:00
Quincey Koziol
901c42640f Progress on moving the H5MF* interface to using shared file pointers instead of
top file pointers.
2019-08-20 21:32:13 -05:00
Quincey Koziol
53eaeff26a Begin converting the H5MF interface to use shared file pointers instead
of top file pointers.
2019-08-20 21:07:13 -05:00
Quincey Koziol
2ef7eb51b9 Progress toward moving the dataset routines to using the 'shared' file pointer
instead of the 'top' file pointer.
2019-08-20 20:38:10 -05:00
Dana Robinson
f0272e4945 Merge pull request #1886 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit 'e747237a9c03e551eef017cf4a0de5d67ca4fd71':
  Removed unnecessary H5S_FRIEND and dead code.
2019-08-20 19:55:41 -05:00
Quincey Koziol
67d7d28c03 Begin converting dataset code to use shared file pointer instead of top file
pointer.
2019-08-20 18:21:53 -05:00
Quincey Koziol
25f982abbd Finish converting H5PB_* routines to use shared file pointer, instead of top
file pointer.
2019-08-20 17:26:10 -05:00
Dana Robinson
e747237a9c Removed unnecessary H5S_FRIEND and dead code. 2019-08-20 13:16:20 -07:00
Dana Robinson
c5ba214097 Merge pull request #1884 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:new_vfd_build_cleanup to develop
* commit '3ee329cb463538cceffef722101fb28e37fbddcb':
  Untangle #ifdef mess in ROS3 code.
2019-08-20 11:22:29 -05:00
Dana Robinson
3ee329cb46 Merge branch 'develop' into new_vfd_build_cleanup 2019-08-19 18:16:30 -07:00
Dana Robinson
8c40dab59e Untangle #ifdef mess in ROS3 code. 2019-08-19 18:02:47 -07:00
Quincey Koziol
f285c76ef2 First pass of converting H5PB_* routines to use shared file pointers. 2019-08-19 18:48:06 -05:00
Quincey Koziol
df36318b5f Rest of changes for 'top' file pointer to 'shared' file pointer for H5F__accum
routines.
2019-08-19 18:00:05 -05:00
Quincey Koziol
85a56a9c4f Partial H5F__accum_* routines. 2019-08-19 17:47:28 -05:00
Larry Knox
a63c20cdd0 Merge pull request #1883 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '92f103cfd4b19b61a0ddf6e62e1692d2b3eeb4d9':
  Add H5_DLL to all s3comms function prototypes to stop Windows unresolved external symbols errors.  HDFFV-10889.
2019-08-19 16:05:18 -05:00
Allen Byrne
8b6f3bc7e6 Merge pull request #1882 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '935f27c1b803faf981131ff936619aecd9f76e38':
  HDFFV-10887 Implement requested functions
2019-08-19 12:46:56 -05:00
Larry Knox
92f103cfd4 Add H5_DLL to all s3comms function prototypes to stop Windows unresolved
external symbols errors.  HDFFV-10889.
2019-08-19 12:03:44 -05:00
Allen Byrne
935f27c1b8 HDFFV-10887 Implement requested functions 2019-08-19 11:58:52 -05:00
Allen Byrne
06e5cbd541 Merge pull request #1880 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '9081fb266cc15198e0c75a77f23f2b252c6ee79f':
  Add missing HD prefix
  This test cannot use HD prefix macro with printf of fprintf
  Update HD prefix and reconcile hl/cpp test
  Add HD prefix to tests
2019-08-19 09:04:05 -05:00
Vailin Choi
798c580fc3 Merge pull request #18 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10585-investigate-slowness-of-regular
* commit 'dcf084aff42d3abafaa82b356493a2d1585afb85': (25 commits)
  Changes based on PR feedback.
  Correct name of folder
  Mostly whitespace in testpar, addl changes for tmp dir
  Whitespace cleanup
  Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls.
  Some refactoring prior to implementing new H5P MPI functions. * Macro cleanup and obvious warning fixes in parallel code. * Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file   and separated it to deal with each MPI type separately.
  Fix compiler warnings with diabled ROS3 and HDFS VFDs. Fix misuse of [HD]strncpy and [HD]snprintf. Minor formatting changes. Fix test cleanup issue with java groups example.
  Changed the directory name left out from the previous commit.
  Changed the name of the temporary directory from 'tmp' to a special name to avoid possible conflicts.
  Fix H5F_get_file_id and H5F__get_file_id to take app_ref parameter
  HDFFV-10879 fix test varname
  Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
  Added map API build status to libhdf5.settings.
  Updated h5trav.c to emit output that doesn't require ddl changes for map support.
  HDFFV-10879 set default API version
  Fixed Map API CMake option
  Renamed H5Mdelete_key to H5Mdelete and H5Mset to H5Mput.
  Remove old code
  Correct error test spelling and use
  Added ifdef for intel compilers, __GNUC__ has to be defined for header files which use it to work with intel compilers. This gives a warning for intel compiler about fallthrough, so added a check not to include fallthrough if using intel compilers.
  ...
2019-08-18 21:36:06 -05:00
Allen Byrne
9081fb266c Add missing HD prefix 2019-08-18 11:33:45 -05:00
Allen Byrne
2bce24576e This test cannot use HD prefix macro with printf of fprintf 2019-08-17 13:33:41 -05:00
Allen Byrne
228ef0684e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'dcf084aff42d3abafaa82b356493a2d1585afb85':
  Changes based on PR feedback.
  Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
2019-08-17 13:25:26 -05:00
Allen Byrne
96bf97f534 Update HD prefix and reconcile hl/cpp test 2019-08-16 13:23:29 -05:00
Vailin Choi
dcf084aff4 Merge pull request #1865 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10813-swmr-test-fails-on-jelly-with to develop
* commit '538f743c145fbbfa7b1119693efd2ff61b34efae':
  Changes based on PR feedback.
  Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
2019-08-16 11:52:42 -05:00
Vailin Choi
538f743c14 Changes based on PR feedback. 2019-08-15 17:51:15 -05:00
Allen Byrne
64e6665b54 Add HD prefix to tests 2019-08-15 16:46:15 -05:00
Vailin Choi
8d7ff1048b Merge pull request #17 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10813-swmr-test-fails-on-jelly-with
* commit '3a504899eef1a66031c6f52623c24bb4e51ca51e':
  Correct name of folder
  Mostly whitespace in testpar, addl changes for tmp dir
  Whitespace cleanup
  Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls.
  Some refactoring prior to implementing new H5P MPI functions. * Macro cleanup and obvious warning fixes in parallel code. * Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file   and separated it to deal with each MPI type separately.
  Fix compiler warnings with diabled ROS3 and HDFS VFDs. Fix misuse of [HD]strncpy and [HD]snprintf. Minor formatting changes. Fix test cleanup issue with java groups example.
  Changed the directory name left out from the previous commit.
  Changed the name of the temporary directory from 'tmp' to a special name to avoid possible conflicts.
  Fix H5F_get_file_id and H5F__get_file_id to take app_ref parameter
  HDFFV-10879 fix test varname
2019-08-15 16:34:01 -05:00
Allen Byrne
3a504899ee Merge pull request #1875 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8ef09e5ce9f191c2a7af301f1aec9254f4458a50':
  Correct name of folder
  Mostly whitespace in testpar, addl changes for tmp dir
  Whitespace cleanup
2019-08-15 12:08:16 -05:00
Allen Byrne
8ef09e5ce9 Correct name of folder 2019-08-15 11:07:24 -05:00
Allen Byrne
98c8c6e45b Mostly whitespace in testpar, addl changes for tmp dir 2019-08-15 10:28:40 -05:00
Allen Byrne
f5a250e77c Whitespace cleanup 2019-08-15 09:03:03 -05:00
Dana Robinson
6b8d369a0c Merge pull request #1873 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:H5Pset_fapl_mpi to develop
* commit 'bd8da502cf5b763433e3c628a4043a4264529cec':
  Some refactoring prior to implementing new H5P MPI functions. * Macro cleanup and obvious warning fixes in parallel code. * Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file   and separated it to deal with each MPI type separately.
2019-08-14 19:34:56 -05:00
Dana Robinson
300372ce33 Merge pull request #1874 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:h5s_api_for_daos to develop
* commit 'c490fefbc3199d45fa4d3af09dd567671a244e8d':
  Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls.
2019-08-14 19:33:19 -05:00
Jerome Soumagne
2348341198 Merge pull request #1869 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_file_get_id to develop
* commit '7f5a5020c8ec882e6b7eceab878470003e2a8b63':
  Fix H5F_get_file_id and H5F__get_file_id to take app_ref parameter
2019-08-14 19:15:17 -05:00
Dana Robinson
c490fefbc3 Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls. 2019-08-14 17:09:11 -07:00
Dana Robinson
bd8da502cf Some refactoring prior to implementing new H5P MPI functions.
* Macro cleanup and obvious warning fixes in parallel code.
* Moved H5FD comm and info dup/free wrapper code to a new H5mpi.c file
  and separated it to deal with each MPI type separately.
2019-08-14 16:22:06 -07:00
Jake Smith
396edbe6bf Merge pull request #1872 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:bugfix/ros3_hdfs_warns_squashed to develop
* commit '2e5cd3d2b2d953420252c80ab5e32ac95ac0c5b3':
  Fix compiler warnings with diabled ROS3 and HDFS VFDs. Fix misuse of [HD]strncpy and [HD]snprintf. Minor formatting changes. Fix test cleanup issue with java groups example.
2019-08-14 15:54:10 -05:00
Ray Lu
47e3d99f65 Merge pull request #1871 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/directory_name_develop to develop
* commit '0b868668bac0d268120844adb9ad216a9a8e1395':
  Changed the directory name left out from the previous commit.
  Changed the name of the temporary directory from 'tmp' to a special name to avoid possible conflicts.
2019-08-14 15:49:57 -05:00
Jacob Smith
2e5cd3d2b2 Fix compiler warnings with diabled ROS3 and HDFS VFDs.
Fix misuse of [HD]strncpy and [HD]snprintf.
Minor formatting changes.
Fix test cleanup issue with java groups example.
2019-08-14 15:36:45 -05:00
Allen Byrne
05edbabbb5 Merge pull request #1866 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '2102be3259c14a1e4d94e8526894a16fd389f59d':
  HDFFV-10879 fix test varname
2019-08-14 15:29:41 -05:00
Songyu Lu
0b868668ba Changed the directory name left out from the previous commit. 2019-08-14 15:22:06 -05:00
Songyu Lu
b234263bbf Changed the name of the temporary directory from 'tmp' to a special name to avoid possible conflicts. 2019-08-14 15:08:46 -05:00
Jerome Soumagne
7f5a5020c8 Fix H5F_get_file_id and H5F__get_file_id to take app_ref parameter
Fix app_ref_count from being incremented when private routines are used
2019-08-14 14:46:39 -05:00
Allen Byrne
2102be3259 HDFFV-10879 fix test varname 2019-08-14 13:50:25 -05:00
Vailin Choi
10bea9ac46 Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19. 2019-08-14 12:43:18 -05:00
Vailin Choi
674a945cc7 Merge pull request #16 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10813-swmr-test-fails-on-jelly-with
* commit '2b72832d97496290f74ccaffcda41c3e596f8f49':
  Added map API build status to libhdf5.settings.
2019-08-14 11:25:16 -05:00
Dana Robinson
2b72832d97 Merge pull request #1863 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:map_api_merge to develop
* commit '7555bc95d91aa99344cdc3a66d47eb44decad4ac':
  Added map API build status to libhdf5.settings.
2019-08-14 09:35:55 -05:00
Dana Robinson
7555bc95d9 Added map API build status to libhdf5.settings. 2019-08-13 23:07:48 -07:00
Allen Byrne
a5d37a2419 Merge pull request #1862 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e42120c308b619e58f412e167f4449fd003f8ca9':
  HDFFV-10879 set default API version
  Remove old code
  Correct error test spelling and use
2019-08-13 13:27:35 -05:00
Allen Byrne
e42120c308 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'aeb145428f5e6bc51742fff031b0cf8cf6fbefbb':
  Updated h5trav.c to emit output that doesn't require ddl changes for map support.
  Fixed Map API CMake option
  Renamed H5Mdelete_key to H5Mdelete and H5Mset to H5Mput.
  Added ifdef for intel compilers, __GNUC__ has to be defined for header files which use it to work with intel compilers. This gives a warning for intel compiler about fallthrough, so added a check not to include fallthrough if using intel compilers.
  Added the map (H5M) API
2019-08-13 13:15:55 -05:00
Dana Robinson
aeb145428f Merge pull request #1860 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:map_api_merge to develop
* commit 'd95745235a468b17f697843adb3d0e54bd919893':
  Updated h5trav.c to emit output that doesn't require ddl changes for map support.
  Fixed Map API CMake option
  Renamed H5Mdelete_key to H5Mdelete and H5Mset to H5Mput.
  Added the map (H5M) API
2019-08-13 12:57:19 -05:00
Dana Robinson
d95745235a Updated h5trav.c to emit output that doesn't require ddl changes for map
support.
2019-08-13 10:55:34 -07:00
Allen Byrne
7b8ffecc20 HDFFV-10879 set default API version 2019-08-13 11:04:13 -05:00
Dana Robinson
dd2133f56e Fixed Map API CMake option 2019-08-13 08:53:09 -07:00
Dana Robinson
5024051e35 Renamed H5Mdelete_key to H5Mdelete and H5Mset to H5Mput. 2019-08-13 08:46:56 -07:00
Scot Breitenfeld
60b62b10f1 Merge pull request #1861 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'df7ce9a5c933315af34dd402cfb2ca394003b56b':
  Added ifdef for intel compilers, __GNUC__ has to be defined for header files which use it to work with intel compilers. This gives a warning for intel compiler about fallthrough, so added a check not to include fallthrough if using intel compilers.
2019-08-13 10:36:55 -05:00
Allen Byrne
ac4f82fcd4 Remove old code 2019-08-13 10:26:43 -05:00
Allen Byrne
a7281b117c Correct error test spelling and use 2019-08-13 10:25:05 -05:00
M. Scot Breitenfeld
df7ce9a5c9 Added ifdef for intel compilers, __GNUC__ has to be defined for header files which use it to work with intel compilers. This gives a warning for intel compiler about fallthrough, so added a check not to include fallthrough if using intel compilers. 2019-08-13 10:10:23 -05:00
Dana Robinson
5b6bd7c922 Added the map (H5M) API 2019-08-13 01:36:42 -07:00
Allen Byrne
e874070dbb Merge pull request #1856 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'c476f020769d8f78581ef399c59e3d4e6e202b2f':
  HDFFV-10879 fix reference file
  HDFFV-10879 correct API version set command
2019-08-12 15:58:48 -05:00
Allen Byrne
c476f02076 HDFFV-10879 fix reference file 2019-08-12 15:38:15 -05:00
Allen Byrne
b28636464e HDFFV-10879 correct API version set command 2019-08-12 15:19:11 -05:00
Allen Byrne
3af5cce895 Merge pull request #1853 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'd172582ca9573d685a4c3a9a6399113014da4b21':
  Use a STRING option for API version
  Fix API version option
2019-08-12 14:20:01 -05:00
Allen Byrne
d172582ca9 Use a STRING option for API version 2019-08-12 12:45:29 -05:00
Allen Byrne
2d6bb8b95c Fix API version option 2019-08-12 11:24:36 -05:00
Allen Byrne
e96815ebd8 Merge pull request #1844 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '07af403991ae8950d1f930f5a6db2c7124ae8f91':
  Add option to explicitly disable extra tests
2019-08-09 11:00:47 -05:00
Scot Breitenfeld
318dfdaba1 Merge pull request #1847 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'c56509b490d6834340dedcd3120893028ccb6e8c':
  Added gcc conditional for __attribute__((fallthrough)), removes 34 warnings on theta (10% of warnings).
2019-08-09 08:32:58 -05:00
Dana Robinson
6f4f4adaa2 Merge pull request #1848 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '4900f8823497c63e9f9464dcb6459ebdcbfdac8d':
  Fixed an issue with older version of gfortran.
2019-08-08 23:02:07 -05:00
Dana Robinson
4900f88234 Fixed an issue with older version of gfortran. 2019-08-08 18:46:59 -07:00
M. Scot Breitenfeld
c56509b490 Added gcc conditional for __attribute__((fallthrough)), removes 34 warnings on theta (10% of warnings). 2019-08-08 16:29:57 -05:00
Allen Byrne
07af403991 Add option to explicitly disable extra tests 2019-08-07 15:18:30 -05:00
Larry Knox
0ce619b92d Merge pull request #1843 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'c3c044cc003d6a4039635e638e1cd1c2487be177':
  Escape { and } in regex as required by sh in updated cori.nersc.gov. Tested change on jam, jelly, emu, ostrich and osx1011test.
2019-08-07 14:55:45 -05:00
Allen Byrne
92d79a5840 Merge pull request #1839 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '83b23a5a42c2124c1c5933d0565be1bbefd1c30d':
  Use prefix variable
  Cleanup HD prefix
  Merge reconciliation and VFD test fixes
2019-08-07 13:55:02 -05:00
Larry Knox
c3c044cc00 Escape { and } in regex as required by sh in updated cori.nersc.gov.
Tested change on jam, jelly, emu, ostrich and osx1011test.
2019-08-07 11:51:06 -05:00
Allen Byrne
83b23a5a42 Use prefix variable 2019-08-06 16:23:15 -05:00
Allen Byrne
9f12d83975 Cleanup HD prefix 2019-08-05 16:57:27 -05:00
Allen Byrne
1ef856f8b5 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5fe1216a4e6af8feef0551f7bece8a0e193310a9':
  Fix return type for H5Sselect_intersect_block().
  Updated H5TRACE macro.
  Add H5Sselect_shape_same and H5Sselect_intersect_block API routines, along with tests and minor cleanups and refactorings.
2019-08-05 06:44:11 -05:00
Quincey Koziol
5fe1216a4e Merge pull request #1819 in HDFFV/hdf5 from ~KOZIOL/hdf5:develop to develop
* commit '905d40aa6f6eb603c5507e7967130760e3a2e43c':
  Fix return type for H5Sselect_intersect_block().
  Updated H5TRACE macro.
  Add H5Sselect_shape_same and H5Sselect_intersect_block API routines, along with tests and minor cleanups and refactorings.
2019-08-04 18:38:36 -05:00
Allen Byrne
c60ceb8c08 Merge reconciliation and VFD test fixes 2019-08-04 15:19:51 -05:00
Dana Robinson
ab1ce69900 Merge pull request #1838 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '4cd461168ef6dbd799792b1893c41dccebae59f9':
  Fixed warning typo
2019-08-04 11:22:08 -05:00
Dana Robinson
4cd461168e Fixed warning typo 2019-08-04 09:12:43 -07:00
Allen Byrne
a1c9d22ca9 Merge pull request #1837 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '0147a6c713c784f5df9189fc7334c65f54958434':
  Fix VFD tests and repack
2019-08-04 08:35:15 -05:00
Allen Byrne
0147a6c713 Fix VFD tests and repack 2019-08-03 17:28:50 -05:00
Dana Robinson
20d43f3dba Merge pull request #1836 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '2b1231ddd89dd2f1b59ec9ca1e4e124d7e76f1b5':
  Moved -Wimplicit-procedure gfortran warning to version 4.5 warnings instead of default.
2019-08-03 15:14:34 -05:00
Dana Robinson
2b1231ddd8 Moved -Wimplicit-procedure gfortran warning to version 4.5 warnings
instead of default.
2019-08-03 11:17:53 -07:00
Larry Knox
b7e196e338 Merge pull request #1831 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'c234479258038be93e059a6964bf19332ef162f8':
  Update junit.sh.in to copy lib files to $prefix/lib. Correct checking for s3 and hdfs options.
2019-08-02 10:04:23 -05:00
Larry Knox
c234479258 Update junit.sh.in to copy lib files to $prefix/lib.
Correct checking for s3 and hdfs options.
2019-08-02 09:58:48 -05:00
Scot Breitenfeld
bc1e6c5097 Merge pull request #1829 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '4cb865fc5938a303c197aedf46f90021e2f4b3d6':
  enabled commented-out code
2019-08-01 15:01:26 -05:00
M. Scot Breitenfeld
4cb865fc59 enabled commented-out code 2019-08-01 11:37:13 -05:00
Allen Byrne
dfb6d9a996 Merge pull request #1827 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'ff8d8a9edb3b8012fa02d2b9fa3c823fee7575fa':
  Fix conflicting types for reset_raw_data_files() parameter in external_common.c changed from int to hbool_t. Change 0 and 1 to FALSE and TRUE in calls to reset_raw_data_files().
2019-08-01 10:24:09 -05:00
Larry Knox
ff8d8a9edb Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2019-08-01 10:22:28 -05:00
Larry Knox
0c374d65c6 Fix conflicting types for reset_raw_data_files() parameter in external_common.c changed from int to hbool_t.
Change 0 and 1 to FALSE and TRUE in calls to reset_raw_data_files().
2019-08-01 10:18:45 -05:00
Dana Robinson
bb8904a75e Merge pull request #1826 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '4227b8948d7091205b4f8dc1271d7dcae01bb0fb':
  Reverts the removal of config/conclude_fc.am while keeping the changes to config/gnu-fflags.
  Fixed a couple of typos.
2019-08-01 09:40:01 -05:00
Dana Robinson
4227b8948d Reverts the removal of config/conclude_fc.am while keeping
the changes to config/gnu-fflags.
2019-07-31 22:51:53 -05:00
Larry Knox
95910889d7 Merge pull request #1824 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8120ba8bc1fab68a999995677a3cd1af2bc1da67':
  Fix missing export tag
2019-07-31 22:49:26 -05:00
Dana Robinson
438935557e Fixed a couple of typos. 2019-07-31 22:16:50 -05:00
Allen Byrne
8120ba8bc1 Fix missing export tag 2019-07-31 16:50:45 -05:00
Allen Byrne
9046a4ea95 Merge pull request #1823 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '519dfe549a4b8ffb4bd5d4c72a3f5fb61b80143f':
  Mostly whitespace cleanup and consistent test format
2019-07-31 15:57:18 -05:00
Allen Byrne
519dfe549a Mostly whitespace cleanup and consistent test format 2019-07-31 15:06:45 -05:00
Dana Robinson
ea4f76d664 Merge pull request #1821 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '0ee5526c2c95dd77ee61b917b16adfcacbd3a540':
  Fixed typo in optimization.
2019-07-31 12:53:00 -05:00
Dana Robinson
0ee5526c2c Fixed typo in optimization. 2019-07-31 09:08:16 -07:00
Quincey Koziol
905d40aa6f Fix return type for H5Sselect_intersect_block(). 2019-07-31 09:34:01 -05:00
Allen Byrne
556c43a51d Merge pull request #1810 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '983daec12d7d17605ae660b0f1c5636d99f443f2':
  Merge cleanup mostly whitespace
  Update libvers usage
  Correct generator and add HD prefix
  HDFFV-10529 add note
  HDFFV-10529 Update CMake tests to use test fixtures
2019-07-31 09:27:56 -05:00
Allen Byrne
983daec12d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '363217073750d07e0eeb0aac2b404a799fda9f7a':
  Update COPYING file. Remove hdfs from list of vfds for check-vfd testing as it is read-only.
  Fixed the MANIFEST
2019-07-31 09:20:55 -05:00
Larry Knox
3632170737 Merge pull request #1820 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'ab6679315c5027576c3a80d0ea3b67fd2fa58ff0':
  Update COPYING file. Remove hdfs from list of vfds for check-vfd testing as it is read-only.
2019-07-30 16:59:25 -05:00
Larry Knox
ab6679315c Update COPYING file.
Remove hdfs from list of vfds for check-vfd testing as it is read-only.
2019-07-30 16:37:57 -05:00
Quincey Koziol
41537eeb3c Updated H5TRACE macro. 2019-07-30 16:08:22 -05:00
Quincey Koziol
00fe4ccf30 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~koziol/hdf5 into develop 2019-07-30 15:35:45 -05:00
Quincey Koziol
605889fde8 Add H5Sselect_shape_same and H5Sselect_intersect_block API routines, along
with tests and minor cleanups and refactorings.
2019-07-30 15:34:53 -05:00
Allen Byrne
44e2ddac97 Merge cleanup mostly whitespace 2019-07-30 12:39:20 -05:00
Dana Robinson
c21ba9c26e Merge pull request #1818 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '99a6a5a16e84512dfc57ba2eb7c3e09ecef94b1c':
  Fixed the MANIFEST
2019-07-30 09:57:46 -05:00
Dana Robinson
99a6a5a16e Fixed the MANIFEST 2019-07-30 07:29:37 -07:00
Allen Byrne
4df595c22d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'd169391529f253a9903b8e6cacf38c59ceefab07':
  Parallel Fortran tests now use the MPI module instead of including mpif.h.
  First stab at gfortran versions. Tested on gfortran 7-9 so far.
  Moved the -std=f2008 option to gfortran 9 for now.
  Updated gfortran options. * Removed conclude_fc.am, which was causing verbose builds. Need to   investigate more, though. * Added gfortran 9 warnings and flags. This will need to be separated   into other version blocks based on when the options first appeared. * The standard is now explicitly set at 2008.
2019-07-29 16:24:15 -05:00
Dana Robinson
d169391529 Merge pull request #1808 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:gnu-flags-work to develop
* commit '7d291d059da6287f769951c4854c566da0b93ce8':
  Parallel Fortran tests now use the MPI module instead of including mpif.h.
  First stab at gfortran versions. Tested on gfortran 7-9 so far.
  Moved the -std=f2008 option to gfortran 9 for now.
  Updated gfortran options. * Removed conclude_fc.am, which was causing verbose builds. Need to   investigate more, though. * Added gfortran 9 warnings and flags. This will need to be separated   into other version blocks based on when the options first appeared. * The standard is now explicitly set at 2008.
2019-07-29 16:13:24 -05:00
Allen Byrne
517cadac26 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f97e11e7635a0cd8728d4604ca5dceb3925ba44c':
  Update comment and check for strtoumax.
  Modify CMakeLists.txt file for renamed h5tools_test_utils files.
  Add HD to string functions. Switched strtoul to strtoumax in H5FDs3comms.c. Removed unused functions and variables in s3 and hdfs TestH5Pfapl*.java. Update Copyright headers.
  Squashed commit of the following:
2019-07-29 16:10:45 -05:00
Jacob Smith
7d3e170763 Refactoring. 2019-07-29 14:58:39 -05:00
Allen Byrne
da2ec6163d Update libvers usage 2019-07-28 14:41:52 -05:00
Larry Knox
f97e11e763 Merge pull request #1812 in HDFFV/hdf5 from ~HDF-PRIVATE/hdf5_vfd:develop to develop
* commit '8aa9043837ea217280098b4b32da8d98ac18f58b':
  Update comment and check for strtoumax.
  Modify CMakeLists.txt file for renamed h5tools_test_utils files.
  Add HD to string functions. Switched strtoul to strtoumax in H5FDs3comms.c. Removed unused functions and variables in s3 and hdfs TestH5Pfapl*.java. Update Copyright headers.
  Squashed commit of the following:
2019-07-26 16:57:07 -05:00
Larry Knox
8aa9043837 Update comment and check for strtoumax. 2019-07-26 16:36:45 -05:00
Allen Byrne
a7d74160d0 Correct generator and add HD prefix 2019-07-26 16:18:39 -05:00
Larry Knox
e852c8deb8 Modify CMakeLists.txt file for renamed h5tools_test_utils files. 2019-07-26 12:58:56 -05:00
Larry Knox
094f14ef38 Add HD to string functions.
Switched strtoul to strtoumax in H5FDs3comms.c.
Removed unused functions and variables in s3 and hdfs TestH5Pfapl*.java.
Update Copyright headers.
2019-07-26 11:56:03 -05:00
Larry Knox
8008294578 Squashed commit of the following:
Merge changes from update_merged_S3_HDFS branch into develop.

commit d5034315aea88629929ac0c9c59ebfafd5f21a31
Merge: 9c48823 d3fdcd8
Author: Larry Knox <lrknox@hdfgroup.org>
Date:   Thu Jul 25 08:24:53 2019 -0500

    Merge branch 'develop' into update_merged_S3_HDFS
2019-07-25 11:47:12 -05:00
Allen Byrne
f723e0e7f1 HDFFV-10529 add note 2019-07-23 16:28:54 -05:00
Allen Byrne
6a932198aa HDFFV-10529 Update CMake tests to use test fixtures 2019-07-23 16:24:56 -05:00
Allen Byrne
d3fdcd8a68 Merge pull request #1807 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e19b0302cc38d1850ada7a00431511343cddc8a6': (31 commits)
  HDFFV-10845 update note
  Correct format of drive check
  Use generator expr to get correct name
  HDFFV-10845 Allow mingw to find functionality
  HDFFV-10845 fix comment syntax
  HDFFV-10845 Windows drive can only goto Z
  HDFFV-10845 make flags private
  Correct java load library name access
  Correct syntax
  Fix typo
  Correct OUTPUT_NAME usage
  CMake generator expr cannot be used in get_property cmd
  HDFFV-1045 gcc static must be link flags
  HDFFV-10845 quote multiple strings in cmake link command
  HDFFV-10845 update mingw cmake changes
  Add missing target root path, check other export macro
  HDFFV-10845 skip test if CMake command doesn't support ignore EOL
  HDFFV-10845 copy files with windows EOL
  HDFFV-10845 separate test used by copy windows files
  HDFFV-10845 mingw needs special windows reference files
  ...
2019-07-23 16:21:47 -05:00
Allen Byrne
e19b0302cc HDFFV-10845 update note 2019-07-23 16:21:07 -05:00
Jacob Smith
ded30348ae Add copyright/disclaimer to repack gentest.
Minor formatting tweaks.
2019-07-22 17:34:01 -05:00
Allen Byrne
b9332d6a13 Correct format of drive check 2019-07-22 17:13:56 -05:00
Jacob Smith
c7f8cb011d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into bugfix/repack_external_storage 2019-07-22 17:09:54 -05:00
Jacob Smith
7ff3a63d5f Minor formatting adjustments. 2019-07-22 16:55:37 -05:00
Allen Byrne
fbc06ff9b8 Use generator expr to get correct name 2019-07-22 16:23:38 -05:00
Allen Byrne
64733980e5 HDFFV-10845 Allow mingw to find functionality 2019-07-22 14:23:05 -05:00
Allen Byrne
9877da0a6f HDFFV-10845 fix comment syntax 2019-07-21 16:46:47 -05:00
Allen Byrne
1932752177 HDFFV-10845 Windows drive can only goto Z 2019-07-21 14:19:23 -05:00
Dana Robinson
7d291d059d Parallel Fortran tests now use the MPI module instead of including
mpif.h.
2019-07-19 02:48:00 -05:00
Dana Robinson
5a3147b660 First stab at gfortran versions. Tested on gfortran 7-9 so far. 2019-07-18 23:40:52 -07:00
Dana Robinson
6ef69f058d Merge branch 'develop' into gnu-flags-work 2019-07-18 21:26:47 -07:00
Allen Byrne
367f7ed0e3 HDFFV-10845 make flags private 2019-07-18 16:27:06 -05:00
Allen Byrne
4d3f52ac97 Correct java load library name access 2019-07-18 13:03:07 -05:00
Allen Byrne
5654ba57f1 Correct syntax 2019-07-18 12:55:02 -05:00
Allen Byrne
5984530f3f Fix typo 2019-07-18 12:07:32 -05:00
Allen Byrne
179d0b5af0 Correct OUTPUT_NAME usage 2019-07-18 12:00:19 -05:00
Allen Byrne
5b97d67d43 CMake generator expr cannot be used in get_property cmd 2019-07-18 11:37:34 -05:00
Allen Byrne
bdfb553c4c HDFFV-1045 gcc static must be link flags 2019-07-18 10:45:42 -05:00
Allen Byrne
17474a232f HDFFV-10845 quote multiple strings in cmake link command 2019-07-18 09:21:00 -05:00
Dana Robinson
0f2c1b8126 Moved the -std=f2008 option to gfortran 9 for now. 2019-07-18 01:48:16 -05:00
Allen Byrne
0a9180c074 HDFFV-10845 update mingw cmake changes 2019-07-17 16:08:43 -05:00
Allen Byrne
ac8a1f02ab Add missing target root path, check other export macro 2019-07-17 11:58:05 -05:00
Allen Byrne
741ef0aaef HDFFV-10845 skip test if CMake command doesn't support ignore EOL 2019-07-17 11:58:05 -05:00
Allen Byrne
3ea746014a HDFFV-10845 copy files with windows EOL 2019-07-17 11:58:05 -05:00
Allen Byrne
95d3b41af0 HDFFV-10845 separate test used by copy windows files 2019-07-17 11:58:04 -05:00
Allen Byrne
0eb050d481 HDFFV-10845 mingw needs special windows reference files 2019-07-17 11:58:04 -05:00
Allen Byrne
f724e86727 HDFFV-10845 use of TARGETFILE disables auto emulator 2019-07-17 11:58:04 -05:00
Allen Byrne
ac5680ce8d HDFFV-10845 add_custom_command requires emulator 2019-07-17 11:58:04 -05:00
Allen Byrne
5b258e186b Correct install syntax 2019-07-17 11:58:03 -05:00
Allen Byrne
0efee3ddba Must include from system 2019-07-17 11:58:03 -05:00
Allen Byrne
6b775a9d45 HDFFV-10845 defines already set 2019-07-17 11:58:03 -05:00
Allen Byrne
7ba562a820 HDFFV-10845 fix configure check and PATHs 2019-07-17 11:58:03 -05:00
Allen Byrne
d586a457b2 HDFFV-10845 C_FLAGS need set correctly for win32 vs mingw 2019-07-17 11:58:02 -05:00
Allen Byrne
7a9c852c2c HDFFV-8631, HDFFV-10595, HDFFV-10845 2019-07-17 11:58:02 -05:00
Allen Byrne
7174b5c135 HDFFV-8631 mingw is different platform 2019-07-17 11:58:02 -05:00
Allen Byrne
9c04e50889 HDFFV-10845 add release note. 2019-07-17 11:58:02 -05:00
Allen Byrne
7bb020fcec HDFFV-10845 add support for mingw toolchain 2019-07-17 11:56:48 -05:00
Allen Byrne
6add0919d1 Merge pull request #1805 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '6e4f2798e883a88de7126739307722f6da39dd98':
  HDFFV-10424 add optional variable to avoid PDB installs
2019-07-17 11:00:36 -05:00
Allen Byrne
6e4f2798e8 HDFFV-10424 add optional variable to avoid PDB installs 2019-07-17 10:42:58 -05:00
Dana Robinson
8bd2c81cd5 Updated gfortran options.
* Removed conclude_fc.am, which was causing verbose builds. Need to
  investigate more, though.
* Added gfortran 9 warnings and flags. This will need to be separated
  into other version blocks based on when the options first appeared.
* The standard is now explicitly set at 2008.
2019-07-17 01:23:44 -07:00
Jerome Soumagne
bdd54d0147 Merge pull request #1804 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_prop_check to develop
* commit '6c84a83eeaa187c92d445f8ef8565a4337498cd6':
  H5P: Fix wrong value comparison in assert
2019-07-16 16:46:47 -05:00
Jerome Soumagne
6c84a83eea H5P: Fix wrong value comparison in assert
Move compile assert of H5P_plist_type to H5P__init_package()
2019-07-16 14:22:36 -05:00
Dana Robinson
ebc274a673 Merge pull request #1803 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:lets_retire_jam to develop
* commit 'd7144b2fa40b1be59e6250313c5e5f1a2bd8fb25':
  Restored warnings for older gcc so jam can continue to creak along.
2019-07-16 11:07:48 -05:00
Dana Robinson
d7144b2fa4 Restored warnings for older gcc so jam can continue to creak along. 2019-07-16 03:49:50 -05:00
Dana Robinson
6816d5b2e7 Merge pull request #1797 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:gnu-flags-work to develop
* commit 'd5031a55192ac6b8ca81a0e5315cb4739af98896':
  Removed support for gcc 4.3 and earlier.
  Fix errant quotes
  * Fixed a bug in the gcc warning parsing * Changed version parsing from == gcc 4.x to < to handle ancient compilers.
  Reworked the config/gnu-flags file to be more organized and robust.
  Converted duplicated flags code to a set of if statements.
2019-07-15 11:09:11 -05:00
Dana Robinson
d5031a5519 Removed support for gcc 4.3 and earlier. 2019-07-14 10:46:03 -07:00
Dana Robinson
9a221fd979 Merge branch 'develop' into gnu-flags-work 2019-07-13 13:09:28 -07:00
Allen Byrne
b087e6d3a8 Merge pull request #1800 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '6333fb8711adc3af930e186dad3b8b756e41a863':
  Fix packaging issue
2019-07-12 10:36:39 -05:00
Dana Robinson
5314213f1e Merge pull request #1801 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '3566fff6261d0bb8e360d3842e99919d2eb4ba73':
  Reverted snprintf to sprintf in the multi VFD since the former causes problems on Windows.
2019-07-11 23:17:08 -05:00
Dana Robinson
3566fff626 Reverted snprintf to sprintf in the multi VFD since
the former causes problems on Windows.
2019-07-11 16:08:35 -07:00
Allen Byrne
6333fb8711 Fix packaging issue 2019-07-11 16:24:47 -05:00
Allen Byrne
0784987c85 Merge pull request #1799 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '9655485f6af87e8ee221c824f649fa013fad4542':
  non-windows test must be skipped on windows
2019-07-11 12:08:27 -05:00
Allen Byrne
9655485f6a non-windows test must be skipped on windows 2019-07-11 10:20:04 -05:00
Allen Byrne
c7099da319 Merge pull request #1798 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '33e9b4526ec7b5d910bda879ac92dc992672057b':
  Use H5DOpen2 in hl/test/test_dset_append.c.
2019-07-11 09:59:14 -05:00
Larry Knox
33e9b4526e Use H5DOpen2 in hl/test/test_dset_append.c. 2019-07-11 08:31:02 -05:00
Dana Robinson
3fa1cc4700 Fix errant quotes 2019-07-10 13:40:09 -07:00
Dana Robinson
40b63bffb7 * Fixed a bug in the gcc warning parsing
* Changed version parsing from == gcc 4.x to < to handle ancient
compilers.
2019-07-10 13:05:50 -07:00
Dana Robinson
924d4c01a8 Reworked the config/gnu-flags file to be more organized and robust. 2019-07-10 10:49:55 -07:00
Dana Robinson
59f94cd8f8 Merge branch 'develop' into gnu-flags-work 2019-07-10 10:12:07 -07:00
Dana Robinson
3e33d61c4e Merge pull request #1793 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '097d6037af8dd8d8e5364ae0a731b9843cd4aef8':
  Cleaned up test_dset_append and enabled the bug1/2 tests.
2019-07-10 11:37:49 -05:00
Dana Robinson
3f3397cc9d Merge pull request #1796 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:dt_fixes to develop
* commit 'c582df7538e71fd80915ef922b3edb530a66f70f':
  Revert path processing to fix daily test errors.
2019-07-10 11:35:56 -05:00
Dana Robinson
c582df7538 Revert path processing to fix daily test errors. 2019-07-10 09:22:32 -07:00
Allen Byrne
ceeb761e2b Merge pull request #1794 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ede618741953c9ff70f9a0f3a0d22e7c92043437':
  Fix note text and cmake module include
  Undo commit
  Remove tab characters
  HDFFV-10581 add missed change and release note.
2019-07-10 11:21:03 -05:00
Dana Robinson
52f0622bfe Converted duplicated flags code to a set of if statements. 2019-07-10 09:09:59 -07:00
Allen Byrne
ede6187419 Fix note text and cmake module include 2019-07-10 10:32:43 -05:00
Allen Byrne
2f88d439c6 Undo commit 2019-07-10 09:46:10 -05:00
Allen Byrne
2015fa59fe Remove tab characters 2019-07-10 09:43:15 -05:00
Allen Byrne
f6700f7c83 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '22d78bdfa4d560a0b8a2dbb547574bfe61bf64f0':
  Updates to warnhist script, along with a few cleanups, and add some comments to warning cleanups that are a bit obscure.
  Cleaned up code that genericizes warning output, and add "-u" option to leave unique types in warnings (i.e. don't genericize output).  Also fixed the '-S' option to work correctly.
  Added GCC9 flags to CMake build
  Add support for GCC9, update warnhist script, and clean up warnings.
2019-07-10 09:12:22 -05:00
Dana Robinson
097d6037af Cleaned up test_dset_append and enabled the bug1/2 tests. 2019-07-10 04:50:57 -07:00
Quincey Koziol
22d78bdfa4 Merge pull request #1788 in HDFFV/hdf5 from ~KOZIOL/hdf5:feature/update_gcc_flags to develop
* commit '73df02f13c2b1e0b256cdbff1c7c584e84548df4':
  Updates to warnhist script, along with a few cleanups, and add some comments to warning cleanups that are a bit obscure.
  Cleaned up code that genericizes warning output, and add "-u" option to leave unique types in warnings (i.e. don't genericize output).  Also fixed the '-S' option to work correctly.
  Added GCC9 flags to CMake build
  Add support for GCC9, update warnhist script, and clean up warnings.
2019-07-09 22:21:33 -05:00
Quincey Koziol
73df02f13c Merge branch 'develop' into feature/update_gcc_flags 2019-07-09 22:17:22 -05:00
Quincey Koziol
db7c43d375 Updates to warnhist script, along with a few cleanups, and add some comments
to warning cleanups that are a bit obscure.
2019-07-09 22:15:36 -05:00
Allen Byrne
eb0d1e4e8e HDFFV-10581 add missed change and release note. 2019-07-09 16:30:27 -05:00
Allen Byrne
c33f2cbf18 Merge pull request #1791 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '88ab4b144bcf8454be9eff8800706c0abb404de1':
  fix var name
  Fix compile error with ifdef H5_HAVE_GETHOSTNAME
  perf program can only be built on unix platforms
  Declaration needed for parallel standalone
  Correct test use of library name
  Change how name is retrieved
  Move before null check
  HDFFV-10581 remove special name checking
  HDFFV-10581 fix locations for static pdb files
2019-07-09 15:35:51 -05:00
Allen Byrne
88ab4b144b fix var name 2019-07-09 12:07:41 -05:00
Allen Byrne
f241ff8ad9 Fix compile error with ifdef H5_HAVE_GETHOSTNAME 2019-07-08 15:50:14 -05:00
Allen Byrne
c424877351 perf program can only be built on unix platforms 2019-07-08 15:37:58 -05:00
Allen Byrne
c88caec5ae Declaration needed for parallel standalone 2019-07-08 15:33:31 -05:00
Allen Byrne
8583d608ef Correct test use of library name 2019-07-08 15:10:12 -05:00
Allen Byrne
8eadaf3408 Change how name is retrieved 2019-07-08 13:59:35 -05:00
Allen Byrne
1878e68558 Move before null check 2019-07-08 13:52:05 -05:00
Allen Byrne
3dd7137430 HDFFV-10581 remove special name checking 2019-07-08 13:46:25 -05:00
Allen Byrne
ae0c16d1f2 HDFFV-10581 fix locations for static pdb files 2019-07-08 12:21:11 -05:00
Quincey Koziol
78e13fe8b0 Merge branch 'develop' into feature/update_gcc_flags 2019-07-05 13:33:13 -05:00
Quincey Koziol
43aa32ff4f Cleaned up code that genericizes warning output, and add "-u" option to
leave unique types in warnings (i.e. don't genericize output).  Also fixed
the '-S' option to work correctly.
2019-07-05 13:31:38 -05:00
Allen Byrne
de217a6499 Merge pull request #1789 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '2b2876ac57a1901537d7c2732eac81f7434d332d':
  perf test is parallel only
  Add missing test
2019-07-05 08:41:19 -05:00
Quincey Koziol
6725c21138 Merge branch 'develop' into feature/update_gcc_flags 2019-07-03 17:09:30 -05:00
Allen Byrne
2b2876ac57 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7b9f24603f980a73d43194c66a01a62aee16b2e8':
  Fixed Build HDF Tests name in CMake's libhdf5 settings
  Fixed libhdf5 settings file for both autotools & CMake
2019-07-03 15:31:40 -05:00
Allen Byrne
1c7420d1e3 perf test is parallel only 2019-07-03 15:30:41 -05:00
Dhvanil Popat
7b9f24603f Merge pull request #1790 in HDFFV/hdf5 from ~DPOPAT/hdf5:develop to develop
Fixed libhdf5 settings file to be consistent for autotools & CMake

* commit '5e86326e0a731505095013aaf2a766bfa6cc1dda':
  Fixed Build HDF Tests name in CMake's libhdf5 settings
  Fixed libhdf5 settings file for both autotools & CMake
2019-07-03 14:27:46 -05:00
Dhvanil Popat
5e86326e0a Fixed Build HDF Tests name in CMake's libhdf5 settings 2019-07-03 14:21:45 -05:00
Allen Byrne
ce92a64716 Add missing test 2019-07-03 10:15:07 -05:00
Quincey Koziol
7509c2c4fc Added GCC9 flags to CMake build 2019-07-02 23:49:35 -05:00
Quincey Koziol
3b594992d6 Add support for GCC9, update warnhist script, and clean up warnings. 2019-07-02 23:43:45 -05:00
Dana Robinson
d0bc570c2c Merge pull request #1787 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit 'f250815151df8da8a93c0ff781a3cf134f1c6cbd':
  Cleaned up misc warnings.
2019-07-02 09:26:55 -05:00
Dana Robinson
f250815151 Cleaned up misc warnings. 2019-06-29 02:38:14 -07:00
Quincey Koziol
f97ea92fe5 Merge pull request #1784 in HDFFV/hdf5 from ~KOZIOL/hdf5:feature/update_gcc_flags to develop
* commit '6ced6457c3048bd10bf6f470b329b4810d9be826':
  Move the -Wformat-nonliteral warning to the developer flags.  Fix bugs I introduced in the last commit.
  Updated configure & CMake compiler flags for GCC 8.x, along with corresponding changes to warnhist script (and some extra improvements for condensing C++ and Java warnings), and fixed a bunch of warnings.
2019-06-28 19:30:41 -05:00
Quincey Koziol
6ced6457c3 Move the -Wformat-nonliteral warning to the developer flags. Fix bugs
I introduced in the last commit.
2019-06-28 19:26:47 -05:00
Quincey Koziol
2042c775f0 Merge branch 'develop' into feature/update_gcc_flags 2019-06-28 16:13:36 -05:00
Allen Byrne
13d951d372 Merge pull request #1779 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '0405935654e2c3a8e414da6f66a46ab0ef7ef9ec':
  Remove unused code
2019-06-28 10:10:55 -05:00
Dana Robinson
a7cd160234 Merge pull request #1781 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit 'f83d034105e2c72210dd41723044acca37a6d735':
  Refactored some fsinfo code from H5Fsuper.c to H5Ofsinfo.c.
2019-06-28 10:04:07 -05:00
Dana Robinson
8f0aacce8f Merge pull request #1782 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:warning_fixes to develop
* commit '1c4101c6a77dd9223483dd9e3f7bec0f9e92f435':
  Fixed various warnings in testhdf5 files.
  Warning fixes: * fix for static/const flipped in H5Dint.c * Removed missing done target in H5Rint.c * Fixed misleading indentation in h5format_convert.c
2019-06-28 10:03:45 -05:00
Vailin Choi
b6268dbb1b Merge pull request #1757 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/new_shutdown_fsm to develop
* commit 'c69b1025f58ec8467be1e056214510c70ed00867':
  (1) Add/remove comments. (2) A temporary fix to address the test/objcopy.c: test_copy_group_deep() test failure with the family driver.  The test failure occurs with these configurations in objcopy.c: --with shared src messages (CONFIG_SHARE_SRC) --without shared dst messages (CONFIG_SHARE_DST) --with latest format for source file (CONFIG_SRC_NEW_FORMAT) --without dense attributes (CONFIG_DENSE) --with latest format for destination file (CONFIG_DST_NEW_FORMAT) The temporary fix is in src/H5MFaggr.c (see comments above #ifdef REPLACE/#endif).
  Checkin for new shutting down free-space manager.
2019-06-28 09:54:52 -05:00
Quincey Koziol
d5130bb573 Updated configure & CMake compiler flags for GCC 8.x, along with corresponding
changes to warnhist script (and some extra improvements for condensing C++
and Java warnings), and fixed a bunch of warnings.
2019-06-28 09:10:43 -05:00
Dana Robinson
1c4101c6a7 Fixed various warnings in testhdf5 files. 2019-06-28 00:17:33 -07:00
Dana Robinson
de2440ae5f Warning fixes:
* fix for static/const flipped in H5Dint.c
* Removed missing done target in H5Rint.c
* Fixed misleading indentation in h5format_convert.c
2019-06-27 22:38:20 -07:00
Dana Robinson
f83d034105 Refactored some fsinfo code from H5Fsuper.c to H5Ofsinfo.c. 2019-06-27 16:30:19 -07:00
Vailin Choi
c69b1025f5 (1) Add/remove comments.
(2) A temporary fix to address the test/objcopy.c: test_copy_group_deep() test failure with
the family driver.  The test failure occurs with these configurations in objcopy.c:
--with shared src messages (CONFIG_SHARE_SRC)
--without shared dst messages (CONFIG_SHARE_DST)
--with latest format for source file (CONFIG_SRC_NEW_FORMAT)
--without dense attributes (CONFIG_DENSE)
--with latest format for destination file (CONFIG_DST_NEW_FORMAT)
The temporary fix is in src/H5MFaggr.c (see comments above #ifdef REPLACE/#endif).
2019-06-27 16:04:48 -05:00
Vailin Choi
565e3d7951 Merge pull request #12 in ~VCHOI/my_third_fork from develop to bugfix/new_shutdown_fsm
* commit '2c69584fb124c20e1dd06c31f2baf240b50b381c':
  Fixed missing return value checks in VDS tests.
2019-06-27 15:52:36 -05:00
Allen Byrne
0405935654 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '2c69584fb124c20e1dd06c31f2baf240b50b381c':
  Fixed missing return value checks in VDS tests.
2019-06-27 12:39:12 -05:00
Dana Robinson
2c69584fb1 Merge pull request #1778 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '569d051df5b295041a7f6cb73d6220f4999a8633':
  Fixed missing return value checks in VDS tests.
2019-06-27 12:31:34 -05:00
Allen Byrne
e7dd793f42 Remove unused code 2019-06-27 08:00:31 -05:00
Dana Robinson
569d051df5 Fixed missing return value checks in VDS tests. 2019-06-26 21:55:11 -07:00
Vailin Choi
db61d2940a Merge branch 'bugfix/new_shutdown_fsm' of https://bitbucket.hdfgroup.org/scm/~vchoi/my_third_fork into bugfix/new_shutdown_fsm 2019-06-26 15:49:12 -05:00
Vailin Choi
9cafc8d4de Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~vchoi/my_third_fork into bugfix/new_shutdown_fsm 2019-06-26 15:47:54 -05:00
Vailin Choi
439ea92d7e Merge pull request #1772 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10808-h5pset_file_space_strategy-succeeds to develop
* commit '3768566139df18928aa29ece0eff3010b224633b':
  Add release notes.
  Correct hid_t error value to H5I_INVALID_HID in tests related to libver_bounds.
  Fix for HDFFV-10808 H5Pset_file_space_strategy succeeds when using H5Pset_libver_bounds v18,v18. Fails file creation when non-default free-space info is set in fcpl and the library version high bound is less than v110 because free-space info message is introduced in library release v110.
2019-06-26 10:47:31 -05:00
Dana Robinson
786e8e5a88 Merge pull request #1775 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '8ac60adaa2af21b57185c145d70a12d16a0b7409':
  Banish enum increment warnings
2019-06-26 10:12:46 -05:00
Dana Robinson
8ac60adaa2 Banish enum increment warnings 2019-06-25 23:19:09 -07:00
Dana Robinson
a3cfb08a10 Merge pull request #1774 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:trefer_memory_bug to develop
* commit 'b40a6f75aaf3d40c6ea5f9cc8beb74ae8aaaba96':
  Fixed a memory issue in trefer.c.
2019-06-25 14:51:30 -05:00
Vailin Choi
3768566139 Add release notes. 2019-06-25 14:47:53 -05:00
Dana Robinson
b40a6f75aa Fixed a memory issue in trefer.c. 2019-06-25 12:08:33 -07:00
Vailin Choi
71de5b8088 Correct hid_t error value to H5I_INVALID_HID in tests related to libver_bounds. 2019-06-25 11:47:33 -05:00
Dhvanil Popat
18f65dcee9 Fixed libhdf5 settings file for both autotools & CMake 2019-06-25 07:32:32 +00:00
Vailin Choi
d33eac91a7 Merge branch 'bugfix/HDFFV-10808-h5pset_file_space_strategy-succeeds' of https://bitbucket.hdfgroup.org/scm/~vchoi/my_third_fork into bugfix/HDFFV-10808-h5pset_file_space_strategy-succeeds 2019-06-24 18:09:52 -05:00
Vailin Choi
d9653606d8 Fix for HDFFV-10808 H5Pset_file_space_strategy succeeds when using H5Pset_libver_bounds v18,v18.
Fails file creation when non-default free-space info is set in fcpl and the library version
high bound is less than v110 because free-space info message is introduced in library release v110.
2019-06-24 18:08:23 -05:00
Vailin Choi
5256fbde26 Merge pull request #10 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10808-h5pset_file_space_strategy-succeeds
* commit '1d8f7bf297100ec11204442708a7f670a89f3f02':
  Updated the Java attribute test so that attribute access property lists are created and used correctly.
  Add test cleanup
  Need to shift off two arguments
  HDFFV-9407 add autotools test
  Move pragma statements outside of routines, to make older compilers happy.
  HDFFV-9407 Add test
2019-06-24 17:41:28 -05:00
Vailin Choi
7db3060e76 Merge pull request #9 in ~VCHOI/my_third_fork from develop to bugfix/new_shutdown_fsm
* commit 'e35effff7da40fa8b0dda273be9bbdfa9c8c3624':
  Move pragma statements outside of routines, to make older compilers happy.
2019-06-24 16:29:40 -05:00
Vailin Choi
7485981bca Merge pull request #8 in ~VCHOI/my_third_fork from develop to bugfix/new_shutdown_fsm
* commit '35fd0ec8ceffe96cee352187154da15c967fb990':
  Updated H5Tcopy() to get the dataset's datatype through the VOL when that is passed in as the object ID.
  Fix fortran test and test library linking
  Update GCC 6 & 7 flags for CMake builds
  Move -Wnormalized down into GCC 6.x flags
  Put the memcpy overlap check back into H5MM.
  Fixed the heap overflow in t_filters_parallel
  Fixed some low-hanging fruit from -fsanitize in t_filters_parallel.
  Add lib dir for testing plugins
  Add support for GCC 7.x warnings, update warnhist script to account for them, clean up warnings.
  Add H5_HLDLL prefix for windows link
  HDFFV-10805 cleanup examples and test code
  Fix minor typo in H5S_select_iter_release
  Add missing fortran mods
  HDFFV-10805 Fix test of library libinfo
  Cleanup possible CMake target conflicts
  Correct CMake issues
2019-06-24 15:04:38 -05:00
Vailin Choi
3c9b147707 Merge pull request #7 in ~VCHOI/my_third_fork from develop to bugfix/HDFFV-10808-h5pset_file_space_strategy-succeeds
* commit '35fd0ec8ceffe96cee352187154da15c967fb990':
  Updated H5Tcopy() to get the dataset's datatype through the VOL when that is passed in as the object ID.
  Fix fortran test and test library linking
  Update GCC 6 & 7 flags for CMake builds
  Move -Wnormalized down into GCC 6.x flags
  Put the memcpy overlap check back into H5MM.
  Fixed the heap overflow in t_filters_parallel
  Fixed some low-hanging fruit from -fsanitize in t_filters_parallel.
  Add lib dir for testing plugins
  Add support for GCC 7.x warnings, update warnhist script to account for them, clean up warnings.
  Add H5_HLDLL prefix for windows link
  HDFFV-10805 cleanup examples and test code
  Add missing fortran mods
  HDFFV-10805 Fix test of library libinfo
  Cleanup possible CMake target conflicts
  Correct CMake issues
2019-06-24 14:59:15 -05:00
Jacob Smith
9103fd5953 Undo some formatting modifications.
Update MANIFEST.
2019-06-21 12:05:54 -05:00
Vailin Choi
61b2dddc25 Checkin for new shutting down free-space manager. 2019-06-20 16:14:33 -05:00
Jacob Smith
27d5742b39 Merge branch 'develop' into bugfix/repack_external_storage 2019-06-20 12:37:27 -05:00
Jacob Smith
63fc460c13 Add forgotten files to include from h5repack testfiles for tests. 2019-06-20 12:30:20 -05:00
Jacob Smith
2ba7b8f5e0 Fix failing automated reporting.
Add 8-bit big-endian testfile.
2019-06-19 17:15:05 -05:00
Vailin Choi
246b40f8f8 Merge pull request #6 in ~VCHOI/my_third_fork from develop to bugfix/new_shutdown_fsm
* commit 'ca1ee7fae118c8d4137b1b5efe57660d2e0ff9b1': (64 commits)
  Fix memory leak in objcopy test after H5Aread of vlen data
  HDFFV-10616 add h5fc script
  Fixed a problem in the ohdr test where hard-coded strings passed to H5Awrite() triggered -fsanitize failures.
  Yanked qsort assert
  Switched to HGOTO_DONE() in the links code.
  Updated the HDqsort() macro to ensure we don't pass NULL buffers to qsort(3) in the future.
  Fixed a bug in the links code where iterating over an empty group would pass a NULL pointer to qsort(3), which is undefined behavior.
  Reset the other convenience pointer because why no
  Fixed a memory bug where a pointer is used after it's been freed.
  fixed pass_through vol
  HDFFV-10805 Add option to only build shared targets
  Fixed a warning in H5CX.c concerning incorrect use of freeing VOL connector info.
  Add H5S_SEL_ITER_SHARE_WITH_DATASPACE selection iterator creation flag, to share dataspace's selection with iterator (and with caution about not modifying or closing the dataspace while the iterator is open).
  Added a warning summary script for gcc to bin
  Fix misc. typos, etc. from code review
  Fixed problem with H5Fdelete "test" and split VFD.
  New hyperslab selection routines and new public selection iterator routines.
  Added the creation and use of an attribute access property list to testhdf5.
  Update MANIFEST for move of h5cc.in and h5redeploy.in to bin directory.
  Added missing DELETE enum value.
  ...
2019-06-19 16:43:23 -05:00
Vailin Choi
82f656aed0 Merge pull request #5 in ~VCHOI/my_third_fork from develop to bugfix/new_shutdown_fsm
* commit '66699f2c7d889e725ced0fba579621ef97726b41': (49 commits)
  Minor fixes/improvements for VDS performance improvement (HDFFV-10693).
  Refactor H5S__hyper_project_intersection to operate directly on span trees, improving performance and removing the conditionn that the extents be equal.
  Refactor H5S__hyper_project_intersection to operate directly on span trees, improving performance and removing the conditionn that the extents be equal.
  Added code that disallows unregistering the native VOL connector.
  Rename H5VL_ID_GET_NAME to H5VL_OBJECT_GET_NAME
  Correct message command syntax
  Assign NULL to func_name/file_name/desc error entry pointers when clearing error stack
  Avoid clearing error stack when calling H5Eget_msg()
  Reorder lines in HDF5config.cmake so that additions to end of $HPC-HDF5options scripts will take precedence.
  updated -E option
  remove -M option
  added -M HPC to ctest command
  fixed missing paralle test
  Adding cross-compilation for theta (ANL) and qsub (COBALT) batch controls.
  Add note about CMake and spaces in paths
  Putting ctest command in variable CMD did not work for skipping failing tests.
  Code improvement Description:     Fixed potential division by zero occurrences and changed an assert to     if statement. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  Combine "collective group and dataset write" and "independent group and dataset read" tests into one test.  The second test is dependent on the file created by the first test, and will not pass when run by itself.
  Add final list of single testphdf5 tests
  Pull a test from default testphdf5
  ...
2019-06-04 15:44:08 -05:00
Jacob Smith
ad2a7f4789 First pass at repack consolidating external storage if layout given.
Checks out manually, tests still complain.
2019-05-31 17:24:26 -05:00
Jacob Smith
cb6029196a Formatting changes, mostly. 2019-05-30 15:46:39 -05:00
Jacob Smith
a648183cc3 Add initial failing test for h5repack copying external data into new file. 2019-05-30 15:45:53 -05:00
Jacob Smith
449d6807d5 Modify code comments for clarity.
Some minor reformatting.
2019-05-28 14:31:42 -05:00
Jacob Smith
132efb2b69 Some minor reformatting.
Replace tabs with spaces.
2019-05-24 16:59:14 -05:00
Jacob Smith
eb93107f9f Add test that uses the family member FAPL setting. 2019-05-24 16:58:31 -05:00
Jacob Smith
ea8c99cc56 refactor h5repack_main.c -- remove some redundancy, formatting 2019-05-24 16:57:47 -05:00
Jacob Smith
d1ed626845 Fit help message to 80 character width and clarify some details. 2019-05-14 13:53:28 -05:00
Quincey Koziol
949649a2b6 Correct mistake in H5_now_usec calculation for clock_gettime. 2017-09-24 14:08:40 -05:00
Quincey Koziol
395473b2f4 Remove detection for mach/mach/time.h, since we're no longer using the
time routines from that header.
2017-09-23 21:47:36 -05:00
Quincey Koziol
e70dc43d6b Update H5_now_usec to prefer using clock_gettime. 2017-09-23 21:47:07 -05:00
Quincey Koziol
6718b90009 Merge remote-tracking branch 'origin/develop' into monotonic_timer 2017-09-03 02:54:27 -05:00
Quincey Koziol
d5c3ec8b93 Changes to make timers within the library monotonic. 2017-09-03 02:53:28 -05:00
1492 changed files with 166457 additions and 92509 deletions

6
.gitattributes vendored
View File

@@ -216,10 +216,10 @@ java/src/hdf/hdf5lib/callbacks/H5D_iterate_cb.java -text
java/src/hdf/hdf5lib/callbacks/H5D_iterate_t.java -text
java/src/hdf/hdf5lib/callbacks/H5E_walk_cb.java -text
java/src/hdf/hdf5lib/callbacks/H5E_walk_t.java -text
java/src/hdf/hdf5lib/callbacks/H5L_iterate_cb.java -text
java/src/hdf/hdf5lib/callbacks/H5L_iterate_t.java -text
java/src/hdf/hdf5lib/callbacks/H5O_iterate_cb.java -text
java/src/hdf/hdf5lib/callbacks/H5L_iterate_opdata_t.java -text
java/src/hdf/hdf5lib/callbacks/H5O_iterate_t.java -text
java/src/hdf/hdf5lib/callbacks/H5O_iterate_opdata_t.java -text
java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_cb.java -text
java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_t.java -text
java/src/hdf/hdf5lib/callbacks/H5P_cls_copy_func_cb.java -text
@@ -267,6 +267,8 @@ java/src/hdf/hdf5lib/structs/H5G_info_t.java -text
java/src/hdf/hdf5lib/structs/H5L_info_t.java -text
java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java -text
java/src/hdf/hdf5lib/structs/H5O_info_t.java -text
java/src/hdf/hdf5lib/structs/H5O_native_info_t.java -text
java/src/hdf/hdf5lib/structs/H5O_token_t.java -text
java/src/hdf/hdf5lib/structs/H5_ih_info_t.java -text
java/src/hdf/overview.html -text
java/src/jni/CMakeLists.txt -text

80
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
name: hdf5 dev CI
# Controls when the action will run. Triggers the workflow on push or pull request
on:
push:
branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8 ]
pull_request:
branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8 ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
# fail-fast: false
matrix:
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "macOS Latest Clang"]
include:
- name: "Windows Latest MSVC"
artifact: "Windows-MSVC.tar.xz"
os: windows-latest
build_type: "Release"
toolchain: ""
fortran: OFF
generator: "-G \"Visual Studio 16 2019\" -A x64"
- name: "Ubuntu Latest GCC"
artifact: "Linux.tar.xz"
os: ubuntu-latest
build_type: "Release"
fortran: OFF
toolchain: "config/toolchain/GCC.cmake"
generator: "-G Ninja"
- name: "macOS Latest Clang"
artifact: "macOS.tar.xz"
os: macos-latest
build_type: "Release"
fortran: OFF
toolchain: "config/toolchain/clang.cmake"
generator: "-G Ninja"
name: ${{ matrix.name }}
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Install Dependencies (Linux)
run: sudo apt-get install ninja-build
if: matrix.os == 'ubuntu-latest'
- name: Install Dependencies (Windows)
run: choco install ninja
if: matrix.os == 'windows-latest'
- name: Install Dependencies (macOS)
run: brew install ninja
if: matrix.os == 'macos-latest'
- name: Set environment for MSVC (Windows)
if: matrix.os == 'windows-latest'
run: |
# Set these env vars so cmake picks the correct compiler
echo "::set-env name=CXX::cl.exe"
echo "::set-env name=CC::cl.exe"
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v2
- name: Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=ON $GITHUB_WORKSPACE
shell: bash
- name: Build
run: cmake --build . --config ${{ matrix.build_type }}
working-directory: ${{ runner.workspace }}/build
- name: Test
run: ctest --build . -C ${{ matrix.build_type }} -V
working-directory: ${{ runner.workspace }}/build

View File

@@ -9,6 +9,7 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
option (USE_LIBAEC "Use AEC library as SZip Filter" OFF)
include (ExternalProject)
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO")
@@ -32,6 +33,9 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
message (STATUS "Filter ZLIB file ${ZLIB_URL} not found")
endif ()
set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME})
if (USE_LIBAEC)
set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME})
endif ()
if (NOT EXISTS "${SZIP_URL}")
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
message (STATUS "Filter SZIP file ${SZIP_URL} not found")
@@ -54,7 +58,6 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
find_package (ZLIB) # Legacy find
if (ZLIB_FOUND)
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_LIBRARIES})
endif ()
endif ()
endif ()
@@ -85,9 +88,6 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (H5_HAVE_FILTER_DEFLATE)
set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
endif ()
if (BUILD_SHARED_LIBS)
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
endif ()
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
message (STATUS "Filter ZLIB is ON")
@@ -105,7 +105,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
find_package (SZIP) # Legacy find
if (SZIP_FOUND)
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_LIBRARIES})
endif ()
endif ()
endif ()
@@ -122,13 +121,16 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
message (STATUS "Filter SZIP is built")
if (USE_LIBAEC)
message (STATUS "... with library AEC")
set (SZ_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME})
else ()
set (SZ_PACKAGE_NAME ${SZIP_PACKAGE_NAME})
endif ()
else ()
message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
endif ()
endif ()
if (BUILD_SHARED_LIBS)
set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
endif ()
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
message (STATUS "Filter SZIP is ON")

View File

@@ -41,13 +41,11 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Export all exported targets to the build tree for use by parent project
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
export (
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
)
endif ()
export (
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
)
endif ()
#-----------------------------------------------------------------------------
@@ -104,16 +102,15 @@ endif ()
# Configure the hdf5-config-version .cmake file for the install directory
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
# 3.11 or greater
#write_basic_package_version_file (
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
# VERSION ${HDF5_PACKAGE_VERSION}
# COMPATIBILITY SameMinorVersion
#)
configure_file (
${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
write_basic_package_version_file (
"${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake"
VERSION ${HDF5_PACKAGE_VERSION}
COMPATIBILITY SameMinorVersion
)
#configure_file (
# ${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
#)
install (
FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/hdf5
@@ -192,7 +189,7 @@ HDF_README_PROPERTIES(HDF5_BUILD_FORTRAN)
#-----------------------------------------------------------------------------
# Configure the COPYING.txt file for the windows binary package
#-----------------------------------------------------------------------------
if (WIN32)
if (WIN32 OR MINGW)
configure_file (${HDF5_SOURCE_DIR}/COPYING ${HDF5_BINARY_DIR}/COPYING.txt @ONLY)
endif ()
@@ -201,8 +198,7 @@ endif ()
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
install (
FILES
${HDF5_SOURCE_DIR}/COPYING
FILES ${HDF5_SOURCE_DIR}/COPYING
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
@@ -212,7 +208,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
${HDF5_SOURCE_DIR}/release_docs/COPYING
${HDF5_SOURCE_DIR}/release_docs/RELEASE.txt
)
if (WIN32)
if (WIN32 OR MINGW)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_VS.txt
@@ -226,7 +222,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
${HDF5_SOURCE_DIR}/release_docs/INSTALL
)
if (WIN32)
if (WIN32 OR MINGW)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Windows.txt
@@ -294,7 +290,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.bmp")
set (CPACK_GENERATOR "TGZ")
if (WIN32)
if (WIN32 OR MINGW)
set (CPACK_GENERATOR "ZIP")
if (NSIS_EXECUTABLE)
@@ -459,7 +455,7 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
if (HDF5_PACKAGE_EXTLIBS)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
if (WIN32)
if (WIN32 OR MINGW)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;ALL;/")
else ()
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
@@ -468,7 +464,7 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
endif ()
endif ()
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
if (WIN32)
if (WIN32 OR MINGW)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;ALL;/")
else ()
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
@@ -558,6 +554,13 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
)
endif ()
cpack_add_component (utilsapplications
DISPLAY_NAME "HDF5 Utility Applications"
DEPENDS libraries
GROUP Applications
INSTALL_TYPES Full Developer User
)
if (HDF5_BUILD_TOOLS)
cpack_add_component (toolsapplications
DISPLAY_NAME "HDF5 Tools Applications"

View File

@@ -1,6 +1,14 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
project (HDF5 C)
if (POLICY CMP0074)
cmake_policy (SET CMP0074 NEW)
endif ()
if (POLICY CMP0083)
cmake_policy (SET CMP0083 NEW)
endif ()
#-----------------------------------------------------------------------------
# Instructions for use : Normal Build
#
@@ -11,7 +19,7 @@ project (HDF5 C)
# Make install can be used to install all components for system-wide use.
#
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
MESSAGE(FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
message (FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
" == CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}\n"
"NEXT STEPS:\n"
@@ -28,6 +36,17 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
)
endif ()
# CMake version 3.14 added option --ignore-eol to compare files
# cmake -E compare_files --ignore-eol file1 file2
set (CMAKE_IGNORE_EOL "--ignore-eol")
if (CMAKE_VERSION VERSION_LESS "3.14.0")
set (CMAKE_IGNORE_EOL "")
if (WIN32)
message (FATAL_ERROR "Windows builds requires a minimum of CMake 3.14")
endif()
else ()
endif ()
#-----------------------------------------------------------------------------
# Instructions for use : Sub-Project Build
#
@@ -90,7 +109,7 @@ mark_as_advanced (HDF5_EXTERNAL_LIB_PREFIX)
# # Add the sub project
# add_subdirectory (Utilities/hdf5-1.8)
#-----------------------------------------------------------------------------
string(TIMESTAMP CONFIG_DATE "%Y-%m-%d")
string (TIMESTAMP CONFIG_DATE "%Y-%m-%d")
#-----------------------------------------------------------------------------
# Allow Visual Studio solution directories
@@ -118,6 +137,7 @@ set (HDF5_CPP_LIB_CORENAME "hdf5_cpp")
set (HDF5_HL_LIB_CORENAME "hdf5_hl")
set (HDF5_HL_CPP_LIB_CORENAME "hdf5_hl_cpp")
set (HDF5_TOOLS_LIB_CORENAME "hdf5_tools")
set (HDF5_UTILS_LIB_CORENAME "hdf5_utils")
set (HDF5_F90_LIB_CORENAME "hdf5_fortran")
set (HDF5_F90_C_LIB_CORENAME "hdf5_f90cstub")
set (HDF5_F90_TEST_LIB_CORENAME "hdf5_test_fortran")
@@ -137,6 +157,7 @@ set (HDF5_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_CPP_LIB_COREN
set (HDF5_HL_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_LIB_CORENAME}")
set (HDF5_HL_CPP_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_CPP_LIB_CORENAME}")
set (HDF5_TOOLS_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOLS_LIB_CORENAME}")
set (HDF5_UTILS_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_UTILS_LIB_CORENAME}")
set (HDF5_F90_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_LIB_CORENAME}")
set (HDF5_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_C_LIB_CORENAME}")
set (HDF5_F90_TEST_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_F90_TEST_LIB_CORENAME}")
@@ -156,6 +177,7 @@ set (HDF5_CPP_LIB_TARGET "${HDF5_CPP_LIB_CORENAME}-static")
set (HDF5_HL_LIB_TARGET "${HDF5_HL_LIB_CORENAME}-static")
set (HDF5_HL_CPP_LIB_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-static")
set (HDF5_TOOLS_LIB_TARGET "${HDF5_TOOLS_LIB_CORENAME}-static")
set (HDF5_UTILS_LIB_TARGET "${HDF5_UTILS_LIB_CORENAME}-static")
set (HDF5_F90_LIB_TARGET "${HDF5_F90_LIB_CORENAME}-static")
set (HDF5_F90_C_LIB_TARGET "${HDF5_F90_C_LIB_CORENAME}-static")
set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
@@ -171,6 +193,7 @@ set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
set (HDF5_UTILS_LIBSH_TARGET "${HDF5_UTILS_LIB_CORENAME}-shared")
set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
@@ -193,6 +216,7 @@ set (HDF5_HL_TOOLS_DIR ${HDF5_SOURCE_DIR}/hl/tools)
set (HDF5_TOOLS_DIR ${HDF5_SOURCE_DIR}/tools)
set (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src)
set (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src/perform)
set (HDF5_UTILS_DIR ${HDF5_SOURCE_DIR}/utils)
set (HDF5_F90_SRC_DIR ${HDF5_SOURCE_DIR}/fortran)
set (HDF5_JAVA_JNI_SRC_DIR ${HDF5_SOURCE_DIR}/java/src/jni)
set (HDF5_JAVA_HDF5_SRC_DIR ${HDF5_SOURCE_DIR}/java/src/hdf)
@@ -422,19 +446,38 @@ endif ()
#-----------------------------------------------------------------------------
# Option to Build Shared and Static libs, default is both
#-----------------------------------------------------------------------------
option (BUILD_STATIC_LIBS "Build Static Libraries" ON)
set (H5_ENABLE_STATIC_LIB NO)
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
set (H5_ENABLE_SHARED_LIB NO)
option (ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF)
set (H5_ENABLE_STATIC_LIB YES)
mark_as_advanced (ONLY_SHARED_LIBS)
if (BUILD_STATIC_LIBS)
set (H5_ENABLE_STATIC_LIB YES)
endif ()
if (BUILD_SHARED_LIBS)
set (H5_ENABLE_SHARED_LIB YES)
endif ()
# Force only shared libraries if all OFF
if (NOT BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS)
set (ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE)
endif ()
if (ONLY_SHARED_LIBS)
set (H5_ENABLE_STATIC_LIB NO)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
endif ()
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
set (H5_ENABLE_SHARED_LIB NO)
if (BUILD_SHARED_LIBS)
set (H5_ENABLE_SHARED_LIB YES)
endif ()
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
if (NOT BUILD_SHARED_LIBS)
set (tgt_file_ext "")
else ()
set (tgt_file_ext "-shared")
endif ()
#-----------------------------------------------------------------------------
# Option to Build Static executables
#-----------------------------------------------------------------------------
@@ -446,18 +489,30 @@ if (BUILD_STATIC_EXECS)
endif ()
endif ()
if (HDF5_ENABLE_ANALYZER_TOOLS)
include (${HDF5_SOURCE_DIR}/config/sanitizer/tools.cmake)
endif ()
if (HDF5_ENABLE_SANITIZERS)
include (${HDF5_SOURCE_DIR}/config/sanitizer/sanitizers.cmake)
endif ()
#-----------------------------------------------------------------------------
# Option to use code coverage
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
if (HDF5_ENABLE_COVERAGE)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g --coverage -O0 -fprofile-arcs -ftest-coverage")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
link_libraries (gcov)
include (${HDF5_SOURCE_DIR}/config/sanitizer/code-coverage.cmake)
if(CODE_COVERAGE AND CODE_COVERAGE_ADDED)
add_code_coverage () # Adds instrumentation to all targets
else ()
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g --coverage -O0 -fprofile-arcs -ftest-coverage")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
link_libraries (gcov)
else ()
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
endif ()
endif ()
endif ()
@@ -512,11 +567,9 @@ endif ()
# and we need to call the executable from inside the CMake configuration
#-----------------------------------------------------------------------------
set (EXE_EXT "")
if (WIN32)
if (WIN32 OR MINGW)
set (EXE_EXT ".exe")
add_definitions (-D_BIND_TO_CURRENT_VCLIBS_VERSION=1)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
add_definitions (-D_CONSOLE)
add_compile_definitions (_BIND_TO_CURRENT_VCLIBS_VERSION=1 _CRT_SECURE_NO_WARNINGS _CONSOLE)
endif ()
if (MSVC)
@@ -567,6 +620,27 @@ endif ()
include (${HDF_RESOURCES_DIR}/HDFCompilerFlags.cmake)
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
#-----------------------------------------------------------------------------
# Option to Enable HDFS
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_HDFS "Enable HDFS" OFF)
if (HDF5_ENABLE_HDFS)
find_package(JNI REQUIRED)
if (JNI_FOUND)
set (H5_HAVE_LIBJVM 1)
endif ()
find_package(HDFS REQUIRED)
if (HDFS_FOUND)
set (H5_HAVE_LIBHDFS 1)
set (H5_HAVE_HDFS_H 1)
if (NOT MSVC)
list (APPEND LINK_LIBS -pthread)
endif ()
else ()
message (FATAL_ERROR "Set to use libhdfs library, but could not find or use libhdfs. Please verify that the path to HADOOP_HOME is valid, and/or reconfigure without HDF5_ENABLE_HDFS")
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to Enable MPI Parallel
#-----------------------------------------------------------------------------
@@ -615,46 +689,54 @@ if (H5_HAVE_PARALLEL)
endif ()
endif ()
set (DEFAULT_API_VERSION "v110")
#option (DEFAULT_API_VERSION "Enable v1.14 API (v16, v18, v110, v112, v114)" "v114")
set (DEFAULT_API_VERSION "v114" CACHE STRING "Enable v1.14 API (v16, v18, v110, v112, v114)")
set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114)
#-----------------------------------------------------------------------------
# Option to use 1.6.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF)
set (H5_USE_16_API_DEFAULT 0)
if (HDF5_USE_16_API_DEFAULT)
if (DEFAULT_API_VERSION MATCHES "v16")
set (H5_USE_16_API_DEFAULT 1)
set (DEFAULT_API_VERSION "v16")
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.8.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF)
set (H5_USE_18_API_DEFAULT 0)
if (HDF5_USE_18_API_DEFAULT)
if (DEFAULT_API_VERSION MATCHES "v18")
set (H5_USE_18_API_DEFAULT 1)
set (DEFAULT_API_VERSION "v18")
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.10.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_110_API_DEFAULT "Use the HDF5 1.10.x API by default" OFF)
set (H5_USE_110_API_DEFAULT 0)
if (HDF5_USE_110_API_DEFAULT)
if (DEFAULT_API_VERSION MATCHES "v110")
set (H5_USE_110_API_DEFAULT 1)
set (DEFAULT_API_VERSION "v110")
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.12.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_112_API_DEFAULT "Use the HDF5 1.12.x API by default" ON)
set (H5_USE_112_API_DEFAULT 0)
if (HDF5_USE_112_API_DEFAULT)
set (H5_USE_112_API_DEFAULT 1)
if (NOT DEFAULT_API_VERSION)
set (DEFAULT_API_VERSION "v112")
endif ()
set (H5_USE_112_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v112")
set (H5_USE_112_API_DEFAULT 1)
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.14.x API
#-----------------------------------------------------------------------------
if (NOT DEFAULT_API_VERSION)
set (DEFAULT_API_VERSION "v114")
endif ()
set (H5_USE_114_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v114")
set (H5_USE_114_API_DEFAULT 1)
endif ()
#-----------------------------------------------------------------------------
# Include user macros
@@ -682,40 +764,41 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to use threadsafe
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
if (WIN32)
if (WIN32 OR MINGW)
message (STATUS " **** thread-safety option not supported with static library **** ")
message (STATUS " **** thread-safety option will not be used building static library **** ")
endif ()
if (HDF5_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
message (FATAL_ERROR " **** parallel and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (STATUS " **** Allowing unsupported parallel and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_FORTRAN)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported **** ")
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (STATUS " **** Allowing unsupported Fortran and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_CPP_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** C++ and thread-safety options are not supported **** ")
message (FATAL_ERROR " **** C++ and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (STATUS " **** Allowing unsupported C++ and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_HL_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** HL and thread-safety options are not supported **** ")
message (FATAL_ERROR " **** HL and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (STATUS " **** Allowing unsupported HL and thread-safety options **** ")
endif ()
@@ -728,13 +811,21 @@ if (HDF5_ENABLE_THREADSAFE)
message (FATAL_ERROR " **** thread-safe option requires Win32 threads or Pthreads **** ")
endif ()
endif ()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
if (Threads_FOUND)
set (H5_HAVE_THREADSAFE 1)
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to build the map API
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_MAP_API "Build the map API" OFF)
if (HDF5_ENABLE_MAP_API)
set (H5_HAVE_MAP_API 1)
endif ()
#-----------------------------------------------------------------------------
# Add the HDF5 Library Target to the build
#-----------------------------------------------------------------------------
@@ -797,6 +888,30 @@ if (BUILD_TESTING)
include (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
configure_file (${HDF_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
option (HDF5_TEST_SERIAL "Execute non-parallel tests" ON)
mark_as_advanced (HDF5_TEST_SERIAL)
option (HDF5_TEST_TOOLS "Execute tools tests" ON)
mark_as_advanced (HDF5_TEST_TOOLS)
option (HDF5_TEST_EXAMPLES "Execute tests on examples" ON)
mark_as_advanced (HDF5_TEST_EXAMPLES)
option (HDF5_TEST_SWMR "Execute SWMR tests" ON)
mark_as_advanced (HDF5_TEST_SWMR)
option (HDF5_TEST_PARALLEL "Execute parallel tests" ON)
mark_as_advanced (HDF5_TEST_PARALLEL)
option (HDF5_TEST_FORTRAN "Execute fortran tests" ON)
mark_as_advanced (HDF5_TEST_FORTRAN)
option (HDF5_TEST_CPP "Execute cpp tests" ON)
mark_as_advanced (HDF5_TEST_CPP)
option (HDF5_TEST_JAVA "Execute java tests" ON)
mark_as_advanced (HDF5_TEST_JAVA)
if (NOT HDF5_EXTERNALLY_CONFIGURED)
if (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
add_subdirectory (test)
@@ -809,6 +924,16 @@ if (BUILD_TESTING)
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to build HDF5 Utilities
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/utils" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/utils")
option (HDF5_BUILD_UTILS "Build HDF5 Utils" ON)
if (HDF5_BUILD_UTILS)
add_subdirectory (utils)
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to build HDF5 Tools
#-----------------------------------------------------------------------------
@@ -854,12 +979,7 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
# Building with PGI requires CMake 3.3 or greater because previous versions
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
if (CMAKE_Fortran_COMPILER_ID MATCHES "PGI" AND CMAKE_VERSION VERSION_LESS "3.3")
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
endif ()
include (${HDF_RESOURCES_DIR}/HDFFortranCompilerFlags.cmake)
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
set (LINK_Fortran_LIBS ${LINK_LIBS})
@@ -875,6 +995,17 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
endif ()
endif ()
#option (HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" "NO")
set (HDF5_INSTALL_MOD_FORTRAN "SHARED" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)")
set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC)
if (NOT HDF5_INSTALL_MOD_FORTRAN MATCHES "NO")
if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS)
set (HDF5_INSTALL_MOD_FORTRAN "STATIC")
elseif (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
set (HDF5_INSTALL_MOD_FORTRAN "SHARED")
endif ()
endif ()
add_subdirectory (fortran)
if (HDF5_BUILD_HL_LIB)
if (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran")
@@ -894,13 +1025,14 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
# check for unsupported options
if (HDF5_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive, override with ALLOW_UNSUPPORTED option **** ")
else ()
message (STATUS " **** Allowing unsupported Parallel and C++ options **** ")
endif ()
endif ()
include (${HDF_RESOURCES_EXT_DIR}/HDFUseCXX.cmake)
include (${HDF_RESOURCES_DIR}/HDFCXXCompilerFlags.cmake)
if (CMAKE_NO_STD_NAMESPACE)
set (H5_NO_STD 1)

32
COPYING
View File

@@ -3,10 +3,10 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
-----------------------------------------------------------------------------
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright (c) 2006-2018, The HDF Group.
Copyright 2006 by The HDF Group.
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright (c) 1998-2006, The Board of Trustees of the University of Illinois.
Copyright 1998-2006 by The Board of Trustees of the University of Illinois.
All rights reserved.
@@ -80,20 +80,20 @@ and/or accompanying materials:
for the operation of UC LLNL.
DISCLAIMER:
This work was prepared as an account of work sponsored by an agency of
the United States Government. Neither the United States Government nor
the University of California nor any of their employees, makes any
warranty, express or implied, or assumes any liability or responsibility
for the accuracy, completeness, or usefulness of any information,
apparatus, product, or process disclosed, or represents that its use
would not infringe privately- owned rights. Reference herein to any
specific commercial products, process, or service by trade name,
trademark, manufacturer, or otherwise, does not necessarily constitute
or imply its endorsement, recommendation, or favoring by the United
States Government or the University of California. The views and
opinions of authors expressed herein do not necessarily state or reflect
those of the United States Government or the University of California,
and shall not be used for advertising or product endorsement purposes.
THIS WORK WAS PREPARED AS AN ACCOUNT OF WORK SPONSORED BY AN AGENCY OF
THE UNITED STATES GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT NOR
THE UNIVERSITY OF CALIFORNIA NOR ANY OF THEIR EMPLOYEES, MAKES ANY
WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY OR RESPONSIBILITY
FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION,
APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE
WOULD NOT INFRINGE PRIVATELY- OWNED RIGHTS. REFERENCE HEREIN TO ANY
SPECIFIC COMMERCIAL PRODUCTS, PROCESS, OR SERVICE BY TRADE NAME,
TRADEMARK, MANUFACTURER, OR OTHERWISE, DOES NOT NECESSARILY CONSTITUTE
OR IMPLY ITS ENDORSEMENT, RECOMMENDATION, OR FAVORING BY THE UNITED
STATES GOVERNMENT OR THE UNIVERSITY OF CALIFORNIA. THE VIEWS AND
OPINIONS OF AUTHORS EXPRESSED HEREIN DO NOT NECESSARILY STATE OR REFLECT
THOSE OF THE UNITED STATES GOVERNMENT OR THE UNIVERSITY OF CALIFORNIA,
AND SHALL NOT BE USED FOR ADVERTISING OR PRODUCT ENDORSEMENT PURPOSES.
-----------------------------------------------------------------------------

View File

@@ -42,13 +42,11 @@ set (CTEST_DROP_SITE_CDASH TRUE)
set (UPDATE_TYPE git)
set (VALGRIND_COMMAND "/usr/bin/valgrind")
set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
set (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
set (CTEST_TEST_TIMEOUT 1200 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
"Maximum time allowed before CTest will kill the test." FORCE)
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING
set (CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING
"How long to wait between timed-out CTest submissions.")

194
MANIFEST
View File

@@ -33,6 +33,8 @@
./autogen.sh
./configure.ac
./.github/workflows/main.yml _DO_NOT_DISTRIBUTE_
./m4/aclocal_cxx.m4
./m4/aclocal_fc.m4
./m4/aclocal_fc.f90
@@ -132,21 +134,65 @@
./config/intel-flags
./config/linux-gnu
./config/linux-gnuaout
./config/linux-gnueabihf
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/lt_vers.am
./config/Makefile.am.blank
./config/netbsd
./config/pgi-fflags
./config/pgi-flags
./config/solaris
#warnings files for both autotools and CMake
./config/clang-cxxflags
./config/clang-flags
./config/clang-warnings/developer-general
./config/clang-warnings/error-general
./config/clang-warnings/general
./config/clang-warnings/no-developer-general
./config/gnu-warnings/4.8-4.last
./config/gnu-warnings/4.8
./config/gnu-warnings/4.9
./config/gnu-warnings/5
./config/gnu-warnings/6
./config/gnu-warnings/7
./config/gnu-warnings/8
./config/gnu-warnings/9
./config/gnu-warnings/cxx-general
./config/gnu-warnings/cxx-4.9
./config/gnu-warnings/cxx-5
./config/gnu-warnings/cxx-error-5
./config/gnu-warnings/cxx-error-general
./config/gnu-warnings/developer-4.8
./config/gnu-warnings/developer-7
./config/gnu-warnings/developer-8
./config/gnu-warnings/developer-general
./config/gnu-warnings/error-5
./config/gnu-warnings/error-8
./config/gnu-warnings/error-general
./config/gnu-warnings/general
./config/gnu-warnings/gfort-general
./config/gnu-warnings/gfort-4.8
./config/gnu-warnings/gfort-5
./config/gnu-warnings/gfort-6
./config/gnu-warnings/gfort-8
./config/gnu-warnings/no-developer-4.8
./config/gnu-warnings/no-developer-8
./config/gnu-warnings/no-developer-general
./config/intel-warnings/ifort-general
./config/intel-warnings/general
./config/site-specific/BlankForm
./doc/code-conventions.md
./examples/Attributes.txt
./examples/Makefile.am
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_crtgrpd.c
./examples/h5_debug_trace.c
./examples/h5_subset.c
./examples/h5_cmprss.c
./examples/h5_rdwt.c
@@ -167,8 +213,10 @@
./examples/h5_select.c
./examples/h5_attribute.c
./examples/h5_mount.c
./examples/h5_reference.c
./examples/h5_ref2reg.c
./examples/h5_ref_compat.c
./examples/h5_ref_extern.c
./examples/h5_reference_deprec.c
./examples/h5_ref2reg_deprec.c
./examples/h5_shared_mesg.c
./examples/ph5example.c
./examples/h5_vds.c
@@ -481,6 +529,7 @@
./src/H5err.txt
./src/H5detect.c
./src/H5make_libsettings.c
./src/H5mpi.c
./src/H5overflow.txt
./src/H5private.h
./src/H5public.h
@@ -636,9 +685,14 @@
./src/H5FDdrvr_module.h
./src/H5FDfamily.c
./src/H5FDfamily.h
./src/H5FDhdfs.c
./src/H5FDhdfs.h
./src/H5FDint.c
./src/H5FDlog.c
./src/H5FDlog.h
./src/H5FDmirror.c
./src/H5FDmirror.h
./src/H5FDmirror_priv.h
./src/H5FDmodule.h
./src/H5FDmpi.c
./src/H5FDmpi.h
@@ -646,12 +700,18 @@
./src/H5FDmpio.h
./src/H5FDmulti.c
./src/H5FDmulti.h
./src/H5FDros3.c
./src/H5FDros3.h
./src/H5FDpkg.h
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDs3comms.h
./src/H5FDs3comms.c
./src/H5FDsec2.c
./src/H5FDsec2.h
./src/H5FDspace.c
./src/H5FDsplitter.c
./src/H5FDsplitter.h
./src/H5FDstdio.c
./src/H5FDstdio.h
./src/H5FDtest.c
@@ -738,11 +798,17 @@
./src/H5Ipublic.h
./src/H5Itest.c
./src/H5L.c
./src/H5Ldeprec.c
./src/H5Lexternal.c
./src/H5Lmodule.h
./src/H5Lpkg.h
./src/H5Lprivate.h
./src/H5Lpublic.h
./src/H5M.c
./src/H5Mmodule.h
./src/H5Mpkg.h
./src/H5Mprivate.h
./src/H5Mpublic.h
./src/H5MF.c
./src/H5MFaggr.c
./src/H5MFdbg.c
@@ -770,6 +836,7 @@
./src/H5Ochunk.c
./src/H5Ocont.c
./src/H5Ocopy.c
./src/H5Ocopy_ref.c
./src/H5Odbg.c
./src/H5Odeprec.c
./src/H5Odrvinfo.c
@@ -814,6 +881,8 @@
./src/H5Pint.c
./src/H5Plapl.c
./src/H5Plcpl.c
./src/H5Pmapl.c
./src/H5Pmcpl.c
./src/H5Pmodule.h
./src/H5Pocpl.c
./src/H5Pocpypl.c
@@ -897,6 +966,7 @@
./src/H5Tprecis.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5Tref.c
./src/H5Tstrpad.c
./src/H5Tvisit.c
./src/H5Tvlen.c
@@ -911,12 +981,15 @@
./src/H5VLnative.c
./src/H5VLnative.h
./src/H5VLnative_attr.c
./src/H5VLnative_blob.c
./src/H5VLnative_dataset.c
./src/H5VLnative_datatype.c
./src/H5VLnative_file.c
./src/H5VLnative_group.c
./src/H5VLnative_link.c
./src/H5VLnative_introspect.c
./src/H5VLnative_object.c
./src/H5VLnative_token.c
./src/H5VLnative_private.h
./src/H5VLpassthru.c
./src/H5VLpassthru.h
@@ -976,6 +1049,7 @@
./test/cache_image.c
./test/cache_logging.c
./test/cache_tagging.c
./test/chunk_info.c
./test/cmpd_dset.c
./test/cork.c
./test/corrupt_stab_msg.h5
@@ -999,6 +1073,7 @@
./test/external_common.c
./test/external_common.h
./test/external_env.c
./test/external_fname.h
./test/error_test.c
./test/err_compat.c
./test/filter_error.h5
@@ -1068,6 +1143,7 @@
./test/h5fc_ext_none.h5
./test/h5test.c
./test/h5test.h
./test/hdfs.c
./test/hyperslab.c
./test/istore.c
./test/le_data.h5
@@ -1078,6 +1154,7 @@
./test/memleak_H5O_dtype_decode_helper_H5Odtype.h5
./test/mergemsg.h5
./test/mf.c
./test/mirror_vfd.c
./test/mount.c
./test/mtime.c
./test/multi_file_v16-r.h5
@@ -1089,11 +1166,14 @@
./test/null_vol_connector.h
./test/ohdr.c
./test/objcopy.c
./test/objcopy_ref.c
./test/page_buffer.c
./test/paged_nopersist.h5
./test/paged_persist.h5
./test/reserved.c
./test/ros3.c
./test/pool.c
./test/s3comms.c
./test/set_extent.c
# ====distribute this for now. See HDFFV-8236====
./test/space_overflow.c
@@ -1135,6 +1215,7 @@
./test/testhdf5.c
./test/testhdf5.h
./test/testlibinfo.sh.in
./test/test_mirror.sh.in
./test/test_usecases.sh.in
./test/test_vol_plugin.sh.in
./test/testmeta.c
@@ -1147,7 +1228,9 @@
./test/th5s.c
./test/th5s.h5
./test/theap.c
./test/thread_id.c
./test/tid.c
./test/timer.c
./test/titerate.c
./test/tlayouto.h5
./test/tmeta.c
@@ -1156,6 +1239,8 @@
./test/tmtimeo.h5
./test/ttime.c
./test/trefer.c
./test/trefer_deprec.c
./test/trefer_shutdown.c
./test/trefstr.c
./test/tselect.c
./test/tsizeslheap.h5
@@ -1165,6 +1250,7 @@
./test/ttsafe.c
./test/ttsafe.h
./test/ttsafe_acreate.c
./test/ttsafe_attr_vlen.c
./test/ttsafe_cancel.c
./test/ttsafe_dcreate.c
./test/ttsafe_error.c
@@ -1175,6 +1261,7 @@
./test/unlink.c
./test/unregister.c
./test/use_append_chunk.c
./test/use_append_chunk_mirror.c
./test/use_append_mchunks.c
./test/use_common.c
./test/use_disable_mdc_flushes.c
@@ -1317,6 +1404,7 @@
./testpar/t_prestart.c
./testpar/t_span_tree.c
./testpar/t_init_term.c
./testpar/t_2Gio.c
./testpar/testpar.h
./testpar/testpflush.sh.in
./testpar/testphdf5.c
@@ -1486,6 +1574,7 @@
./tools/test/h5repack/dynlib_rpk.c
./tools/test/h5repack/dynlib_vrpk.c
./tools/test/h5repack/h5repack.sh.in
./tools/test/h5repack/h5repackgentest.c
./tools/test/h5repack/h5repack_plugin.sh.in
./tools/test/h5repack/h5repacktst.c
./tools/test/h5repack/testh5repack_detect_szip.c
@@ -1545,6 +1634,9 @@
./tools/lib/io_timer.c
./tools/lib/io_timer.h
./tools/libtest/Makefile.am
./tools/libtest/h5tools_test_utils.c
./tools/src/misc/Makefile.am
./tools/src/misc/h5clear.c
./tools/src/misc/h5debug.c
@@ -2141,6 +2233,28 @@
./tools/testfiles/zerodim.ddl
./tools/testfiles/zerodim.h5
# h5dump new reference validation
./tools/testfiles/trefer_attrR.ddl
./tools/testfiles/trefer_compatR.ddl
./tools/testfiles/trefer_extR.ddl
./tools/testfiles/trefer_grpR.ddl
./tools/testfiles/trefer_obj_delR.ddl
./tools/testfiles/trefer_objR.ddl
./tools/testfiles/trefer_paramR.ddl
./tools/testfiles/trefer_reg_1dR.ddl
./tools/testfiles/trefer_regR.ddl
# h5dump and h5diff new reference files
./tools/testfiles/trefer_attr.h5
./tools/testfiles/trefer_compat.h5
./tools/testfiles/trefer_ext1.h5
./tools/testfiles/trefer_ext2.h5
./tools/testfiles/trefer_grp.h5
./tools/testfiles/trefer_obj_del.h5
./tools/testfiles/trefer_obj.h5
./tools/testfiles/trefer_param.h5
./tools/testfiles/trefer_reg_1d.h5
./tools/testfiles/trefer_reg.h5
# Expected output from h5ls tests
./tools/testfiles/nosuchfile.ls
./tools/testfiles/help-1.ls
@@ -2321,6 +2435,7 @@
./tools/test/h5diff/testfiles/h5diff_56.txt
./tools/test/h5diff/testfiles/h5diff_57.txt
./tools/test/h5diff/testfiles/h5diff_58.txt
./tools/test/h5diff/testfiles/h5diff_58_ref.txt
./tools/test/h5diff/testfiles/h5diff_59.txt
./tools/test/h5diff/testfiles/h5diff_60.txt
./tools/test/h5diff/testfiles/h5diff_61.txt
@@ -2493,6 +2608,8 @@
./tools/test/h5diff/testfiles/h5diff_dset3.h5
./tools/test/h5diff/testfiles/h5diff_dtypes.h5
./tools/test/h5diff/testfiles/h5diff_empty.h5
./tools/test/h5diff/testfiles/h5diff_eps1.h5
./tools/test/h5diff/testfiles/h5diff_eps2.h5
./tools/test/h5diff/testfiles/h5diff_hyper1.h5
./tools/test/h5diff/testfiles/h5diff_hyper2.h5
./tools/test/h5diff/testfiles/h5diff_types.h5
@@ -2521,6 +2638,7 @@
./tools/test/h5diff/testfiles/h5diff_dset_zero_dim_size1.h5
./tools/test/h5diff/testfiles/h5diff_dset_zero_dim_size2.h5
./tools/test/h5diff/testfiles/h5diff_enum_invalid_values.h5
./tools/test/h5diff/testfiles/h5diff_eps.txt
./tools/test/h5diff/testfiles/compounds_array_vlen1.h5
./tools/test/h5diff/testfiles/compounds_array_vlen2.h5
./tools/test/h5diff/testfiles/non_comparables1.h5
@@ -2532,13 +2650,15 @@
./tools/test/h5diff/testfiles/h5diff_ud.txt
./tools/test/h5diff/testfiles/h5diff_udfail.err
./tools/test/h5diff/testfiles/h5diff_udfail.txt
./tools/test/h5diff/testfiles/diff_strings1.h5
./tools/test/h5diff/testfiles/diff_strings2.h5
./tools/test/h5diff/testfiles/h5diff_strings1.h5
./tools/test/h5diff/testfiles/h5diff_strings2.h5
./tools/test/h5diff/testfiles/h5diff_vlstr.txt
#vds
./tools/test/h5diff/testfiles/h5diff_v1.txt
./tools/test/h5diff/testfiles/h5diff_v2.txt
./tools/test/h5diff/testfiles/h5diff_v3.txt
#reg_ref
./tools/test/h5diff/testfiles/h5diff_reg.txt
#test files for h5repack
./tools/test/h5repack/testfiles/README
@@ -2550,12 +2670,25 @@
./tools/test/h5repack/testfiles/h5repack_early.h5
./tools/test/h5repack/testfiles/h5repack_ext.bin
./tools/test/h5repack/testfiles/h5repack_ext.h5
./tools/test/h5repack/testfiles/h5repack_f32le.h5
./tools/test/h5repack/testfiles/h5repack_f32le_ex-0.dat
./tools/test/h5repack/testfiles/h5repack_f32le_ex.h5
./tools/test/h5repack/testfiles/h5repack_fill.h5
./tools/test/h5repack/testfiles/h5repack_filters.h5
./tools/test/h5repack/testfiles/h5repack_fletcher.h5
./tools/test/h5repack/testfiles/h5repack_fsm_aggr_nopersist.h5
./tools/test/h5repack/testfiles/h5repack_fsm_aggr_persist.h5
./tools/test/h5repack/testfiles/h5repack_hlink.h5
./tools/test/h5repack/testfiles/h5repack_int32le_1d.h5
./tools/test/h5repack/testfiles/h5repack_int32le_1d_ex-0.dat
./tools/test/h5repack/testfiles/h5repack_int32le_1d_ex-1.dat
./tools/test/h5repack/testfiles/h5repack_int32le_1d_ex.h5
./tools/test/h5repack/testfiles/h5repack_int32le_2d.h5
./tools/test/h5repack/testfiles/h5repack_int32le_2d_ex-0.dat
./tools/test/h5repack/testfiles/h5repack_int32le_2d_ex.h5
./tools/test/h5repack/testfiles/h5repack_int32le_3d.h5
./tools/test/h5repack/testfiles/h5repack_int32le_3d_ex-0.dat
./tools/test/h5repack/testfiles/h5repack_int32le_3d_ex.h5
./tools/test/h5repack/testfiles/h5repack.info
./tools/test/h5repack/testfiles/h5repack_layout.h5
./tools/test/h5repack/testfiles/h5repack_layouto.h5
@@ -2574,6 +2707,12 @@
./tools/test/h5repack/testfiles/h5repack_shuffle.h5
./tools/test/h5repack/testfiles/h5repack_soffset.h5
./tools/test/h5repack/testfiles/h5repack_szip.h5
./tools/test/h5repack/testfiles/h5repack_uint8be.h5
./tools/test/h5repack/testfiles/h5repack_uint8be_ex-0.dat
./tools/test/h5repack/testfiles/h5repack_uint8be_ex-1.dat
./tools/test/h5repack/testfiles/h5repack_uint8be_ex-2.dat
./tools/test/h5repack/testfiles/h5repack_uint8be_ex-3.dat
./tools/test/h5repack/testfiles/h5repack_uint8be_ex.h5
./tools/test/h5repack/testfiles/ublock.bin
./tools/test/h5repack/testfiles/crtorder.tordergr.h5.ddl
./tools/test/h5repack/testfiles/deflate_limit.h5repack_layout.h5.ddl
@@ -2600,6 +2739,8 @@
./tools/test/h5repack/testfiles/3_1_vds.h5-vds_chunk2x5x8-v.ddl
./tools/test/h5repack/testfiles/4_vds.h5-vds_conti-v.ddl
./tools/test/h5repack/testfiles/4_vds.h5-vds_compa-v.ddl
./tools/test/h5repack/testfiles/attrregion.tattrreg.h5.ddl
./tools/test/h5repack/testfiles/dataregion.tdatareg.h5.ddl
# jam utility and tests
./tools/src/h5jam/Makefile.am
@@ -2680,6 +2821,18 @@
./tools/test/perform/sio_standalone.h
./tools/test/perform/zip_perf.c
# Utils directory
./utils/COPYING
./utils/Makefile.am
# Mirror VFD utilities
./utils/mirror_vfd/Makefile.am
./utils/mirror_vfd/mirror_remote.c
./utils/mirror_vfd/mirror_remote.h
./utils/mirror_vfd/mirror_server.c
./utils/mirror_vfd/mirror_server_stop.c
./utils/mirror_vfd/mirror_writer.c
# high level libraries
./hl/COPYING
./hl/Makefile.am
@@ -2964,10 +3117,10 @@
./java/src/hdf/hdf5lib/callbacks/H5D_append_t.java
./java/src/hdf/hdf5lib/callbacks/H5E_walk_cb.java
./java/src/hdf/hdf5lib/callbacks/H5E_walk_t.java
./java/src/hdf/hdf5lib/callbacks/H5L_iterate_cb.java
./java/src/hdf/hdf5lib/callbacks/H5L_iterate_t.java
./java/src/hdf/hdf5lib/callbacks/H5O_iterate_cb.java
./java/src/hdf/hdf5lib/callbacks/H5L_iterate_opdata_t.java
./java/src/hdf/hdf5lib/callbacks/H5O_iterate_t.java
./java/src/hdf/hdf5lib/callbacks/H5O_iterate_opdata_t.java
./java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_cb.java
./java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_t.java
./java/src/hdf/hdf5lib/callbacks/H5P_cls_copy_func_cb.java
@@ -3014,10 +3167,14 @@
./java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
./java/src/hdf/hdf5lib/structs/H5E_error2_t.java
./java/src/hdf/hdf5lib/structs/H5F_info2_t.java
./java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java
./java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java
./java/src/hdf/hdf5lib/structs/H5G_info_t.java
./java/src/hdf/hdf5lib/structs/H5L_info_t.java
./java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
./java/src/hdf/hdf5lib/structs/H5O_info_t.java
./java/src/hdf/hdf5lib/structs/H5O_native_info_t.java
./java/src/hdf/hdf5lib/structs/H5O_token_t.java
./java/src/hdf/hdf5lib/H5.java
./java/src/hdf/hdf5lib/HDF5Constants.java
@@ -3177,6 +3334,8 @@
./java/test/testfiles/JUnit-TestH5P.txt
./java/test/testfiles/JUnit-TestH5PData.txt
./java/test/testfiles/JUnit-TestH5Pfapl.txt
./java/test/testfiles/JUnit-TestH5Pfaplhdfs.txt
./java/test/testfiles/JUnit-TestH5Pfapls3.txt
./java/test/testfiles/JUnit-TestH5Plist.txt
./java/test/testfiles/JUnit-TestH5Pvirtual.txt
./java/test/testfiles/JUnit-TestH5PL.txt
@@ -3215,6 +3374,8 @@
./java/test/TestH5P.java
./java/test/TestH5PData.java
./java/test/TestH5Pfapl.java
./java/test/TestH5Pfaplhdfs.java
./java/test/TestH5Pfapls3.java
./java/test/TestH5Plist.java
./java/test/TestH5Pvirtual.java
./java/test/TestH5PL.java
@@ -3236,9 +3397,12 @@
./java/lib/ext/slf4j-simple-1.7.25.jar
# CMake-specific Files
./config/toolchain/build32.cmake
./config/toolchain/clang.cmake
./config/toolchain/crayle.cmake
./config/toolchain/GCC.cmake
./config/toolchain/intel.cmake
./config/toolchain/mingw64.cmake
./config/toolchain/PGI.cmake
./config/cmake/cacheinit.cmake
@@ -3247,15 +3411,20 @@
./config/cmake/ConfigureChecks.cmake
./config/cmake/CPack.Info.plist.in
./config/cmake/CTestCustom.cmake
./config/cmake/fileCompareTest.cmake
./config/cmake/FindHDFS.cmake
./config/cmake/H5cxx_config.h.in
./config/cmake/H5pubconf.h.in
./config/cmake/hdf5-config.cmake.in
./config/cmake/hdf5-config-version.cmake.in
./config/cmake/HDFCompilerFlags.cmake
./config/cmake/HDFCXXCompilerFlags.cmake
./config/cmake/HDFFortranCompilerFlags.cmake
./config/cmake/HDF5_Process_Flex_Files.cmake
./config/cmake/HDF5Macros.cmake
./config/cmake/HDF5UseFortran.cmake
./config/cmake/jrunTest.cmake
./config/cmake/jvolTest.cmake
./config/cmake/libh5cc.in
./config/cmake/libhdf5.pc.in
./config/cmake/libhdf5.settings.cmake.in
@@ -3356,6 +3525,8 @@
./testpar/CMakeVFDTests.cmake
./tools/CMakeLists.txt
./tools/lib/CMakeLists.txt
./tools/libtest/CMakeLists.txt
./tools/libtest/CMakeTests.cmake
./tools/src/CMakeLists.txt
./tools/test/CMakeLists.txt
./tools/src/h5copy/CMakeLists.txt
@@ -3370,6 +3541,7 @@
./tools/test/h5dump/CMakeTestsPBITS.cmake
./tools/test/h5dump/CMakeTestsXML.cmake
./tools/test/h5dump/CMakeTestsVDS.cmake
./tools/test/h5dump/CMakeVFDTests.cmake
./tools/src/h5format_convert/CMakeLists.txt
./tools/test/h5format_convert/CMakeLists.txt
./tools/test/h5format_convert/CMakeTests.cmake
@@ -3398,6 +3570,8 @@
./tools/test/misc/vds/CMakeLists.txt
./tools/test/perform/CMakeLists.txt
./tools/test/perform/CMakeTests.cmake
./utils/CMakeLists.txt
./utils/mirror_vfd/CMakeLists.txt
# CMake-specific User Scripts
./config/cmake/CTestScript.cmake
@@ -3406,6 +3580,13 @@
./config/cmake/scripts/HDF5config.cmake
./config/cmake/scripts/HDF5options.cmake
# CMake-specific Sanitizer Scripts
./config/sanitizer/code-coverage.cmake
./config/sanitizer/sanitizers.cmake
./config/sanitizer/tools.cmake
./config/sanitizer/LICENSE
./config/sanitizer/README.md
# CMake-specific HPC Scripts
./config/cmake/scripts/HPC/sbatch-HDF5options.cmake
./config/cmake/scripts/HPC/bsub-HDF5options.cmake
@@ -3476,6 +3657,7 @@
./testpar/Makefile.in
./tools/Makefile.in
./tools/lib/Makefile.in
./tools/libtest/Makefile.in
./tools/src/Makefile.in
./tools/src/h5copy/Makefile.in
./tools/src/h5diff/Makefile.in

View File

@@ -13,7 +13,7 @@
## Makefile.am
## Run automake to generate a Makefile.in from this file.
##
#
#
# This makefile mostly just reinvokes make in the various subdirectories
# but does so in the correct order. You can alternatively invoke make from
# each subdirectory manually.
@@ -45,7 +45,7 @@ include $(top_srcdir)/config/commence.am
# Since we're explicitly listing DIST_SUBDIRS, we also need to list
# directories that are only conditionally built (so that their Makefiles
# are cleaned as well).
# Note that `make clean' will not affect the examples or doc directories.
# Note that `make clean' will not affect the examples or doc directories.
# Conditionals. These conditionals are defined during configure
# Define each variable to empty if it is not used to placate pmake
@@ -85,9 +85,9 @@ else
TOOLS_DIR=
endif
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) bin $(TOOLS_DIR) . \
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) bin utils $(TOOLS_DIR) . \
$(CXX_DIR) $(FORTRAN_DIR) $(JAVA_DIR) $(HDF5_HL_DIR)
DIST_SUBDIRS = src test testpar tools . c++ fortran hl examples java
DIST_SUBDIRS = src test testpar utils tools . c++ fortran hl examples java
# Some files generated during configure that should be cleaned
DISTCLEANFILES=config/stamp1 config/stamp2
@@ -133,7 +133,7 @@ mostlyclean-local:
# 'make install' will now install examples, the same as 'make install-all'.
# 'make-install-all' will be redundant but will still work.
install: install-recursive install-examples
uninstall: uninstall-recursive uninstall-examples
uninstall: uninstall-recursive uninstall-examples
# 'make install-all' also installs examples
install-all:
@@ -154,7 +154,7 @@ install-doc:
uninstall-doc:
@echo "docs no longer live in this tree. Use install-examples to install examples."
# `make check-install' or `make installcheck' checks that examples can
# `make check-install' or `make installcheck' checks that examples can
# be successfully built
installcheck-local:
if test -n "${DESTDIR}"; then \
@@ -190,7 +190,7 @@ trace:
# Run tests with different Virtual File Drivers.
# Currently, only invoke check-vfd in the test directory.
check-vfd:
for d in src test; do \
for d in src utils test; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \

View File

@@ -1,4 +1,4 @@
HDF5 version 1.11.6 currently under development
HDF5 version 1.13.0 currently under development
------------------------------------------------------------------------------
Please refer to the release_docs/INSTALL file for installation instructions.
@@ -7,8 +7,8 @@ Please refer to the release_docs/INSTALL file for installation instructions.
THE HDF GROUP
---------------
The HDF Group is the developer of HDF5®, a high-performance software library and
data format that has been adopted across multiple industries and has become a
The HDF Group is the developer of HDF5®, a high-performance software library and
data format that has been adopted across multiple industries and has become a
de facto standard in scientific and research communities.
More information about The HDF Group, the HDF5 Community and the HDF5 software
@@ -19,21 +19,21 @@ project, tools and services can be found at the Group's website.
DOCUMENTATION
-------------
This release is fully functional for the API described in the documentation.
This release is fully functional for the API described in the documentation.
https://portal.hdfgroup.org/display/HDF5/The+HDF5+API
Full Documentation and Programming Resources for this release can be found at
https://portal.hdfgroup.org/display/HDF5
See the RELEASE.txt file in the release_docs/ directory for information specific
to the features and updates included in this release of the library.
See the RELEASE.txt file in the release_docs/ directory for information specific
to the features and updates included in this release of the library.
Several more files are located within the release_docs/ directory with specific
Several more files are located within the release_docs/ directory with specific
details for several common platforms and configurations.
INSTALL - Start Here. General instructions for compiling and installing the library
INSTALL_CMAKE - instructions for building with CMake (Kitware.com)
INSTALL_parallel - instructions for building and configuring Parallel HDF5
INSTALL_parallel - instructions for building and configuring Parallel HDF5
INSTALL_Windows and INSTALL_Cygwin - MS Windows installations.
@@ -48,7 +48,7 @@ Information regarding Help Desk and Support services is available at
FORUM and NEWS
--------------
The following public forums are provided for public announcements and discussions
The following public forums are provided for public announcements and discussions
of interest to the general HDF5 Community.
Homepage of the Forum
@@ -59,10 +59,10 @@ of interest to the general HDF5 Community.
HDF5 and HDF4 Topics
https://forum.hdfgroup.org/c/hdf5
These forums are provided as an open and public service for searching and reading.
Posting requires completing a simple registration and allows one to join in the
conversation. Please read the following instructions pertaining to the Forum's
These forums are provided as an open and public service for searching and reading.
Posting requires completing a simple registration and allows one to join in the
conversation. Please read the following instructions pertaining to the Forum's
use and configuration
https://forum.hdfgroup.org/t/quickstart-guide-welcome-to-the-new-hdf-forum

View File

@@ -21,9 +21,9 @@ dnl -------------------------------------------------------------------------
dnl _AC_SYS_LARGEFILE_MACRO_VALUE
dnl
dnl The following macro overrides the autoconf macro of the same name
dnl with this custom definition. This macro performs the same checks as
dnl with this custom definition. This macro performs the same checks as
dnl autoconf's native _AC_SYS_LARGEFILE_MACRO_VALUE, but will also set
dnl AM_CPPFLAGS with the appropriate -D defines so additional configure
dnl AM_CPPFLAGS with the appropriate -D defines so additional configure
dnl sizeof checks do not fail.
dnl
# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,

View File

@@ -10,5 +10,5 @@
cd @HDF5_BINARY_DIR@
ctest . -R MPI_TEST_ -C Release -T test >& ctestP.out
echo "Done running ctestP.sl"
echo "Done running ctestP.sl"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
@@ -13,6 +13,8 @@
#
require 5.003;
use warnings;
# Purpose: insures that API functions aren't called internally.
# Usage: checkapi H5*.c
my $filename = "";

View File

@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use warnings;
#
# Copyright by The HDF Group.

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl
#!/usr/bin/env perl
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
@@ -11,6 +11,8 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
use warnings;
my $depend_file;
my $new_depend_file;
my $srcdir;

View File

@@ -1,4 +1,7 @@
#!/usr/bin/perl -p
#!/bin/sh
#! -*-perl-*-
eval 'exec perl -p -x -S $0 ${1+"$@"}'
if 0;
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.

View File

@@ -1,5 +1,6 @@
#!/usr/local/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use warnings;
use Text::Tabs;
# NOTE: THE FORMAT OF HRETURN_ERROR AND HGOTO_ERROR MACROS HAS
@@ -16,7 +17,7 @@ use Text::Tabs;
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
# Robb Matzke, matzke@llnl.gov
# Robb Matzke
# 30 Aug 1997
#
# Purpose: This script will read standard input which should be a

View File

@@ -218,7 +218,7 @@ perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' ${path_to_hl_src}/H5
# will simply ignore them, but we want to avoid those warnings.
for f in ${path_to_hl_src}/H5LTparse.c ${path_to_hl_src}/H5LTanalyze.c
do
echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out
echo '#if defined __GNUC__ && 402 <= __GNUC__ * 100 + __GNUC_MINOR__ ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out

View File

@@ -83,10 +83,10 @@ CLINKERBASE="@CC@"
# CFLAGS, CPPFLAGS and LDFLAGS are reserved for use by the script user.
# FLAGS brought from the hdf5 build are put in H5BLD_*FLAGS.
# User's CPPFLAGS and CFLAGS come after their H5BLD counterparts. User's
# LDFLAGS come just before clibpath, user's LIBS come after $link_objs and
# before the hdf5 libraries in $link_args, followed by any external library
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# User's CPPFLAGS and CFLAGS come after their H5BLD counterparts. User's
# LDFLAGS come just before clibpath, user's LIBS come after $link_objs and
# before the hdf5 libraries in $link_args, followed by any external library
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# from the hdf5 build. The order of the flags is intended to give precedence
# to the user's flags.
H5BLD_CFLAGS="@AM_CFLAGS@ @CFLAGS@"
@@ -102,9 +102,9 @@ LDFLAGS="${HDF5_LDFLAGS:-$LDFLAGSBASE}"
LIBS="${HDF5_LIBS:-$LIBSBASE}"
# If a static library is available, the default will be to use it. If the only
# available library is shared, it will be used by default. The user can
# available library is shared, it will be used by default. The user can
# override either default, although choosing an unavailable library will result
# in link errors.
# in link errors.
STATIC_AVAILABLE="@enable_static@"
if test "${STATIC_AVAILABLE}" = "yes"; then
USE_SHARED_LIB="${HDF5_USE_SHLIB:-no}"
@@ -114,13 +114,6 @@ fi
usage() {
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] <compile line>"
echo " OPTIONS:"
echo " -help This help message."
echo " -echo Show all the shell commands executed"
echo " -prefix=DIR Prefix directory to find HDF5 lib/ and include/"
echo " subdirectories [default: $prefix]"
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] <compile line>"
echo " OPTIONS:"
@@ -147,7 +140,7 @@ usage() {
echo " HDF5_CC - use a different C compiler"
echo " HDF5_CLINKER - use a different linker"
echo " HDF5_USE_SHLIB=[yes|no] - use shared or static version of the HDF5 library"
echo " [default: no except when built with only"
echo " [default: no except when built with only"
echo " shared libraries]"
echo " "
echo " You can also add or change paths and flags to the compile line using"
@@ -325,7 +318,7 @@ fi
if test "x$do_link" = "xyes"; then
shared_link=""
# conditionnaly link with the hl library
# conditionnaly link with the hl library
if test "X$HL" = "Xhl"; then
libraries=" $libraries -lhdf5_hl -lhdf5 "
else
@@ -386,10 +379,10 @@ if test "x$do_link" = "xyes"; then
# module. It's okay if they're included twice in the compile line.
link_args="$link_args $H5BLD_LDFLAGS $H5BLD_LIBS"
# User's CPPFLAGS and CFLAGS come after their H5BLD counterparts. User's
# LDFLAGS come just before clibpath, user's LIBS come after $link_objs and
# before the hdf5 libraries in $link_args, followed by any external library
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# User's CPPFLAGS and CFLAGS come after their H5BLD counterparts. User's
# LDFLAGS come just before clibpath, user's LIBS come after $link_objs and
# before the hdf5 libraries in $link_args, followed by any external library
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# from the hdf5 build. The order of the flags is intended to give precedence
# to the user's flags.
$SHOW $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link

View File

@@ -17,7 +17,7 @@ use strict;
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
# Robb Matzke <matzke@llnl.gov>
# Robb Matzke
# 17 July 1998
### Purpose
@@ -213,7 +213,7 @@ my (@curver) = getvers $contents;
# Determine the new version number.
my @newver; #new version
if ($set) {
if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([a-zA-Z]\w*))?/) {
if ($set =~ /(\d+)\.(\d+)\.(\d+)(-([\da-zA-Z]\w*))?/) {
@newver = ($1, $2, $3, $5);
} elsif ($set =~ /(\d+)\D+(\d+)\D+(\d+)(\s*\(([a-zA-Z]\w*)\))?\D*$/) {
@newver = ($1, $2, $3, $5);
@@ -377,7 +377,7 @@ if ($H5_JAVA) {
my $version_string2 = sprintf("%d, %d, %d", @newver[0,1,2]);
$data =~ s/\@version HDF5 .* <BR>/\@version HDF5 $version_string1 <BR>/;
$data =~ s/ public final static int LIB_VERSION\[\] = { \d*, \d*, \d* };/ public final static int LIB_VERSION[] = { $version_string2 };/;
$data =~ s/ public final static int LIB_VERSION\[\] = \{ \d*, \d*, \d* \};/ public final static int LIB_VERSION[] = \{ $version_string2 \};/;
write_file($H5_JAVA, $data);
}
@@ -394,7 +394,7 @@ if ($TESTH5_JAVA) {
my $version_string1 = sprintf("%d, %d, %d", @newver[0,1,2]);
my $version_string2 = sprintf("int majnum = %d, minnum = %d, relnum = %d", @newver[0,1,2]);
$data =~ s/ int libversion\[\] = { .* };/ int libversion\[\] = { $version_string1 };/;
$data =~ s/ int libversion\[\] = \{ .* \};/ int libversion\[\] = \{ $version_string1 \};/;
$data =~ s/ int majnum = \d*, minnum = \d*, relnum = \d*;/ $version_string2;/;
write_file($TESTH5_JAVA, $data);
@@ -405,7 +405,7 @@ if ($REPACK_LAYOUT_PLUGIN_VERSION) {
my $data = read_file($REPACK_LAYOUT_PLUGIN_VERSION);
my $version_string = sprintf("%d %d %d", @newver[0,1,2]);
$data =~ s/ PARAMS { 9 \d* \d* \d* }/ PARAMS { 9 $version_string }/g;
$data =~ s/ PARAMS \{ 9 \d* \d* \d* \}/ PARAMS \{ 9 $version_string \}/g;
write_file($REPACK_LAYOUT_PLUGIN_VERSION, $data);
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl
#!/usr/bin/env perl
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.

View File

@@ -1,6 +1,7 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
$indent=4;
use warnings;
#
# Copyright by The HDF Group.

View File

@@ -1,6 +1,7 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use strict;
use warnings;
# Global settings

View File

@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use warnings;
# Global settings
# (The max_idx parameter is the only thing that needs to be changed when adding
@@ -7,8 +8,8 @@ require 5.003;
# is added (like support for 1.4, etc), the min_sup_idx parameter will
# need to be decremented. - QAK)
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, etc)
$max_idx = 6;
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, 7 = 1.14, etc)
$max_idx = 7;
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
$min_sup_idx = 3;
@@ -89,7 +90,8 @@ sub print_checkoptions ($) {
my $curr_idx; # Current API version index
# Print the option checking
print $fh "\n/* Issue error if contradicting macros have been defined. */\n";
print $fh "\n\n/* Issue error if contradicting macros have been defined. */\n";
print $fh "/* (Can't use an older (deprecated) API version if deprecated symbols have been disabled) */\n";
# Print the #ifdef
print $fh "#if (";
@@ -118,7 +120,30 @@ sub print_checkoptions ($) {
##############################################################################
# Print "global" API version macro settings
#
sub print_globalapivers ($) {
sub print_globalapidefvers ($) {
my $fh = shift; # File handle for output file
my $curr_idx; # Current API version index
# Print the descriptive comment
print $fh "\n\n/* If a particular default \"global\" version of the library's interfaces is\n";
print $fh " * chosen, set the corresponding version macro for API symbols.\n";
print $fh " *\n";
print $fh " */\n";
for $curr_idx ($min_sup_idx .. ($max_idx - 1)) {
# Print API version ifdef
print $fh "\n#if defined(H5_USE_1", ($curr_idx * 2), "_API_DEFAULT) && !defined(H5_USE_1", ($curr_idx * 2), "_API)\n";
# Print API version definition
print $fh " " x $indent, "#define H5_USE_1", ($curr_idx * 2), "_API 1\n";
# Print API version endif
print $fh "#endif /* H5_USE_1", ($curr_idx * 2), "_API_DEFAULT && !H5_USE_1", ($curr_idx * 2), "_API */\n";
}
}
##############################################################################
# Print "global" API symbol version macro settings
#
sub print_globalapisymbolvers ($) {
my $fh = shift; # File handle for output file
my $curr_idx; # Current API version index
@@ -130,15 +155,6 @@ sub print_globalapivers ($) {
print $fh " * API symbol, the individual API version macro takes priority.\n";
print $fh " */\n";
for $curr_idx ($min_sup_idx .. ($max_idx - 1)) {
# Print API version ifdef
print $fh "#if defined(H5_USE_1", ($curr_idx * 2), "_API_DEFAULT) && !defined(H5_USE_1", ($curr_idx * 2), "_API)\n";
# Print API version definition
print $fh " " x $indent, "#define H5_USE_1", ($curr_idx * 2), "_API 1\n";
# Print API version endif
print $fh "#endif /* H5_USE_1", ($curr_idx * 2), "_API_DEFAULT && !H5_USE_1", ($curr_idx * 2), "_API */\n\n";
}
# Loop over supported older library APIs and define the appropriate macros
for $curr_idx ($min_sup_idx .. ($max_idx - 1)) {
# Print API version ifdef
@@ -338,7 +354,18 @@ sub parse_line ($) {
my $vers_idx; # Index of version in array
# Do some validation on the input
if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ )) {
# Note: v111 is allowed because H5O functions were prematurely versioned
# in HDF5 1.10. Because users were affected by this, the versioning
# was rescinded but the H5O version 2 functions were kept to be
# called directly. Now that the version macros are added in 1.12,
# along with a 3rd version of the H5O functions, the H5O function
# version for default api=v110 should be version 1 to work correctly
# with 1.10 applications that were using unversioned H5O functions,
# and the H5O function version should be version 3 for default api=v112
# (the default api version for 1.12). Allowing a v111 entry and
# incrementing its index 13 lines below allows a version 2 that is
# never accessed via the H5O function macros.
if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ || $_ =~ /v111/ )) {
die "bad version information: $name";
}
if(exists($sym_versions{$_})) {
@@ -351,6 +378,9 @@ sub parse_line ($) {
#print "parse_line: _=$_\n";
# Get the index of the version
($vers_idx) = ($_ =~ /v1(\d+)/);
if($vers_idx == 11) {
$vers_idx++;
}
$vers_idx /= 2;
#print "parse_line: vers_idx='$vers_idx'\n";
push(@vers_nums, $vers_idx);
@@ -443,8 +473,9 @@ sub create_public ($) {
print_copyright(*HEADER);
print_warning(*HEADER);
print_startprotect(*HEADER, $file);
print_globalapidefvers(*HEADER);
print_checkoptions(*HEADER);
print_globalapivers(*HEADER);
print_globalapisymbolvers(*HEADER);
print_defaultapivers(*HEADER);
print_endprotect(*HEADER, $file);

View File

@@ -39,36 +39,36 @@ USAGE()
{
cat << EOF
Usage: $0 -d <dir> [--docver BRANCHNAME] [-h] [--nocheck] [--private] <methods> ...
-d DIR The name of the directory where the releas(es) should be
-d DIR The name of the directory where the releas(es) should be
placed.
--docver BRANCHNAME This is added for 1.8 and beyond to get the correct
version of documentation files from the hdf5docs
repository. BRANCHNAME for v1.8 should be hdf5_1_8.
-h print the help page.
--nocheck Ignore errors in MANIFEST file.
--private Make a private release with today's date in version information.
--nocheck Ignore errors in MANIFEST file.
--private Make a private release with today's date in version information.
This must be run at the top level of the source directory.
The other command-line options are the names of the programs to use
for compressing the resulting tar archive (if none are given then
"tar" is assumed):
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
cmake-tgz -- create a tar file using the gzip default level with a build-unix.sh
zip -- convert all text files to DOS style and form a zip file for Windows use.
cmake-tgz -- create a tar file using the gzip default level with a build-unix.sh
command file and all other CMake files needed to build HDF5 source
using CMake on unix machines.
cmake-zip -- convert all text files to DOS style and create a zip file inluding cmake
scripts and .bat files to build HDF5 source using CMake on Windows.
hpc-cmake-tgz
-- create a tar file using the gzip default level with a build-unix.sh
scripts and .bat files to build HDF5 source using CMake on Windows.
hpc-cmake-tgz
-- create a tar file using the gzip default level with a build-unix.sh
command file and all other CMake files needed to build HDF5 source
using CMake on unix machines, with HDF5options.cmake files for serial
and parallel builds on machines requiring batch jobs to run tests.
The default is for parallel build, with serial only build by changing
the HDF5options.cmake symlink to ser-HDF5options.cmake. More
the HDF5options.cmake symlink to ser-HDF5options.cmake. More
information is available in the README_HPC file.
doc -- produce the latest doc tree in addition to the archive.
@@ -122,8 +122,8 @@ EOF
tar2zip()
{
if [ $# -ne 3 ]; then
echo "usage: tar2zip <tarfilename> <zipfilename>"
return 1
echo "usage: tar2zip <tarfilename> <zipfilename>"
return 1
fi
ztmpdir=/tmp/ztmpdir$$
mkdir -p $ztmpdir
@@ -135,23 +135,23 @@ tar2zip()
(cd $ztmpdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $ztmpdir/$version ]; then
echo "untar did not create $ztmpdir/$version source dir"
# cleanup
rm -rf $ztmpdir
return 1
echo "untar did not create $ztmpdir/$version source dir"
# cleanup
rm -rf $ztmpdir
return 1
fi
# step 2: convert text files
# There maybe a simpler way to do this.
# options used in unix2dos:
# -k Keep the date stamp
# -k Keep the date stamp
# -q quiet mode
# grep redirect output to /dev/null because -q or -s are not portable.
find $ztmpdir/$version | \
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
# step 3: make zipball
# -9 maximum compression
# -y Store symbolic links as such in the zip archive
@@ -177,14 +177,14 @@ tar2zip()
# Note: do this in a temporary directory to avoid changing
# the original source directory which may be around.
# 2. add build-unix.sh script.
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 3. add LIBAEC.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 4. create gzipped tar file with these contents:
# build-unix.sh script
# hdf5-<version> source code directory extracted from tar file
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# LIBAEC.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
@@ -197,13 +197,13 @@ tar2zip()
#
# need function to create another temporary directory, extract the
# $tmpdir/$HDF5_VERS.tar into it, create build-VS*.bat files,
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
# add CTestScript.cmake, HDF5config.cmake, LIBAEC.tar.gz
# ZLib.tar.gz, HDF5 examples, and then zip it.
tar2cmakezip()
{
if [ $# -ne 3 ]; then
echo "usage: tar2cmakezip <tarfilename> <zipfilename>"
return 1
echo "usage: tar2cmakezip <tarfilename> <zipfilename>"
return 1
fi
cmziptmpdir=/tmp/cmziptmpdir$$
cmziptmpsubdir=$cmziptmpdir/CMake-$HDF5_VERS
@@ -216,10 +216,10 @@ tar2cmakezip()
(cd $cmziptmpsubdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $cmziptmpsubdir/$version ]; then
echo "untar did not create $cmziptmpsubdir/$version source dir"
# cleanup
rm -rf $cmziptmpdir
return 1
echo "untar did not create $cmziptmpsubdir/$version source dir"
# cleanup
rm -rf $cmziptmpdir
return 1
fi
# step 2: add batch file for building CMake on window
@@ -230,10 +230,10 @@ tar2cmakezip()
(cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2017 -C Release -V -O hdf5.log" > build-VS2017-32.bat; chmod 755 build-VS2017-32.bat)
(cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -V -O hdf5.log" > build-VS2017-64.bat; chmod 755 build-VS2017-64.bat)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpsubdir
# step 3: add LIBAEC.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/LIBAEC.tar.gz $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.zip $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.14.1-Source.zip $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir
@@ -241,15 +241,15 @@ tar2cmakezip()
# step 4: convert text files
# There maybe a simpler way to do this.
# options used in unix2dos:
# -k Keep the date stamp
# -k Keep the date stamp
# -q quiet mode
# grep redirect output to /dev/null because -q or -s are not portable.
find $cmziptmpsubdir/$version | \
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
# step 3: make zipball
# -9 maximum compression
@@ -276,14 +276,14 @@ tar2cmakezip()
# Note: do this in a temporary directory to avoid changing
# the original source directory which may be around.
# 2. add build-unix.sh script.
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 3. add LIBAEC.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 4. create gzipped tar file with these contents:
# build-unix.sh script
# hdf5-<version> source code directory extracted from tar file
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# LIBAEC.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
@@ -296,13 +296,13 @@ tar2cmakezip()
#
# need function to create another temporary directory, extract the
# $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
# add CTestScript.cmake, HDF5config.cmake, LIBAEC.tar.gz
# ZLib.tar.gz, HDF5 examples, and then tar.gz it.
tar2cmaketgz()
{
if [ $# -ne 3 ]; then
echo "usage: tar2cmaketgz <tarfilename> <tgzfilename>"
return 1
echo "usage: tar2cmaketgz <tarfilename> <tgzfilename>"
return 1
fi
cmgztmpdir=/tmp/cmgztmpdir$$
cmgztmpsubdir=$cmgztmpdir/CMake-$HDF5_VERS
@@ -315,25 +315,25 @@ tar2cmaketgz()
(cd $cmgztmpsubdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $cmgztmpsubdir/$version ]; then
echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
fi
# step 2: add build-unix.sh script
(cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
# step 3: add LIBAEC.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/LIBAEC.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.14.1-Source.tar.gz $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir
tar czf $DEST/CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
tar czf $DEST/CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
# cleanup
rm -rf $cmgztmpdir
}
@@ -353,14 +353,14 @@ tar2cmaketgz()
# Note: do this in a temporary directory to avoid changing
# the original source directory which may be around.
# 2. add build-unix.sh script.
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 3. add LIBAEC.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 4. create gzipped tar file with these contents:
# build-unix.sh script
# hdf5-<version> source code directory extracted from tar file
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# LIBAEC.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
#
# 5. For HPC-CMake tgz file the following are also needed in the top-level directory:
@@ -379,13 +379,13 @@ tar2cmaketgz()
#
# need function to create another temporary directory, extract the
# $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
# add CTestScript.cmake, HDF5config.cmake, LIBAEC.tar.gz
# ZLib.tar.gz, HDF5 examples, and then tar.gz it.
tar2hpccmaketgz()
{
if [ $# -ne 3 ]; then
echo "usage: tar2hpccmaketgz <tarfilename> <tgzfilename>"
return 1
echo "usage: tar2hpccmaketgz <tarfilename> <tgzfilename>"
return 1
fi
cmgztmpdir=/tmp/cmgztmpdir$$
cmgztmpsubdir=$cmgztmpdir/HPC-CMake-$HDF5_VERS
@@ -398,20 +398,20 @@ tar2hpccmaketgz()
(cd $cmgztmpsubdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $cmgztmpsubdir/$version ]; then
echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
fi
# step 2: add build-unix.sh script
(cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
# step 3: add LIBAEC.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/LIBAEC.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.14.1-Source.tar.gz $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
@@ -419,8 +419,8 @@ tar2hpccmaketgz()
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/ser-HDF5options.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/par-HDF5options.cmake $cmgztmpsubdir
(cd $cmgztmpsubdir; ln -s par-HDF5options.cmake HDF5options.cmake)
tar czf $DEST/HPC-CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
tar czf $DEST/HPC-CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
# cleanup
rm -rf $cmgztmpdir
}
@@ -442,7 +442,7 @@ check=yes
release_date=`date +%F`
today=`date +%Y%m%d`
pmode='no'
tmpdir="../#release_tmp.$$" # tmp work directory
tmpdir="../#release_tmp.$$" # tmp work directory
DOC_URL=https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5doc.git
CPPLUS_RM_NAME=cpplus_RM
MAINT_MODE_ENABLED=""
@@ -459,11 +459,11 @@ fi
RESTORE_VERSION()
{
if [ X-${VERS_OLD} != X- ]; then
echo restoring version information back to $VERS_OLD
rm -f config/lt_vers.am
cp $tmpdir/lt_vers.am config/lt_vers.am
bin/h5vers -s $VERS_OLD
VERS_OLD=
echo restoring version information back to $VERS_OLD
rm -f config/lt_vers.am
cp $tmpdir/lt_vers.am config/lt_vers.am
bin/h5vers -s $VERS_OLD
VERS_OLD=
fi
}
@@ -473,32 +473,32 @@ while [ -n "$1" ]; do
arg=$1
shift
case "$arg" in
-d)
DEST=$1
shift
;;
--nocheck)
check=no
;;
-h)
USAGE
exit 0
;;
--private)
pmode=yes
;;
-d)
DEST=$1
shift
;;
--nocheck)
check=no
;;
-h)
USAGE
exit 0
;;
--private)
pmode=yes
;;
--docver)
DOCVERSION=$1
shift
;;
-*)
echo "Unknown switch: $arg" 1>&2
USAGE
exit 1
;;
*)
methods="$methods $arg"
;;
-*)
echo "Unknown switch: $arg" 1>&2
USAGE
exit 1
;;
*)
methods="$methods $arg"
;;
esac
done
@@ -548,12 +548,12 @@ if [ "X$fail" = "Xyes" ]; then
echo ""
echo "Note! If you are running bin/release in a development branch"
echo "later than v 1.8 the MANIFEST check is expected to fail when"
echo "autogen.sh has not been run successfully. Either run autogen.sh "
echo "autogen.sh has not been run successfully. Either run autogen.sh "
echo "with /usr/hdf/bin/AUTOTOOLS at the beginning of PATH or add the"
echo "--nocheck argument to the bin/release command."
exit 1
else
echo "Continuing anyway..."
echo "Continuing anyway..."
fi
fi
@@ -587,7 +587,7 @@ test "$verbose" && echo " Running tar..." 1>&2
( \
cd $tmpdir; \
tar cf $HDF5_VERS.tar $HDF5_VERS/Makefile \
`sed 's/^\.\//hdf5-'$VERS'\//' $MANIFEST` || exit 1 \
`sed 's/^\.\//hdf5-'$VERS'\//' $MANIFEST` || exit 1 \
)
# Compress
@@ -595,61 +595,61 @@ MD5file=$HDF5_VERS.md5
cp /dev/null $DEST/$MD5file
for comp in $methods; do
case $comp in
tar)
cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
(cd $DEST; md5sum $HDF5_VERS.tar >> $MD5file)
;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
(cd $DEST; md5sum $HDF5_VERS.tar.gz >> $MD5file)
;;
tar)
cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
(cd $DEST; md5sum $HDF5_VERS.tar >> $MD5file)
;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
(cd $DEST; md5sum $HDF5_VERS.tar.gz >> $MD5file)
;;
cmake-tgz)
test "$verbose" && echo " Creating CMake tar.gz file..." 1>&2
tar2cmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum CMake-$HDF5_VERS.tar.gz >> $MD5file)
test "$verbose" && echo " Creating CMake tar.gz file..." 1>&2
tar2cmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum CMake-$HDF5_VERS.tar.gz >> $MD5file)
;;
hpc-cmake-tgz)
test "$verbose" && echo " Creating HPC-CMake tar.gz file..." 1>&2
tar2hpccmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/HPC-CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum HPC-CMake-$HDF5_VERS.tar.gz >> $MD5file)
test "$verbose" && echo " Creating HPC-CMake tar.gz file..." 1>&2
tar2hpccmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/HPC-CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum HPC-CMake-$HDF5_VERS.tar.gz >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
(cd $DEST; md5sum $HDF5_VERS.tar.bz2 >> $MD5file)
;;
zip)
test "$verbose" && echo " Creating zip ball..." 1>&2
tar2zip $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.zip 1>&2
(cd $DEST; md5sum $HDF5_VERS.zip >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
(cd $DEST; md5sum $HDF5_VERS.tar.bz2 >> $MD5file)
;;
zip)
test "$verbose" && echo " Creating zip ball..." 1>&2
tar2zip $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.zip 1>&2
(cd $DEST; md5sum $HDF5_VERS.zip >> $MD5file)
;;
cmake-zip)
test "$verbose" && echo " Creating CMake-zip ball..." 1>&2
tar2cmakezip $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.zip 1>&2
(cd $DEST; md5sum CMake-$HDF5_VERS.zip >> $MD5file)
;;
doc)
doc)
if [ "${DOCVERSION}" = "" ]; then
DOCVERSION=master
fi
test "$verbose" && echo " Creating docs..." 1>&2
# Check out docs from git repo
(cd $tmpdir; git clone -q $DOC_URL ${DOCVERSION} > /dev/null) || exit 1
test "$verbose" && echo " Creating docs..." 1>&2
# Check out docs from git repo
(cd $tmpdir; git clone -q $DOC_URL ${DOCVERSION} > /dev/null) || exit 1
# Create doxygen C++ RM
(cd c++/src && doxygen cpp_doc_config > /dev/null ) || exit 1
# Replace version of C++ RM with just-created version
rm -rf $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME || exit 1
mv c++/src/$CPPLUS_RM_NAME $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME || exit 1
(cd c++/src && doxygen cpp_doc_config > /dev/null ) || exit 1
# Replace version of C++ RM with just-created version
rm -rf $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME || exit 1
mv c++/src/$CPPLUS_RM_NAME $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME || exit 1
# Compress the docs and move them to the release area
mv $tmpdir/${DOCVERSION} $tmpdir/${HDF5_VERS}_docs || exit 1
(cd $tmpdir && tar cf ${HDF5_VERS}_docs.tar ${HDF5_VERS}_docs) || exit 1
mv $tmpdir/${HDF5_VERS}_docs.tar $DEST || exit 1
;;
*)
echo "***Error*** Unknown method $comp"
exit 1
;;
mv $tmpdir/${DOCVERSION} $tmpdir/${HDF5_VERS}_docs || exit 1
(cd $tmpdir && tar cf ${HDF5_VERS}_docs.tar ${HDF5_VERS}_docs) || exit 1
mv $tmpdir/${HDF5_VERS}_docs.tar $DEST || exit 1
;;
*)
echo "***Error*** Unknown method $comp"
exit 1
;;
esac
done

View File

@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use warnings;
$indent=4;
#

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
##
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
@@ -12,6 +12,7 @@
# help@hdfgroup.org.
##
require 5.003;
use warnings;
$Source = "";
##############################################################################
@@ -42,6 +43,7 @@ $Source = "";
"H5D_space_status_t" => "Ds",
"H5D_vds_view_t" => "Dv",
"H5FD_mpio_xfer_t" => "Dt",
"H5FD_splitter_vfd_config_t" => "Dr",
"herr_t" => "e",
"H5E_direction_t" => "Ed",
"H5E_error_t" => "Ee",
@@ -70,6 +72,7 @@ $Source = "";
"uint32_t" => "Iu",
"uint64_t" => "UL",
"H5I_type_t" => "It",
"H5O_token_t" => "k",
"H5G_link_t" => "Ll", #Same as H5L_type_t now
"H5L_type_t" => "Ll",
"MPI_Comm" => "Mc",
@@ -78,7 +81,9 @@ $Source = "";
"off_t" => "o",
"H5O_type_t" => "Ot",
"H5P_class_t" => "p",
"hobj_ref_t" => "r",
"hobj_ref_t" => "Ro",
"hdset_reg_ref_t" => "Rd",
"H5R_ref_t" => "Rr",
"H5R_type_t" => "Rt",
"char" => "s",
"unsigned char" => "s",
@@ -97,25 +102,38 @@ $Source = "";
"H5T_str_t" => "Tz",
"unsigned long" => "Ul",
"unsigned long long" => "UL",
"H5VL_subclass_t" => "VS",
"H5VL_get_conn_lvl_t" => "VL",
"H5VL_attr_get_t" => "Va",
"H5VL_attr_optional_t" => "Vs",
"H5VL_attr_specific_t" => "Vb",
"H5VL_blob_specific_t" => "VB",
"H5VL_class_value_t" => "VC",
"H5VL_dataset_get_t" => "Vc",
"H5VL_dataset_specific_t" => "Vd",
"H5VL_dataset_optional_t" => "Vt",
"H5VL_datatype_get_t" => "Ve",
"H5VL_datatype_specific_t" => "Vf",
"H5VL_datatype_optional_t" => "Vu",
"H5VL_file_get_t" => "Vg",
"H5VL_file_specific_t" => "Vh",
"H5VL_file_optional_t" => "Vv",
"H5VL_group_get_t" => "Vi",
"H5VL_group_specific_t" => "Vj",
"H5VL_group_optional_t" => "Vw",
"H5VL_link_create_type_t" => "Vk",
"H5VL_link_get_t" => "Vl",
"H5VL_link_specific_t" => "Vm",
"H5VL_link_optional_t" => "Vx",
"H5VL_object_get_t" => "Vn",
"H5VL_object_specific_t" => "Vo",
"H5VL_object_optional_t" => "Vy",
"H5VL_request_specific_t" => "Vr",
"H5VL_request_optional_t" => "Vz",
"H5VL_blob_optional_t" => "VA",
"void" => "x",
"FILE" => "x",
"H5_alloc_stats_t" => "x",
"H5A_operator_t" => "x",
"H5A_operator1_t" => "x",
"H5A_operator2_t" => "x",
@@ -139,7 +157,10 @@ $Source = "";
"H5FD_t" => "x",
"H5FD_class_t" => "x",
"H5FD_stream_fapl_t" => "x",
"H5FD_ros3_fapl_t" => "x",
"H5FD_hdfs_fapl_t" => "x",
"H5FD_file_image_callbacks_t" => "x",
"H5FD_mirror_fapl_t" => "x",
"H5G_iterate_t" => "x",
"H5G_info_t" => "x",
"H5I_free_t" => "x",
@@ -147,11 +168,18 @@ $Source = "";
"H5I_search_func_t" => "x",
"H5L_class_t" => "x",
"H5L_elink_traverse_t" => "x",
"H5L_iterate_t" => "x",
"H5L_info1_t" => "x",
"H5L_info2_t" => "x",
"H5L_iterate1_t" => "x",
"H5L_iterate2_t" => "x",
"H5M_iterate_t" => 'x',
"H5MM_allocate_t" => "x",
"H5MM_free_t" => "x",
"H5O_info_t" => "x",
"H5O_iterate_t" => "x",
"H5O_info1_t" => "x",
"H5O_info2_t" => "x",
"H5O_native_info_t" => "x",
"H5O_iterate1_t" => "x",
"H5O_iterate2_t" => "x",
"H5O_mcdt_search_cb_t" => "x",
"H5P_cls_create_func_t" => "x",
"H5P_cls_copy_func_t" => "x",
@@ -214,6 +242,11 @@ sub argstring ($$$) {
# certain type qualifiers, and indirection.
$atype =~ s/^\bconst\b//;
$atype =~ s/\bH5_ATTR_UNUSED\b//g;
$atype =~ s/\bH5_ATTR_DEPRECATED_USED\b//g;
$atype =~ s/\bH5_ATTR_NDEBUG_UNUSED\b//g;
$atype =~ s/\bH5_ATTR_DEBUG_API_USED\b//g;
$atype =~ s/\bH5_ATTR_PARALLEL_UNUSED\b//g;
$atype =~ s/\bH5_ATTR_PARALLEL_USED\b//g;
$atype =~ s/\s+/ /g;
$ptr = length $1 if $atype =~ s/(\*+)//;
$atype =~ s/^\s+//;

View File

@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
#!/usr/bin/env perl
require 5.003;
use warnings;
#
# Copyright by The HDF Group.
@@ -14,7 +15,7 @@ require 5.003;
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Quincey Koziol, koziol@hdfgroup.org
# Quincey Koziol
# 9 Aug 2013
#
# Purpose: Given an input file containing the output from a build of the
@@ -40,6 +41,8 @@ my @ignorenames;
my %ignored_files = ();
my %warn_file_indices = ();
my %file_warn_indices = ();
my @warn_match_strings;
my @file_match_strings;
my %file_warn = ();
my %file_warn_line = ();
my $current_warning = 0;
@@ -48,15 +51,12 @@ my $warn_index;
my $last_c_name;
my $last_fort_name;
my $last_fort_line;
my $genericize = 1;
# declare the Perl command line flags/options we want to allow
my %options=();
getopts("FWht:w:f:i:l", \%options);
# Display usage, if requested
if($options{h}) {
print "Usage: 'warnhist [-h] [-t <prefix>] [-w <n>] [-W] [-f <n>] [-F] [-l] [-i <name list> [file]'\n";
print "\t-h\tDisplay this usage\n";
# Display usage
sub do_help {
print "Usage: 'warnhist [-h, --help] [-t <prefix>] [-w <n>] [-W] [-f <n>] [-F] [-s <warning string list>] [-S <file string list] [-l] [-u] [-i <name list>] [file]'\n";
print "\t-h, --help\tDisplay this usage\n";
print "\t-t <prefix>\tTrim pathname prefix from filenames, <prefix>\n";
print "\t-w <n>\tDisplay files for a given warning index list, <n>\n";
print "\t\t<n> can be a single value, a range, or a comma separated list\n";
@@ -66,7 +66,14 @@ if($options{h}) {
print "\t\t<n> can be a single value, a range, or a comma separated list\n";
print "\t\tFor example: '0' or '0,4' or '8-10' or '0,2-4,8-10,13'\n";
print "\t-F\tDisplay warnings for all files\n";
print "\t-s <warning string list>\tDisplay files for warnings which contain a string, <warning string list>\n";
print "\t\t<warning string list> is a comma separated list, with no spaces\n";
print "\t\tFor example: 'Wunused-dummy-argument' or 'Wunused-dummy-argument,Wunused-variable'\n";
print "\t-S <file string list>\tDisplay warnings for files which contain a string, <file string list>\n";
print "\t\t<file string list> is a comma separated list, with no spaces\n";
print "\t\tFor example: 'H5Fint' or 'H5Fint,H5Gnode'\n";
print "\t-l\tDisplay line nunbers for file/warning\n";
print "\t-u\tLeave 'unique' types in warnings, instead of genericizing them\n";
print "\t-i <name list>\tIgnore named files, <name list>\n";
print "\t\t<name list> is a comma separated list, with no spaces\n";
print "\t\tFor example: 'H5LTparse' or 'H5LTparse,H5LTanalyze'\n";
@@ -75,6 +82,19 @@ if($options{h}) {
exit;
}
sub main::HELP_MESSAGE {
do_help();
}
# declare the Perl command line flags/options we want to allow
my %options=();
getopts("FWhut:w:f:s:S:i:l", \%options);
# Display usage, if requested
if($options{h}) {
do_help();
}
# Parse list of file names to ignore
if(exists $options{i}) {
@ignorenames = split /,/, $options{i};
@@ -98,13 +118,13 @@ if(exists $options{w}) {
#print "start_index = '$start_index', end_index = '$end_index'\n";
for my $y ($start_index..$end_index) {
#print "y = '$y'\n";
if(!(exists $warn_file_indices{$y})) {
if(!exists $warn_file_indices{$y}) {
$warn_file_indices{$y} = $y;
}
}
}
else {
if(!(exists $warn_file_indices{$x})) {
if(!exists $warn_file_indices{$x}) {
$warn_file_indices{$x} = $x;
}
}
@@ -114,6 +134,12 @@ if(exists $options{w}) {
#}
}
# Parse list of warning strings to expand file names
if(exists $options{s}) {
@warn_match_strings = split /,/, $options{s};
# print @warn_match_strings;
}
# Parse list of file indices to expand warnings
if(exists $options{f}) {
my @tmp_indices;
@@ -131,13 +157,13 @@ if(exists $options{f}) {
#print "start_index = '$start_index', end_index = '$end_index'\n";
for my $y ($start_index..$end_index) {
#print "y = '$y'\n";
if(!(exists $file_warn_indices{$y})) {
if(!exists $file_warn_indices{$y}) {
$file_warn_indices{$y} = $y;
}
}
}
else {
if(!(exists $file_warn_indices{$x})) {
if(!exists $file_warn_indices{$x}) {
$file_warn_indices{$x} = $x;
}
}
@@ -147,6 +173,17 @@ if(exists $options{f}) {
#}
}
# Parse list of warning strings for files to expand warnings
if(exists $options{S}) {
@file_match_strings = split /,/, $options{S};
# print @file_match_strings;
}
# Check if warnings should stay unique and not be "genericized"
if($options{u}) {
$genericize = 0;
}
PARSE_LINES:
while (<>) {
my $name;
@@ -156,6 +193,7 @@ while (<>) {
my $offset;
my $warning;
my $extra;
my $extra2;
# Retain last FORTRAN compile line, which comes a few lines before warning
if($_ =~ /.*\.[fF]90:.*/) {
@@ -163,26 +201,45 @@ while (<>) {
($last_fort_line, $toss) = split /\./, $last_fort_line;
}
# Retain last C compile line, which possibly comes a few lines before warning
if($_ =~ /.*[A-Za-z0-9_]\.c:.*/) {
# Retain last C/C++ compile line, which possibly comes a few lines before warning
if($_ =~ /.*[A-Za-z0-9_]\.[cC]:.*/) {
($last_c_name, $toss) = split /\:/, $_;
}
next if $_ !~ /[Ww]arning:/;
# Retain C/C++ compile line, which comes with the line of warning
if($_ =~ /.*[A-Za-z0-9_]\.[chC]\(.*[0-9]\):.*#.*/) {
$last_c_name = $_;
}
# Skip lines that don't have the word "warning"
next if $_ !~ /[Ww]arning/;
# Skip warnings from linker
next if $_ =~ /ld: warning:/;
# Skip warnings from build_py and install_lib
next if $_ =~ /warning: (build_py|install_lib)/;
# "Hide" the C++ '::' symbol until we've parsed out the parts of the line
while($_ =~ /\:\:/) {
$_ =~ s/\:\:/@@@@/g;
}
# Check for weird formatting of warning message
if($_ =~ /^cc1: warning:.*/) {
$name = $last_c_name;
$line = "??";
($toss, $toss, $warning, $extra) = split /\:/, $_;
($toss, $toss, $warning, $extra, $extra2) = split /\:/, $_;
# Check for CMAKE build with warning on first line and no filename
} elsif($_ =~ /^\s*[Ww]arning:.*/) {
$name = $last_c_name;
$line = "??";
($toss, $warning, $extra, $extra2) = split /\:/, $_;
# Check for FORTRAN warning output
} elsif($_ =~ /^Warning:.*/) {
$name = $last_fort_name;
$line = $last_fort_line;
($toss, $warning, $extra) = split /\:/, $_;
($toss, $warning, $extra, $extra2) = split /\:/, $_;
#print "1:",$.,":",$_;
# $_ = <>;
#print "2:",$.,":",$_;
@@ -201,12 +258,27 @@ while (<>) {
print "Line is a null string! Input line #$. is: '$_'";
next
}
# Check for non-GCC warning (Solaris/Oracle?)
} elsif($_ =~ /^\".*, line [0-9]+: *[Ww]arning:.*/) {
($name, $toss, $warning, $extra, $extra2) = split /\:/, $_;
($name, $line) = split /\,/, $name;
$name =~ s/^\"//g;
$name =~ s/\"$//g;
$line =~ s/^\s*line\s*//g;
# print "name:'", $name, "'-'", $line, "'\n";
# print "warning:'", $warning, "'\n";
# Check for Intel icc warning
} elsif($_ =~ /.*[A-Za-z0-9_]\.[chC]\(.*[0-9]\):.*#.*/) {
($last_c_name, $toss, $warning) = split /\:/, $last_c_name;
($name, $line) = split /\(/, $last_c_name;
$line =~ s/\)//g;
} else {
# Check for 'character offset' field
# Check for 'character offset' field appended to file & line #
# (This is probably specific to GCC)
if($_ =~ /^.*[0-9]+\:[0-9]+\:/) {
($name, $line, $offset, $toss, $warning, $extra) = split /\:/, $_;
($name, $line, $offset, $toss, $warning, $extra, $extra2) = split /\:/, $_;
} else {
($name, $line, $toss, $warning, $extra) = split /\:/, $_;
($name, $line, $toss, $warning, $extra, $extra2) = split /\:/, $_;
}
}
@@ -216,6 +288,14 @@ while (<>) {
if(length $extra ) {
$warning = join ':', $warning, $extra;
}
if(length $extra2 ) {
$warning = join ':', $warning, $extra2;
}
# Restore the C++ '::' symbol now that we've parsed out the parts of the line
while($warning =~ /@@@@/) {
$warning =~ s/@@@@/\:\:/g;
}
# Trim leading '..' paths from filename
while($name =~ /^\.\.\//) {
@@ -261,198 +341,94 @@ while (<>) {
# Convert all quotes to '
$warning =~ s//'/g;
$warning =~ s//'/g;
$warning =~ s/"/'/g;
#
# These skipped messages & "genericizations" may be specific to GCC
# Skip supplemental warning message
next if $warning =~ /near initialization for/;
# Skip C++ supplemental warning message
next if $warning =~ /in call to/;
# Skip GCC warning that should be a note
next if $_ =~ /\(this will be reported only once per input file\)/;
# Eliminate "{aka <some type>}" info
if($warning =~ /\s\{aka [A-Za-z_0-9\s\*]*\}'/) {
$warning =~ s/\s\{aka [A-Za-z_0-9\s\*]*\}//g;
if($genericize) {
# Eliminate C/C++ "{aka <some type>}" and "{aka '<some type>'}" info
if($warning =~ /\s(\{|\()aka '?[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#]+[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\ ]*'?(\}|\))/) {
$warning =~ s/\s(\{|\()aka '?[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#]+[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\ ]*'?(\}|\))//g;
}
# Genericize C/C++ '<some type>', printf format '%<some format>', and
# "unknown warning group" into '-'
if($warning =~ /'[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\-\=]+[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\-\=\ ]*'/) {
$warning =~ s/'[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\-\=]+[A-Za-z_0-9\(\)\*\,\[\]\.\<\>\&\:\+\#\-\=\ ]*'/'-'/g;
}
if($warning =~ /'%[\#0\-\ \+]*[,;\:_]?[0-9\*]*\.?[0-9\*]*[hjltzL]*[aAcdeEfFgGinosuxX]'/) {
$warning =~ s/'%[\#0\-\ \+]*[,;\:_]?[0-9\*]*\.?[0-9\*]*[hjltzL]*[aAcdeEfFgGinosuxX]'/'-'/g;
}
# Genericize C/C++ "<macro>" warnings into "-"
if($warning =~ /"[A-Za-z_0-9]*"/) {
$warning =~ s/"[A-Za-z_0-9]*"/"-"/g;
}
# Genericize [GCC?] C/C++ warning text about suggessted attribute
if($warning =~ /attribute=[A-Za-z_0-9]*\]/) {
$warning =~ s/=[A-Za-z_0-9]*\]/=-\]/g;
}
# Genericize FORTRAN "at (<n>)" into "at (-)", "REAL(<n>)" into "REAL(-)",
# and "INTEGER(<n>)" into "INTEGER(-)"
if($warning =~ /.*at\s\([0-9]+\).*/) {
$warning =~ s/at\s\([0-9]+\)/at \(-\)/g;
}
if($warning =~ /.*REAL\([0-9]+\).*/) {
$warning =~ s/REAL\([0-9]+\)/REAL\(-\)/g;
}
if($warning =~ /.*INTEGER\([0-9]+\).*/) {
$warning =~ s/INTEGER\([0-9]+\)/INTEGER\(-\)/g;
}
# Genericize standalone numbers in warnings
if($warning =~ /(\s|')-?[0-9]+(\s|')/) {
$warning =~ s/-?[0-9]+/-/g;
}
# Genericize unusual GCC/G++/GFORTRAN warnings that aren't handled above
if($warning =~ /\[deprecation\] [A-Za-z_0-9]*\([A-Za-z_,0-9]*\) in [A-Za-z_0-9]* has been deprecated.*/) {
$warning =~ s/[A-Za-z_0-9]*\([A-Za-z_,0-9]*\) in [A-Za-z_0-9]*/-\(-\) in -/g;
}
}
# print "warning = $warning\n";
# <end possible GCC-specific code>
# Genericize warnings
if($warning =~ /variable '[A-Za-z_0-9]*' set but not used.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /unused variable '[A-Za-z_0-9]*'.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /implicit conversion from '[A-Za-z_0-9]*' to '[A-Za-z_0-9]*' when passing argument to function.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /implicit conversion from '[A-Za-z_0-9]*' to '[A-Za-z_0-9]*' to match other operand of binary expression.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /conversion to '[A-Za-z_0-9\s]*' from '[A-Za-z_0-9\s]*' may alter its value.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /conversion to '[A-Za-z_0-9\s]*' from '[A-Za-z_0-9\s]*' may change the sign of the result.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9\s]*' discards '[A-Za-z_0-9\s]*'.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /'[A-Za-z_0-9\s]*' defined but not used.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /cast discards '[A-Za-z_0-9\(\)\s]*'.*/) {
$warning =~ s/'[A-Za-z_0-9\(\)\s]*'/'-'/g;
} elsif($warning =~ /size of '[A-Za-z_0-9\(\)\s\*]*' is [0-9]* bytes.*/) {
$warning =~ s/is [0-9]* bytes/is - bytes/g;
$warning =~ s/'[A-Za-z_0-9\(\)\s\*]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9\(\)\s]*' from incompatible.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9\(\)\s]*'/'-'/g;
} elsif($warning =~ /stack usage is [0-9]* bytes.*/) {
$warning =~ s/stack usage is [0-9]*/stack usage is -/g;
} elsif($warning =~ /stack usage might be [0-9]* bytes.*/) {
$warning =~ s/stack usage might be [0-9]*/stack usage might be -/g;
} elsif($warning =~ /the frame size of [0-9]* bytes is larger than [0-9]* bytes.*/) {
$warning =~ s/the frame size of [0-9]* bytes is larger than [0-9]*/the frame size of - bytes is larger than -/g;
} elsif($warning =~ /enumeration value '[A-Za-z_0-9\s]*' not handled in switch.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /"[A-Za-z_0-9\s]*" is not defined.*/) {
$warning =~ s/"[A-Za-z_0-9\s]*"/"-"/g;
} elsif($warning =~ /macro "[A-Za-z_0-9\s]*" is not used.*/) {
$warning =~ s/"[A-Za-z_0-9\s]*"/"-"/g;
} elsif($warning =~ /unused parameter '[A-Za-z_0-9\s]*'.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /request for implicit conversion from '[A-Za-z_0-9\s\*]*' to '[A-Za-z_0-9\s\<\>\[\]\(\)\*]*' not permitted in C\+\+.*/) {
$warning =~ s/'[A-Za-z_0-9\s\*\<\>\[\]\(\)]*'/'-'/g;
} elsif($warning =~ /no previous prototype for '[A-Za-z_0-9\s]*'.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /declaration of '[A-Za-z_0-9\s]*' shadows a previous local.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /cast from function call of type '[A-Za-z_0-9\s\*]*' to non-matching type '[A-Za-z_0-9\s\*]*'.*/) {
$warning =~ s/'[A-Za-z_0-9\s\*]*'/'-'/g;
} elsif($warning =~ /'[A-Za-z_0-9\s]*' declared '[A-Za-z_0-9\s]*' but never defined.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /declaration of '[A-Za-z_0-9\s]*' shadows a global declaration.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /typedef '[A-Za-z_0-9\s]*' locally defined but not used.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /format '%[a-z]*' expects argument of type '[A-Za-z_0-9\s\*]*', but argument [0-9]* has type '[A-Za-z_0-9\s\*\(\),]*'.*/) {
$warning =~ s/but argument [0-9]*/but argument -/g;
$warning =~ s/'[%A-Za-z_0-9\s\*\(\),]*'/'-'/g;
} elsif($warning =~ /conversion to '[A-Za-z_0-9\s]*' alters '[A-Za-z_0-9\s]*' constant value.*/) {
$warning =~ s/'[A-Za-z_0-9\s]*'/'-'/g;
} elsif($warning =~ /to be safe all intermediate pointers in cast from '[A-Za-z_0-9\s\*]*' to '[A-Za-z_0-9\s\*]*' must be 'const' qualified.*/) {
$warning =~ s/'[A-Za-z_0-9\s\*]*'/'-'/g;
} elsif($warning =~ /identifier '[A-Za-z_0-9]*' conflicts with C\+\+ keyword.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /nested extern declaration of '[A-Za-z_0-9]*'.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Procedure '[A-Za-z_0-9]*' called with an implicit interface.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Unused dummy argument '[A-Za-z_0-9]*'.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Unused parameter '[A-Za-z_0-9]*' declared at.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Unused variable '[A-Za-z_0-9]*' declared at.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Inequality comparison for REAL\([0-9]*\) at.*/) {
$warning =~ s/REAL\([0-9]*\)/REAL\(-\)/g;
} elsif($warning =~ /Possible change of value in conversion from INTEGER\([0-9]*\) to (INTEGER|REAL)\([0-9]*\) at.*/) {
$warning =~ s/INTEGER\([0-9]*\)/INTEGER\(-\)/g;
$warning =~ s/REAL\([0-9]*\)/REAL\(-\)/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' with different width due to prototype.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' as unsigned due to prototype.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' discards qualifiers from pointer target type.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' as floating rather than integer due to prototype.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' as 'float' rather than 'double' due to prototype.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/;
} elsif($warning =~ /passing argument [0-9]* of '[A-Za-z_0-9]*' as signed due to prototype.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /format '\%[A-Za-z0-9]*' expects type '[a-z][a-z\s\*]*', but argument [0-9]* has type '[a-z][a-z\(\)_,\s\*]*'.*/) {
$warning =~ s/but argument [0-9]*/but argument -/g;
$warning =~ s/'\%[A-Za-z0-9]*'/'\%-'/g;
$warning =~ s/'[a-z][a-z_,\s\*\(\)]*'/'-'/g;
} elsif($warning =~ /implicit declaration of function '[A-Za-z_0-9]*'.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /'[A-Za-z_\.\[\]0-9]*' may be used uninitialized in this function.*/) {
$warning =~ s/'[A-Za-z_\.\[\]0-9]*'/'-'/g;
} elsif($warning =~ /redundant redeclaration of '[A-Za-z_0-9]*'.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /declaration of '[A-Za-z_0-9]*' shadows a parameter.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /ISO C90 does not support the '[a-z]*' gnu_scanf length modifier.*/) {
$warning =~ s/'[a-z]*'/'-'/g;
} elsif($warning =~ /ISO C90 does not support the '[a-z]*' gnu_printf length modifier.*/) {
$warning =~ s/'[a-z]*'/'-'/g;
} elsif($warning =~ /ISO C90 does not support the '%[a-z]*' gnu_printf format.*/) {
$warning =~ s/'%[a-z]*'/'%-'/g;
} elsif($warning =~ /string length '[0-9]*' is greater than the length.*/) {
$warning =~ s/string length '[0-9]*' is/string length '-' is/g;
} elsif($warning =~ /enum conversion when passing argument [0-9]* of '[A-Za-z_0-9]*' is invalid.*/) {
$warning =~ s/passing argument [0-9]*/passing argument -/g;
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /duplicate declaration of '[A-Za-z_0-9]*' is invalid in.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /Variable '[A-Za-z_0-9]*' at \([0-9]*\) is a dummy argument of the BIND\(C\) procedure '[A-Za-z_0-9]*' but may not be C interoperable.*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/at \([0-9]*\)/at \(-\)/g;
} elsif($warning =~ /Variable '[A-Za-z_0-9]*' at \([0-9]*\) may not be a C interoperable kind but it is BIND\(C\).*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/at \([0-9]*\)/at \(-\)/g;
} elsif($warning =~ /Component '[A-Za-z_0-9]*' in derived type '[A-Za-z_0-9]*' at \([0-9]*\) may not be C interoperable, even though derived type '[A-Za-z_0-9]*' is BIND\(C\).*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/at \([0-9]*\)/at \(-\)/g;
} elsif($warning =~ /function might be candidate for attribute '[A-Za-z_0-9]*' if it is known to return normally \[-Wsuggest-attribute=[A-Za-z_0-9]*\].*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/=[A-Za-z_0-9]*\]/=-\]/g;
} elsif($warning =~ /function might be candidate for attribute '[A-Za-z_0-9]*' \[-Wsuggest-attribute=[A-Za-z_0-9]*\].*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/=[A-Za-z_0-9]*\]/=-\]/g;
} elsif($warning =~ /passing argument [0-9]+ of '[A-Za-z_0-9]*' makes integer from pointer without a cast \[-Wint-conversion\].*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
$warning =~ s/[0-9]+/-/g;
} elsif($warning =~ /function '[A-Za-z_0-9]*' might be a candidate for '[A-Za-z_0-9]*' format attribute \[-Wsuggest-attribute=format\].*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /inlining failed in call to '[A-Za-z_0-9]*': call is unlikely and code size would grow \[-Winline\].*/) {
$warning =~ s/'[A-Za-z_0-9]*'/'-'/g;
} elsif($warning =~ /'%[0-9]*[\.\*]*[0-9]*[dfsu]' directive writing between [0-9]+ and [0-9]+ bytes into a region of size [0-9]+ \[-Wformat-overflow=\].*/) {
$warning =~ s/'%[0-9]*[\.\*]*[0-9]*[dfsu]'/'-'/g;
$warning =~ s/[0-9]+/-/g;
} elsif($warning =~ /'%[0-9]*[\.\*]*[0-9]*[dfsu]' directive writing between [0-9]+ and [0-9]+ bytes into a region of size between [0-9]+ and [0-9]+ \[-Wformat-overflow=\].*/) {
$warning =~ s/'%[0-9]*[\.\*]*[0-9]*[dfsu]'/'-'/g;
$warning =~ s/[0-9]+/-/g;
} elsif($warning =~ /'%[0-9]*[\.\*]*[0-9]*[dfsu]' directive output may be truncated writing between [0-9]+ and [0-9]+ bytes into a region of size [0-9]+ \[-Wformat-truncation=\].*/) {
$warning =~ s/'%[0-9]*[\.\*]*[0-9]*[dfsu]'/'-'/g;
$warning =~ s/[0-9]+/-/g;
} elsif($warning =~ /'%[0-9]*[\.\*]*[0-9]*[dfsu]' directive output may be truncated writing up to [0-9]+ bytes into a region of size [0-9]+ \[-Wformat-truncation=\].*/) {
$warning =~ s/'%[0-9]*[\.\*]*[0-9]*[dfsu]'/'-'/g;
$warning =~ s/[0-9]+/-/g;
} elsif($warning =~ /'%[0-9]*[\.\*]*[0-9]*[dfsu]' directive output may be truncated writing between [0-9]+ and [0-9]+ bytes into a region of size between [0-9]+ and [0-9]+ \[-Wformat-truncation=\].*/) {
$warning =~ s/'%[0-9]*[\.\*]*[0-9]*[dfsu]'/'-'/g;
$warning =~ s/[0-9]+/-/g;
# Check if we've already seen this warning on this line in this file
# (Can happen for warnings from inside header files)
if( !exists $warn_file_line{$warning}{$name}{$line} ) {
# Increment count for [generic] warning
$warn_count{$warning}++;
$warn_file{$warning}{$name}++;
$warn_file_line{$warning}{$name}{$line}++;
# Increment count for filename
$file_count{$name}++;
$file_warn{$name}{$warning}++;
$file_warn_line{$name}{$warning}{$line}++;
# Increment total count of warnings
$totalcount++;
}
# Increment count for [generic] warning
$warn_count{$warning}++;
$warn_file{$warning}{$name}++;
push(@{ $warn_file_line{$warning}{$name} }, $line);
# Increment count for filename
$file_count{$name}++;
$file_warn{$name}{$warning}++;
push(@{ $file_warn_line{$name}{$warning} }, $line);
# Increment total count of warnings
$totalcount++;
# print "name = $name\n";
# print "line = $line\n";
# print "offset = $offset\n";
# print "warning = \"$warning\"\n";
}
print "Total [non-ignored] warnings: $totalcount\n";
print "Total unique [non-ignored] warnings: $totalcount\n";
print "Total ignored warnings: $ignorecount\n";
$warncount = keys %warn_count;
print "Total unique kinds of warnings: $warncount\n";
@@ -464,18 +440,33 @@ print "# of Warnings by frequency (file count)\n";
print "=======================================\n";
for my $x (sort {$warn_count{$b} <=> $warn_count{$a}} keys(%warn_count)) {
printf ("[%2d] %4d (%2d) - %s\n", $current_warning++, $warn_count{$x}, scalar(keys %{$warn_file_line{$x}}), $x);
if((exists $options{W}) || (exists $options{w})) {
if((exists $options{W}) || (exists $options{w}) || (exists $options{s})) {
my $curr_index = $current_warning - 1;
my $match = 0;
# Check for string from list in current warning
if(exists $options{s}) {
for my $y (@warn_match_strings) {
# print "y = '$y'\n";
if($x =~ /$y/) {
# print "matched warning = '$x'\n";
$match = 1;
last;
}
}
}
# Check if current warning index matches
if((exists $warn_file_indices{$curr_index}) && $curr_index == $warn_file_indices{$curr_index}) {
$match = 1;
}
if($match) {
for my $y (sort {$warn_file{$x}{$b} <=> $warn_file{$x}{$a}} keys(%{$warn_file{$x}})) {
printf ("\t%4d - %s\n", $warn_file{$x}{$y}, $y);
if(exists $options{l}) {
printf ("\t\tLines: ");
for my $z ( @{ $warn_file_line{$x}{$y} } ) {
printf ("%s, ", $z);
}
printf("\n");
my $lines = join ", ", sort {$a <=> $b} keys %{$warn_file_line{$x}{$y}};
printf("\t\tLines: $lines \n");
}
}
}
@@ -487,18 +478,33 @@ print "\n# of Warnings by filename (warning type)\n";
print "========================================\n";
for my $x (sort {$file_count{$b} <=> $file_count{$a}} keys(%file_count)) {
printf ("[%3d] %4d (%2d) - %s\n", $current_file++, $file_count{$x}, scalar(keys %{$file_warn_line{$x}}), $x);
if((exists $options{F}) || (exists $options{f})) {
if((exists $options{F}) || (exists $options{f}) || (exists $options{S})) {
my $curr_index = $current_file - 1;
my $match = 0;
# Check for string from list in current file
if(exists $options{S}) {
for my $y (@file_match_strings) {
# print "y = '$y'\n";
if($x =~ /$y/) {
# print "matched warning = '$x'\n";
$match = 1;
last;
}
}
}
# Check if current file index matches
if((exists $file_warn_indices{$curr_index}) && $curr_index == $file_warn_indices{$curr_index}) {
$match = 1;
}
if($match) {
for my $y (sort {$file_warn{$x}{$b} <=> $file_warn{$x}{$a}} keys(%{$file_warn{$x}})) {
printf ("\t%4d - %s\n", $file_warn{$x}{$y}, $y);
if(exists $options{l}) {
printf ("\t\tLines: ");
for my $z ( @{ $file_warn_line{$x}{$y} } ) {
printf ("%s, ", $z);
}
printf("\n");
my $lines = join ", ", sort {$a <=> $b} keys %{$file_warn_line{$x}{$y}};
printf("\t\tLines: $lines \n");
}
}
}
@@ -506,9 +512,12 @@ for my $x (sort {$file_count{$b} <=> $file_count{$a}} keys(%file_count)) {
}
# Print names of files that were ignored
print "\nIgnored filenames\n";
print "=================\n";
for my $x (sort keys(%ignored_files)) {
print "$x\n";
# Check for ignored file
if(exists $options{i}) {
print "\nIgnored filenames\n";
print "=================\n";
for my $x (sort keys(%ignored_files)) {
print "$x\n";
}
}

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
project (HDF5_CPP CXX)
add_subdirectory (src)

View File

@@ -14,7 +14,7 @@
## Run automake to generate a Makefile.in from this file.
#
# Top-level HDF5-C++ Makefile(.in)
#
#
include $(top_srcdir)/config/commence.am

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
project (HDF5_CPP_EXAMPLES CXX)
# --------------------------------------------------------------------
@@ -41,6 +41,11 @@ foreach (example ${examples})
else ()
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
if (MINGW)
target_link_options (${HDF5_CPP_LIBSH_TARGET}
PRIVATE -static-libgcc -static-libstdc++
)
endif ()
endif ()
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach ()
@@ -54,10 +59,15 @@ foreach (example ${tutr_examples})
else ()
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
if (MINGW)
target_link_options (${HDF5_CPP_LIBSH_TARGET}
PRIVATE -static-libgcc -static-libstdc++
)
endif ()
endif ()
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach ()
if (BUILD_TESTING)
if (BUILD_TESTING AND HDF5_TEST_CPP AND HDF5_TEST_EXAMPLES AND HDF5_TEST_SERIAL)
include (CMakeTests.cmake)
endif ()

View File

@@ -16,81 +16,79 @@
##############################################################################
##############################################################################
# Remove any output file left over from previous test run
add_test (
NAME CPP_ex-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
Group.h5
SDS.h5
SDScompound.h5
SDSextendible.h5
Select.h5
)
if (last_test)
set_tests_properties (CPP_ex-clear-objects PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex-clear-objects")
add_test (
NAME CPP_ex-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
Group.h5
SDS.h5
SDScompound.h5
SDSextendible.h5
Select.h5
)
set_tests_properties (CPP_ex-clear-objects PROPERTIES FIXTURES_SETUP clear_cppex)
foreach (example ${examples})
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME CPP_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
else ()
add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_ex_${example}>"
-D "TEST_ARGS:STRING="
-D "TEST_EXPECT=0"
-D "TEST_SKIP_COMPARE=TRUE"
-D "TEST_OUTPUT=cpp_ex_${example}.txt"
#-D "TEST_REFERENCE=cpp_ex_${example}.out"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
endif ()
if (last_test)
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex_${example}")
endforeach ()
foreach (example ${examples})
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME CPP_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:cpp_ex_${example}>)
else ()
add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_ex_${example}>"
-D "TEST_ARGS:STRING="
-D "TEST_EXPECT=0"
-D "TEST_SKIP_COMPARE=TRUE"
-D "TEST_OUTPUT=cpp_ex_${example}.txt"
#-D "TEST_REFERENCE=cpp_ex_${example}.out"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
endif ()
set_tests_properties (CPP_ex_${example} PROPERTIES FIXTURES_REQUIRED clear_cppex)
if (last_test)
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex_${example}")
endforeach ()
#the following dependencies are handled by the order of the files
# SET_TESTS_PROPERTIES(CPP_ex_readdata PROPERTIES DEPENDS CPP_ex_create)
# SET_TESTS_PROPERTIES(CPP_ex_chunks PROPERTIES DEPENDS CPP_ex_extend_ds)
add_test (
NAME CPP_ex_tutr-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
h5tutr_cmprss.h5
h5tutr_dset.h5
h5tutr_extend.h5
h5tutr_group.h5
h5tutr_groups.h5
h5tutr_subset.h5
)
if (last_test)
set_tests_properties (CPP_ex_tutr-clear-objects PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex_tutr-clear-objects")
add_test (
NAME CPP_ex_tutr-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
h5tutr_cmprss.h5
h5tutr_dset.h5
h5tutr_extend.h5
h5tutr_group.h5
h5tutr_groups.h5
h5tutr_subset.h5
)
set_tests_properties (CPP_ex_tutr-clear-objects PROPERTIES FIXTURES_SETUP clear_cppex_tutr)
foreach (example ${tutr_examples})
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME CPP_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
else ()
add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_ex_${example}>"
-D "TEST_ARGS:STRING="
-D "TEST_EXPECT=0"
-D "TEST_SKIP_COMPARE=TRUE"
-D "TEST_OUTPUT=cpp_ex_${example}.txt"
#-D "TEST_REFERENCE=cpp_ex_${example}.out"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
endif ()
if (last_test)
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex_${example}")
endforeach ()
foreach (example ${tutr_examples})
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME CPP_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:cpp_ex_${example}>)
else ()
add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_ex_${example}>"
-D "TEST_ARGS:STRING="
-D "TEST_EXPECT=0"
-D "TEST_SKIP_COMPARE=TRUE"
-D "TEST_OUTPUT=cpp_ex_${example}.txt"
#-D "TEST_REFERENCE=cpp_ex_${example}.out"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
endif ()
set_tests_properties (CPP_ex_${example} PROPERTIES FIXTURES_REQUIRED clear_cppex_tutr)
if (last_test)
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
endif ()
set (last_test "CPP_ex_${example}")
endforeach ()
#the following dependencies are handled by the order of the files
# SET_TESTS_PROPERTIES(CPP_ex_h5tutr_crtatt PROPERTIES DEPENDS CPP_ex_h5tutr_crtdat)
# SET_TESTS_PROPERTIES(CPP_ex_h5tutr_rdwt PROPERTIES DEPENDS CPP_ex_h5tutr_crtdat)

View File

@@ -49,8 +49,8 @@ CXX_API=yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples
EXAMPLEDIR=${DESTDIR}$(examplesdir)/c++
EXAMPLETOPDIR=${DESTDIR}$(examplesdir)
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)

View File

@@ -37,194 +37,194 @@ const int RANKC = 1;
int main (void)
{
hsize_t i, j;
hsize_t i, j;
// Try block to detect exceptions raised by any of the calls inside it
try
{
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Open the file and the dataset.
*/
H5File file( FILE_NAME, H5F_ACC_RDONLY );
DataSet dataset = file.openDataSet( DATASET_NAME );
/*
* Open the file and the dataset.
*/
H5File file( FILE_NAME, H5F_ACC_RDONLY );
DataSet dataset = file.openDataSet( DATASET_NAME );
/*
* Get filespace for rank and dimension
*/
DataSpace filespace = dataset.getSpace();
/*
* Get filespace for rank and dimension
*/
DataSpace filespace = dataset.getSpace();
/*
* Get number of dimensions in the file dataspace
*/
int rank = filespace.getSimpleExtentNdims();
/*
* Get number of dimensions in the file dataspace
*/
int rank = filespace.getSimpleExtentNdims();
/*
* Get and print the dimension sizes of the file dataspace
*/
hsize_t dims[2]; // dataset dimensions
rank = filespace.getSimpleExtentDims( dims );
cout << "dataset rank = " << rank << ", dimensions "
<< (unsigned long)(dims[0]) << " x "
<< (unsigned long)(dims[1]) << endl;
/*
* Get and print the dimension sizes of the file dataspace
*/
hsize_t dims[2]; // dataset dimensions
rank = filespace.getSimpleExtentDims( dims );
cout << "dataset rank = " << rank << ", dimensions "
<< (unsigned long)(dims[0]) << " x "
<< (unsigned long)(dims[1]) << endl;
/*
* Define the memory space to read dataset.
*/
DataSpace mspace1(RANK, dims);
/*
* Define the memory space to read dataset.
*/
DataSpace mspace1(RANK, dims);
/*
* Read dataset back and display.
*/
int data_out[NX][NY]; // buffer for dataset to be read
dataset.read( data_out, PredType::NATIVE_INT, mspace1, filespace );
/*
* Read dataset back and display.
*/
int data_out[NX][NY]; // buffer for dataset to be read
dataset.read( data_out, PredType::NATIVE_INT, mspace1, filespace );
cout << "\n";
cout << "Dataset: \n";
for (j = 0; j < dims[0]; j++)
{
for (i = 0; i < dims[1]; i++)
cout << data_out[j][i] << " ";
cout << endl;
}
cout << "\n";
cout << "Dataset: \n";
for (j = 0; j < dims[0]; j++)
{
for (i = 0; i < dims[1]; i++)
cout << data_out[j][i] << " ";
cout << endl;
}
/*
* dataset rank 2, dimensions 10 x 5
* chunk rank 2, dimensions 2 x 5
/*
* dataset rank 2, dimensions 10 x 5
* chunk rank 2, dimensions 2 x 5
* Dataset:
* 1 1 1 3 3
* 1 1 1 3 3
* 1 1 1 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
*/
* Dataset:
* 1 1 1 3 3
* 1 1 1 3 3
* 1 1 1 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
*/
/*
* Read the third column from the dataset.
* First define memory dataspace, then define hyperslab
* and read it into column array.
*/
hsize_t col_dims[1];
col_dims[0] = 10;
DataSpace mspace2( RANKC, col_dims );
/*
* Read the third column from the dataset.
* First define memory dataspace, then define hyperslab
* and read it into column array.
*/
hsize_t col_dims[1];
col_dims[0] = 10;
DataSpace mspace2( RANKC, col_dims );
/*
* Define the column (hyperslab) to read.
*/
hsize_t offset[2] = { 0, 2 };
hsize_t count[2] = { 10, 1 };
int column[10]; // buffer for column to be read
/*
* Define the column (hyperslab) to read.
*/
hsize_t offset[2] = { 0, 2 };
hsize_t count[2] = { 10, 1 };
int column[10]; // buffer for column to be read
/*
* Define hyperslab and read.
*/
filespace.selectHyperslab( H5S_SELECT_SET, count, offset );
dataset.read( column, PredType::NATIVE_INT, mspace2, filespace );
/*
* Define hyperslab and read.
*/
filespace.selectHyperslab( H5S_SELECT_SET, count, offset );
dataset.read( column, PredType::NATIVE_INT, mspace2, filespace );
cout << endl;
cout << "Third column: " << endl;
for (i = 0; i < 10; i++)
cout << column[i] << endl;
cout << endl;
cout << "Third column: " << endl;
for (i = 0; i < 10; i++)
cout << column[i] << endl;
/*
* Third column:
* 1
* 1
* 1
* 0
* 0
* 0
* 0
* 0
* 0
* 0
*/
/*
* Third column:
* 1
* 1
* 1
* 0
* 0
* 0
* 0
* 0
* 0
* 0
*/
/*
* Get creation properties list.
*/
DSetCreatPropList cparms = dataset.getCreatePlist();
/*
* Get creation properties list.
*/
DSetCreatPropList cparms = dataset.getCreatePlist();
/*
* Check if dataset is chunked.
*/
hsize_t chunk_dims[2];
int rank_chunk;
if( H5D_CHUNKED == cparms.getLayout() )
{
/*
* Get chunking information: rank and dimensions
*/
rank_chunk = cparms.getChunk( 2, chunk_dims);
cout << "chunk rank " << rank_chunk << "dimensions "
<< (unsigned long)(chunk_dims[0]) << " x "
<< (unsigned long)(chunk_dims[1]) << endl;
/*
* Check if dataset is chunked.
*/
hsize_t chunk_dims[2];
int rank_chunk;
if( H5D_CHUNKED == cparms.getLayout() )
{
/*
* Get chunking information: rank and dimensions
*/
rank_chunk = cparms.getChunk( 2, chunk_dims);
cout << "chunk rank " << rank_chunk << "dimensions "
<< (unsigned long)(chunk_dims[0]) << " x "
<< (unsigned long)(chunk_dims[1]) << endl;
/*
* Define the memory space to read a chunk.
*/
DataSpace mspace3( rank_chunk, chunk_dims );
/*
* Define the memory space to read a chunk.
*/
DataSpace mspace3( rank_chunk, chunk_dims );
/*
* Define chunk in the file (hyperslab) to read.
*/
offset[0] = 2;
offset[1] = 0;
count[0] = chunk_dims[0];
count[1] = chunk_dims[1];
filespace.selectHyperslab( H5S_SELECT_SET, count, offset );
/*
* Define chunk in the file (hyperslab) to read.
*/
offset[0] = 2;
offset[1] = 0;
count[0] = chunk_dims[0];
count[1] = chunk_dims[1];
filespace.selectHyperslab( H5S_SELECT_SET, count, offset );
/*
* Read chunk back and display.
*/
int chunk_out[2][5]; // buffer for chunk to be read
dataset.read( chunk_out, PredType::NATIVE_INT, mspace3, filespace );
cout << endl;
cout << "Chunk:" << endl;
for (j = 0; j < chunk_dims[0]; j++)
{
for (i = 0; i < chunk_dims[1]; i++)
cout << chunk_out[j][i] << " ";
cout << endl;
}
/*
* Chunk:
* 1 1 1 0 0
* 2 0 0 0 0
*/
}
/*
* Read chunk back and display.
*/
int chunk_out[2][5]; // buffer for chunk to be read
dataset.read( chunk_out, PredType::NATIVE_INT, mspace3, filespace );
cout << endl;
cout << "Chunk:" << endl;
for (j = 0; j < chunk_dims[0]; j++)
{
for (i = 0; i < chunk_dims[1]; i++)
cout << chunk_out[j][i] << " ";
cout << endl;
}
/*
* Chunk:
* 1 1 1 0 0
* 2 0 0 0 0
*/
}
} // end of try block
// catch failure caused by the H5File operations
catch( FileIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch( DataSetIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch( DataSpaceIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;
}

View File

@@ -41,15 +41,15 @@ int main(void)
{
/* First structure and dataset*/
typedef struct s1_t {
int a;
float b;
double c;
int a;
float b;
double c;
} s1_t;
/* Second structure (subset of s1_t) and dataset*/
typedef struct s2_t {
double c;
int a;
double c;
int a;
} s2_t;
// Try block to detect exceptions raised by any of the calls inside it
@@ -135,12 +135,12 @@ int main(void)
*/
cout << endl << "Field c : " << endl;
for( i = 0; i < LENGTH; i++)
cout << s2[i].c << " ";
cout << s2[i].c << " ";
cout << endl;
cout << endl << "Field a : " << endl;
for( i = 0; i < LENGTH; i++)
cout << s2[i].a << " ";
cout << s2[i].a << " ";
cout << endl;
/*
@@ -161,7 +161,7 @@ int main(void)
*/
cout << endl << "Field b : " << endl;
for( i = 0; i < LENGTH; i++)
cout << s3[i] << " ";
cout << s3[i] << " ";
cout << endl;
/*

View File

@@ -25,11 +25,11 @@
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME( "SDS.h5" );
const H5std_string DATASET_NAME( "IntArray" );
const int NX = 5; // dataset dimensions
const int NY = 6;
const int RANK = 2;
const H5std_string FILE_NAME( "SDS.h5" );
const H5std_string DATASET_NAME( "IntArray" );
const int NX = 5; // dataset dimensions
const int NY = 6;
const int RANK = 2;
int main (void)
{
@@ -41,7 +41,7 @@ int main (void)
for (j = 0; j < NX; j++)
{
for (i = 0; i < NY; i++)
data[j][i] = i + j;
data[j][i] = i + j;
}
/*
* 0 1 2 3 4 5

View File

@@ -105,8 +105,8 @@ int main (void)
* Write the data to the hyperslab.
*/
int data1[3][3] = { {1, 1, 1}, /* data to write */
{1, 1, 1},
{1, 1, 1} };
{1, 1, 1},
{1, 1, 1} };
dataset.write( data1, PredType::NATIVE_INT, mspace1, fspace1 );
/*
@@ -179,16 +179,16 @@ int main (void)
/*
* Resulting dataset
*
* 1 1 1 3 3
* 1 1 1 3 3
* 1 1 1 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 1 1 1 3 3
* 1 1 1 3 3
* 1 1 1 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
* 2 0 0 0 0
*/
/*
* Display the result.

View File

@@ -33,10 +33,10 @@ using std::endl;
using namespace H5;
const H5std_string FILE_NAME( "Group.h5" );
const int RANK = 2;
const int RANK = 2;
// Operator function
extern "C" herr_t file_info(hid_t loc_id, const char *name, const H5L_info_t *linfo,
extern "C" herr_t file_info(hid_t loc_id, const char *name, const H5L_info2_t *linfo,
void *opdata);
int main(void)
@@ -48,169 +48,169 @@ int main(void)
// Try block to detect exceptions raised by any of the calls inside it
try
{
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Create the named file, truncating the existing one if any,
* using default create and access property lists.
*/
H5File *file = new H5File( FILE_NAME, H5F_ACC_TRUNC );
/*
* Create the named file, truncating the existing one if any,
* using default create and access property lists.
*/
H5File *file = new H5File( FILE_NAME, H5F_ACC_TRUNC );
/*
* Create a group in the file
*/
Group* group = new Group( file->createGroup( "/Data" ));
/*
* Create a group in the file
*/
Group* group = new Group( file->createGroup( "/Data" ));
/*
* Create dataset "Compressed Data" in the group using absolute
* name. Dataset creation property list is modified to use
* GZIP compression with the compression effort set to 6.
* Note that compression can be used only when dataset is chunked.
*/
dims[0] = 1000;
dims[1] = 20;
cdims[0] = 20;
cdims[1] = 20;
DataSpace *dataspace = new DataSpace(RANK, dims); // create new dspace
DSetCreatPropList ds_creatplist; // create dataset creation prop list
ds_creatplist.setChunk( 2, cdims ); // then modify it for compression
ds_creatplist.setDeflate( 6 );
/*
* Create dataset "Compressed Data" in the group using absolute
* name. Dataset creation property list is modified to use
* GZIP compression with the compression effort set to 6.
* Note that compression can be used only when dataset is chunked.
*/
dims[0] = 1000;
dims[1] = 20;
cdims[0] = 20;
cdims[1] = 20;
DataSpace *dataspace = new DataSpace(RANK, dims); // create new dspace
DSetCreatPropList ds_creatplist; // create dataset creation prop list
ds_creatplist.setChunk( 2, cdims ); // then modify it for compression
ds_creatplist.setDeflate( 6 );
/*
* Create the first dataset.
*/
DataSet* dataset = new DataSet(file->createDataSet(
"/Data/Compressed_Data", PredType::NATIVE_INT,
*dataspace, ds_creatplist ));
/*
* Create the first dataset.
*/
DataSet* dataset = new DataSet(file->createDataSet(
"/Data/Compressed_Data", PredType::NATIVE_INT,
*dataspace, ds_creatplist ));
/*
* Close the first dataset.
*/
delete dataset;
delete dataspace;
/*
* Close the first dataset.
*/
delete dataset;
delete dataspace;
/*
* Create the second dataset.
*/
dims[0] = 500;
dims[1] = 20;
dataspace = new DataSpace(RANK, dims); // create second dspace
dataset = new DataSet(file->createDataSet("/Data/Float_Data",
PredType::NATIVE_FLOAT, *dataspace));
/*
* Create the second dataset.
*/
dims[0] = 500;
dims[1] = 20;
dataspace = new DataSpace(RANK, dims); // create second dspace
dataset = new DataSet(file->createDataSet("/Data/Float_Data",
PredType::NATIVE_FLOAT, *dataspace));
delete dataset;
delete dataspace;
delete group;
delete file;
delete dataset;
delete dataspace;
delete group;
delete file;
/*
* Now reopen the file and group in the file.
*/
file = new H5File(FILE_NAME, H5F_ACC_RDWR);
group = new Group(file->openGroup("Data"));
/*
* Now reopen the file and group in the file.
*/
file = new H5File(FILE_NAME, H5F_ACC_RDWR);
group = new Group(file->openGroup("Data"));
/*
* Access "Compressed_Data" dataset in the group.
*/
try { // to determine if the dataset exists in the group
dataset = new DataSet( group->openDataSet( "Compressed_Data" ));
}
catch( GroupIException not_found_error ) {
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data/Compressed_Data\" is open" << endl;
/*
* Access "Compressed_Data" dataset in the group.
*/
try { // to determine if the dataset exists in the group
dataset = new DataSet( group->openDataSet( "Compressed_Data" ));
}
catch( GroupIException not_found_error ) {
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data/Compressed_Data\" is open" << endl;
/*
* Close the dataset.
*/
delete dataset;
/*
* Close the dataset.
*/
delete dataset;
/*
* Create hard link to the Data group.
*/
file->link( H5L_TYPE_HARD, "Data", "Data_new" );
/*
* Create hard link to the Data group.
*/
file->link( H5L_TYPE_HARD, "Data", "Data_new" );
/*
* We can access "Compressed_Data" dataset using created
* hard link "Data_new".
*/
try { // to determine if the dataset exists in the file
dataset = new DataSet(file->openDataSet( "/Data_new/Compressed_Data" ));
}
catch( FileIException not_found_error )
{
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data_new/Compressed_Data\" is open" << endl;
/*
* We can access "Compressed_Data" dataset using created
* hard link "Data_new".
*/
try { // to determine if the dataset exists in the file
dataset = new DataSet(file->openDataSet( "/Data_new/Compressed_Data" ));
}
catch( FileIException not_found_error )
{
cout << " Dataset is not found." << endl;
}
cout << "dataset \"/Data_new/Compressed_Data\" is open" << endl;
/*
* Close the dataset.
*/
delete dataset;
/*
* Close the dataset.
*/
delete dataset;
/*
* Use iterator to see the names of the objects in the file
* root directory.
*/
cout << endl << "Iterating over elements in the file" << endl;
herr_t idx = H5Literate(file->getId(), H5_INDEX_NAME, H5_ITER_INC, NULL, file_info, NULL);
cout << endl;
/*
* Use iterator to see the names of the objects in the file
* root directory.
*/
cout << endl << "Iterating over elements in the file" << endl;
herr_t idx = H5Literate2(file->getId(), H5_INDEX_NAME, H5_ITER_INC, NULL, file_info, NULL);
cout << endl;
/*
* Unlink name "Data" and use iterator to see the names
* of the objects in the file root direvtory.
*/
cout << "Unlinking..." << endl;
try { // attempt to unlink the dataset
file->unlink( "Data" );
}
catch( FileIException unlink_error )
{
cout << " unlink failed." << endl;
}
cout << "\"Data\" is unlinked" << endl;
/*
* Unlink name "Data" and use iterator to see the names
* of the objects in the file root direvtory.
*/
cout << "Unlinking..." << endl;
try { // attempt to unlink the dataset
file->unlink( "Data" );
}
catch( FileIException unlink_error )
{
cout << " unlink failed." << endl;
}
cout << "\"Data\" is unlinked" << endl;
cout << endl << "Iterating over elements in the file again" << endl;
idx = H5Literate(file->getId(), H5_INDEX_NAME, H5_ITER_INC, NULL, file_info, NULL);
cout << endl;
cout << endl << "Iterating over elements in the file again" << endl;
idx = H5Literate2(file->getId(), H5_INDEX_NAME, H5_ITER_INC, NULL, file_info, NULL);
cout << endl;
/*
* Close the group and file.
*/
delete group;
delete file;
/*
* Close the group and file.
*/
delete group;
delete file;
} // end of try block
// catch failure caused by the H5File operations
catch( FileIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch( DataSetIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch( DataSpaceIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the Attribute operations
catch( AttributeIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;
}
@@ -219,7 +219,7 @@ int main(void)
* Operator function.
*/
herr_t
file_info(hid_t loc_id, const char *name, const H5L_info_t *linfo, void *opdata)
file_info(hid_t loc_id, const char *name, const H5L_info2_t *linfo, void *opdata)
{
hid_t group;

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -24,130 +24,130 @@ using std::endl;
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME("h5tutr_cmprss.h5");
const H5std_string DATASET_NAME("Compressed_Data");
const int DIM0 = 100;
const int DIM1 = 20;
const H5std_string FILE_NAME("h5tutr_cmprss.h5");
const H5std_string DATASET_NAME("Compressed_Data");
const int DIM0 = 100;
const int DIM1 = 20;
int main (void)
{
hsize_t dims[2] = { DIM0, DIM1 }; // dataset dimensions
hsize_t chunk_dims[2] = { 20, 20 }; // chunk dimensions
hsize_t dims[2] = { DIM0, DIM1 }; // dataset dimensions
hsize_t chunk_dims[2] = { 20, 20 }; // chunk dimensions
int i,j, buf[DIM0][DIM1];
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create the data space for the dataset.
DataSpace *dataspace = new DataSpace(2, dims);
// Create the data space for the dataset.
DataSpace *dataspace = new DataSpace(2, dims);
// Modify dataset creation property to enable chunking
DSetCreatPropList *plist = new DSetCreatPropList;
plist->setChunk(2, chunk_dims);
// Modify dataset creation property to enable chunking
DSetCreatPropList *plist = new DSetCreatPropList;
plist->setChunk(2, chunk_dims);
// Set ZLIB (DEFLATE) Compression using level 6.
// To use SZIP compression comment out this line.
plist->setDeflate(6);
// Set ZLIB (DEFLATE) Compression using level 6.
// To use SZIP compression comment out this line.
plist->setDeflate(6);
// Uncomment these lines to set SZIP Compression
// unsigned szip_options_mask = H5_SZIP_NN_OPTION_MASK;
// unsigned szip_pixels_per_block = 16;
// plist->setSzip(szip_options_mask, szip_pixels_per_block);
// Create the dataset.
DataSet *dataset = new DataSet(file.createDataSet( DATASET_NAME,
PredType::STD_I32BE, *dataspace, *plist) );
// Uncomment these lines to set SZIP Compression
// unsigned szip_options_mask = H5_SZIP_NN_OPTION_MASK;
// unsigned szip_pixels_per_block = 16;
// plist->setSzip(szip_options_mask, szip_pixels_per_block);
for (i = 0; i< DIM0; i++)
for (j=0; j<DIM1; j++)
buf[i][j] = i+j;
// Create the dataset.
DataSet *dataset = new DataSet(file.createDataSet( DATASET_NAME,
PredType::STD_I32BE, *dataspace, *plist) );
// Write data to dataset.
dataset->write(buf, PredType::NATIVE_INT);
for (i = 0; i< DIM0; i++)
for (j=0; j<DIM1; j++)
buf[i][j] = i+j;
// Close objects and file. Either approach will close the HDF5 item.
delete dataspace;
delete dataset;
delete plist;
file.close();
// Write data to dataset.
dataset->write(buf, PredType::NATIVE_INT);
// -----------------------------------------------
// Re-open the file and dataset, retrieve filter
// information for dataset and read the data back.
// -----------------------------------------------
int rbuf[DIM0][DIM1];
int numfilt;
size_t nelmts={1}, namelen={1};
unsigned flags, filter_info, cd_values[1], idx;
char name[1];
H5Z_filter_t filter_type;
// Close objects and file. Either approach will close the HDF5 item.
delete dataspace;
delete dataset;
delete plist;
file.close();
// Open the file and the dataset in the file.
file.openFile(FILE_NAME, H5F_ACC_RDONLY);
dataset = new DataSet(file.openDataSet( DATASET_NAME));
// -----------------------------------------------
// Re-open the file and dataset, retrieve filter
// information for dataset and read the data back.
// -----------------------------------------------
// Get the create property list of the dataset.
plist = new DSetCreatPropList(dataset->getCreatePlist ());
int rbuf[DIM0][DIM1];
int numfilt;
size_t nelmts={1}, namelen={1};
unsigned flags, filter_info, cd_values[1], idx;
char name[1];
H5Z_filter_t filter_type;
// Get the number of filters associated with the dataset.
numfilt = plist->getNfilters();
cout << "Number of filters associated with dataset: " << numfilt << endl;
// Open the file and the dataset in the file.
file.openFile(FILE_NAME, H5F_ACC_RDONLY);
dataset = new DataSet(file.openDataSet( DATASET_NAME));
for (idx=0; idx < numfilt; idx++) {
nelmts = 0;
// Get the create property list of the dataset.
plist = new DSetCreatPropList(dataset->getCreatePlist ());
filter_type = plist->getFilter(idx, flags, nelmts, cd_values, namelen, name , filter_info);
// Get the number of filters associated with the dataset.
numfilt = plist->getNfilters();
cout << "Number of filters associated with dataset: " << numfilt << endl;
cout << "Filter Type: ";
for (idx=0; idx < numfilt; idx++) {
nelmts = 0;
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
cout << "H5Z_FILTER_DEFLATE" << endl;
break;
case H5Z_FILTER_SZIP:
cout << "H5Z_FILTER_SZIP" << endl;
break;
default:
cout << "Other filter type included." << endl;
}
}
filter_type = plist->getFilter(idx, flags, nelmts, cd_values, namelen, name , filter_info);
// Read data.
dataset->read(rbuf, PredType::NATIVE_INT);
cout << "Filter Type: ";
delete plist;
delete dataset;
file.close(); // can be skipped
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
cout << "H5Z_FILTER_DEFLATE" << endl;
break;
case H5Z_FILTER_SZIP:
cout << "H5Z_FILTER_SZIP" << endl;
break;
default:
cout << "Other filter type included." << endl;
}
}
// Read data.
dataset->read(rbuf, PredType::NATIVE_INT);
delete plist;
delete dataset;
file.close(); // can be skipped
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch(DataSpaceIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -21,67 +21,67 @@
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME( "h5tutr_dset.h5" );
const H5std_string DATASET_NAME( "dset" );
const H5std_string ATTR_NAME( "Units" );
const H5std_string FILE_NAME( "h5tutr_dset.h5" );
const H5std_string DATASET_NAME( "dset" );
const H5std_string ATTR_NAME( "Units" );
const int DIM1 = 2;
const int DIM1 = 2;
int main (void)
{
int attr_data[2] = { 100, 200};
hsize_t dims[1] = { DIM1 };
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Open an existing file and dataset.
H5File file( FILE_NAME, H5F_ACC_RDWR );
DataSet dataset = file.openDataSet( DATASET_NAME );
// Open an existing file and dataset.
H5File file( FILE_NAME, H5F_ACC_RDWR );
DataSet dataset = file.openDataSet( DATASET_NAME );
// Create the data space for the attribute.
DataSpace attr_dataspace = DataSpace (1, dims );
// Create the data space for the attribute.
DataSpace attr_dataspace = DataSpace (1, dims );
// Create a dataset attribute.
Attribute attribute = dataset.createAttribute( ATTR_NAME, PredType::STD_I32BE,
attr_dataspace);
// Write the attribute data.
attribute.write( PredType::NATIVE_INT, attr_data);
// Create a dataset attribute.
Attribute attribute = dataset.createAttribute( ATTR_NAME, PredType::STD_I32BE,
attr_dataspace);
// Write the attribute data.
attribute.write( PredType::NATIVE_INT, attr_data);
} // end of try block
// catch failure caused by the H5File operations
catch( DataSpaceIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the H5File operations
catch( AttributeIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the H5File operations
catch( FileIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch( DataSetIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -18,57 +18,58 @@
#include <iostream>
#include <string>
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME("h5tutr_dset.h5");
const H5std_string DATASET_NAME("dset");
const int NX = 4; // dataset dimensions
const int NY = 6;
const int RANK = 2;
const H5std_string FILE_NAME("h5tutr_dset.h5");
const H5std_string DATASET_NAME("dset");
const int NX = 4; // dataset dimensions
const int NY = 6;
const int RANK = 2;
int main (void)
{
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create the data space for the dataset.
hsize_t dims[2]; // dataset dimensions
dims[0] = NX;
dims[1] = NY;
DataSpace dataspace(RANK, dims);
// Create the data space for the dataset.
hsize_t dims[2]; // dataset dimensions
dims[0] = NX;
dims[1] = NY;
DataSpace dataspace(RANK, dims);
// Create the dataset.
DataSet dataset = file.createDataSet(DATASET_NAME, PredType::STD_I32BE, dataspace);
// Create the dataset.
DataSet dataset = file.createDataSet(DATASET_NAME, PredType::STD_I32BE, dataspace);
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch(DataSpaceIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -31,32 +31,32 @@ int main(void)
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Create a new file using default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a group named "/MygGroup" in the file
Group group(file.createGroup("/MyGroup"));
// Create a new file using default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a group named "/MygGroup" in the file
Group group(file.createGroup("/MyGroup"));
// File and group will be closed as their instances go out of scope.
// File and group will be closed as their instances go out of scope.
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the Group operations
catch(GroupIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;
}

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -32,51 +32,51 @@ int main(void)
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately.
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately.
// Create a new file using default properties.
Exception::dontPrint();
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a new file using default properties.
// Create group "MyGroup" in the root group using an absolute name.
Group group1(file.createGroup( "/MyGroup"));
// Create group "Group_A" in group "MyGroup" using an
// absolute name.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
Group group2(file.createGroup("/MyGroup/Group_A"));
// Create group "MyGroup" in the root group using an absolute name.
// Create group "Group_B" in group "MyGroup" using a
// relative name.
Group group3(group1.createGroup ("Group_B"));
// Close the groups and file.
Group group1(file.createGroup( "/MyGroup"));
// Create group "Group_A" in group "MyGroup" using an
// absolute name.
Group group2(file.createGroup("/MyGroup/Group_A"));
// Create group "Group_B" in group "MyGroup" using a
// relative name.
Group group3(group1.createGroup ("Group_B"));
// Close the groups and file.
group1.close();
group2.close();
group3.close();
file.close();
group1.close();
group2.close();
group3.close();
file.close();
} // end of try block
// catch failure caused by the File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the Group operations
catch(GroupIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -27,11 +27,11 @@ using namespace H5;
const H5std_string FILE_NAME("h5tutr_groups.h5");
const H5std_string DATASET_NAME1("/MyGroup/dset1");
const H5std_string DATASET_NAME2("dset2");
const int RANK = 2;
const int D1DIM1 = 3;
const int D1DIM2 = 3;
const int D2DIM1 = 2;
const int D2DIM2 = 10;
const int RANK = 2;
const int D1DIM1 = 3;
const int D1DIM2 = 3;
const int D2DIM1 = 2;
const int D2DIM2 = 10;
int main(void)
{
@@ -41,94 +41,94 @@ int main(void)
// Try block to catch exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Initialize the first dataset.
for (i = 0; i < D1DIM1; i++)
for (j = 0; j < D1DIM2; j++)
dset1_data[i][j] = j + 1;
// Initialize the first dataset.
for (i = 0; i < D1DIM1; i++)
for (j = 0; j < D1DIM2; j++)
dset1_data[i][j] = j + 1;
// Initialize the second dataset.
for (i = 0; i < D2DIM1; i++)
for (j = 0; j < D2DIM2; j++)
dset2_data[i][j] = j + 1;
// Initialize the second dataset.
for (i = 0; i < D2DIM1; i++)
for (j = 0; j < D2DIM2; j++)
dset2_data[i][j] = j + 1;
// Open an existing file and dataset.
H5File file(FILE_NAME, H5F_ACC_RDWR);
// Open an existing file and dataset.
H5File file(FILE_NAME, H5F_ACC_RDWR);
// Create the data space for the first dataset. Note the use of
// pointer for the instance 'dataspace'. It can be deleted and
// used again later for another data space. An HDF5 identifier is
// closed by the destructor or the method 'close()'.
hsize_t dims[RANK]; // dataset dimensions
dims[0] = D1DIM1;
dims[1] = D1DIM2;
DataSpace *dataspace = new DataSpace (RANK, dims);
hsize_t dims[RANK]; // dataset dimensions
dims[0] = D1DIM1;
dims[1] = D1DIM2;
DataSpace *dataspace = new DataSpace (RANK, dims);
// Create the dataset in group "MyGroup". Same note as for the
// dataspace above.
DataSet *dataset = new DataSet (file.createDataSet(DATASET_NAME1,
PredType::STD_I32BE, *dataspace));
// Create the dataset in group "MyGroup". Same note as for the
// dataspace above.
DataSet *dataset = new DataSet (file.createDataSet(DATASET_NAME1,
PredType::STD_I32BE, *dataspace));
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset->write(dset1_data, PredType::NATIVE_INT);
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset->write(dset1_data, PredType::NATIVE_INT);
// Close the current dataset and data space.
delete dataset;
delete dataspace;
// Close the current dataset and data space.
delete dataset;
delete dataspace;
// Create the data space for the second dataset.
dims[0] = D2DIM1;
dims[1] = D2DIM2;
dataspace = new DataSpace (RANK, dims);
// Create the data space for the second dataset.
dims[0] = D2DIM1;
dims[1] = D2DIM2;
dataspace = new DataSpace (RANK, dims);
// Create group "Group_A" in group "MyGroup".
Group group(file.openGroup("/MyGroup/Group_A"));
// Create group "Group_A" in group "MyGroup".
Group group(file.openGroup("/MyGroup/Group_A"));
// Create the second dataset in group "Group_A".
dataset = new DataSet (group.createDataSet(DATASET_NAME2,
PredType::STD_I32BE, *dataspace));
// Create the second dataset in group "Group_A".
dataset = new DataSet (group.createDataSet(DATASET_NAME2,
PredType::STD_I32BE, *dataspace));
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset->write(dset2_data, PredType::NATIVE_INT);
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset->write(dset2_data, PredType::NATIVE_INT);
// Close all objects.
delete dataspace;
delete dataset;
group.close();
// Close all objects.
delete dataspace;
delete dataset;
group.close();
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch(DataSpaceIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the Group operations
catch(GroupIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;
}

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -24,145 +24,145 @@ using std::endl;
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME("h5tutr_extend.h5");
const H5std_string DATASETNAME("ExtendibleArray");
const H5std_string FILE_NAME("h5tutr_extend.h5");
const H5std_string DATASETNAME("ExtendibleArray");
int main (void)
{
hsize_t dims[2] = {3,3}; // dataset dimensions at creation
hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED};
hsize_t dims[2] = {3,3}; // dataset dimensions at creation
hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED};
hsize_t chunk_dims[2] ={2, 5};
int data[3][3] = { {1, 1, 1}, // data to write
{1, 1, 1},
{1, 1, 1} };
int data[3][3] = { {1, 1, 1}, // data to write
{1, 1, 1},
{1, 1, 1} };
// Variables used in extending and writing to the extended portion of dataset
// Variables used in extending and writing to the extended portion of dataset
hsize_t size[2];
hsize_t offset[2];
hsize_t dimsext[2] = {7, 3}; // extend dimensions
hsize_t dimsext[2] = {7, 3}; // extend dimensions
int dataext[7][3] = { {2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4} };
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4},
{2, 3, 4} };
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create a new file using the default property lists.
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// Create the data space for the dataset. Note the use of pointer
// for the instance 'dataspace'. It can be deleted and used again
// later for another dataspace. An HDF5 identifier can be closed
// by the destructor or the method 'close()'.
DataSpace *dataspace = new DataSpace (2, dims, maxdims);
// Create the data space for the dataset. Note the use of pointer
// for the instance 'dataspace'. It can be deleted and used again
// later for another dataspace. An HDF5 identifier can be closed
// by the destructor or the method 'close()'.
DataSpace *dataspace = new DataSpace (2, dims, maxdims);
// Modify dataset creation property to enable chunking
DSetCreatPropList prop;
prop.setChunk(2, chunk_dims);
// Modify dataset creation property to enable chunking
DSetCreatPropList prop;
prop.setChunk(2, chunk_dims);
// Create the chunked dataset. Note the use of pointer.
DataSet *dataset = new DataSet(file.createDataSet( DATASETNAME,
PredType::STD_I32BE, *dataspace, prop) );
// Write data to dataset.
dataset->write(data, PredType::NATIVE_INT);
// Create the chunked dataset. Note the use of pointer.
DataSet *dataset = new DataSet(file.createDataSet( DATASETNAME,
PredType::STD_I32BE, *dataspace, prop) );
// Extend the dataset. Dataset becomes 10 x 3.
size[0] = dims[0] + dimsext[0];
size[1] = dims[1];
dataset->extend(size);
// Write data to dataset.
dataset->write(data, PredType::NATIVE_INT);
// Select a hyperslab in extended portion of the dataset.
DataSpace *filespace = new DataSpace(dataset->getSpace ());
offset[0] = 3;
offset[1] = 0;
filespace->selectHyperslab(H5S_SELECT_SET, dimsext, offset);
// Define memory space.
DataSpace *memspace = new DataSpace(2, dimsext, NULL);
// Extend the dataset. Dataset becomes 10 x 3.
size[0] = dims[0] + dimsext[0];
size[1] = dims[1];
dataset->extend(size);
// Write data to the extended portion of the dataset.
dataset->write(dataext, PredType::NATIVE_INT, *memspace, *filespace);
// Select a hyperslab in extended portion of the dataset.
DataSpace *filespace = new DataSpace(dataset->getSpace ());
offset[0] = 3;
offset[1] = 0;
filespace->selectHyperslab(H5S_SELECT_SET, dimsext, offset);
// Close all objects and file.
prop.close();
delete filespace;
delete memspace;
delete dataspace;
delete dataset;
file.close();
// Define memory space.
DataSpace *memspace = new DataSpace(2, dimsext, NULL);
// ---------------------------------------
// Re-open the file and read the data back
// ---------------------------------------
// Write data to the extended portion of the dataset.
dataset->write(dataext, PredType::NATIVE_INT, *memspace, *filespace);
int rdata[10][3];
int i,j, rank, rank_chunk;
hsize_t chunk_dimsr[2], dimsr[2];
// Close all objects and file.
prop.close();
delete filespace;
delete memspace;
delete dataspace;
delete dataset;
file.close();
// Open the file and dataset.
file.openFile(FILE_NAME, H5F_ACC_RDONLY);
dataset = new DataSet(file.openDataSet( DATASETNAME));
// ---------------------------------------
// Re-open the file and read the data back
// ---------------------------------------
// Get the dataset's dataspace and creation property list.
filespace = new DataSpace(dataset->getSpace());
prop = dataset->getCreatePlist();
int rdata[10][3];
int i,j, rank, rank_chunk;
hsize_t chunk_dimsr[2], dimsr[2];
// Get information to obtain memory dataspace.
rank = filespace->getSimpleExtentNdims();
herr_t status_n = filespace->getSimpleExtentDims(dimsr);
// Open the file and dataset.
file.openFile(FILE_NAME, H5F_ACC_RDONLY);
dataset = new DataSet(file.openDataSet( DATASETNAME));
if (H5D_CHUNKED == prop.getLayout())
rank_chunk = prop.getChunk(rank, chunk_dimsr);
cout << "rank chunk = " << rank_chunk << endl;;
// Get the dataset's dataspace and creation property list.
filespace = new DataSpace(dataset->getSpace());
prop = dataset->getCreatePlist();
memspace = new DataSpace(rank, dimsr, NULL);
dataset->read(rdata, PredType::NATIVE_INT, *memspace, *filespace);
cout << endl;
for (j = 0; j < dimsr[0]; j++) {
for (i = 0; i < dimsr[1]; i++)
cout << " " << rdata[j][i];
cout << endl;
}
// Get information to obtain memory dataspace.
rank = filespace->getSimpleExtentNdims();
herr_t status_n = filespace->getSimpleExtentDims(dimsr);
if (H5D_CHUNKED == prop.getLayout())
rank_chunk = prop.getChunk(rank, chunk_dimsr);
cout << "rank chunk = " << rank_chunk << endl;;
memspace = new DataSpace(rank, dimsr, NULL);
dataset->read(rdata, PredType::NATIVE_INT, *memspace, *filespace);
cout << endl;
for (j = 0; j < dimsr[0]; j++) {
for (i = 0; i < dimsr[1]; i++)
cout << " " << rdata[j][i];
cout << endl;
}
// Close all objects and file.
prop.close();
delete filespace;
delete memspace;
delete dataset;
file.close();
// Close all objects and file.
prop.close();
delete filespace;
delete memspace;
delete dataset;
file.close();
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch(DataSpaceIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -21,52 +21,52 @@
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME("h5tutr_dset.h5");
const H5std_string DATASET_NAME("dset");
const int DIM0 = 4; // dataset dimensions
const int DIM1 = 6;
const H5std_string FILE_NAME("h5tutr_dset.h5");
const H5std_string DATASET_NAME("dset");
const int DIM0 = 4; // dataset dimensions
const int DIM1 = 6;
int main (void)
{
// Data initialization.
int i, j;
int data[DIM0][DIM1]; // buffer for data to write
int data[DIM0][DIM1]; // buffer for data to write
for (j = 0; j < DIM0; j++)
for (i = 0; i < DIM1; i++)
data[j][i] = i * 6 + j + 1;
for (i = 0; i < DIM1; i++)
data[j][i] = i * 6 + j + 1;
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Open an existing file and dataset.
H5File file(FILE_NAME, H5F_ACC_RDWR);
DataSet dataset = file.openDataSet(DATASET_NAME);
// Open an existing file and dataset.
H5File file(FILE_NAME, H5F_ACC_RDWR);
DataSet dataset = file.openDataSet(DATASET_NAME);
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset.write(data, PredType::NATIVE_INT);
// Write the data to the dataset using default memory space, file
// space, and transfer properties.
dataset.write(data, PredType::NATIVE_INT);
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -1,8 +1,8 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
@@ -24,13 +24,13 @@ using std::endl;
#include "H5Cpp.h"
using namespace H5;
const H5std_string FILE_NAME("h5tutr_subset.h5");
const H5std_string DATASET_NAME("IntArray");
const H5std_string FILE_NAME("h5tutr_subset.h5");
const H5std_string DATASET_NAME("IntArray");
const int RANK = 2;
const int DIM0_SUB = 3; // subset dimensions
const int DIM0_SUB = 3; // subset dimensions
const int DIM1_SUB = 4;
const int DIM0 = 8; // size of dataset
const int DIM0 = 8; // size of dataset
const int DIM1 = 10;
int main (void)
@@ -41,134 +41,134 @@ int main (void)
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// Turn off the auto-printing when failure occurs so that we can
// handle the errors appropriately
Exception::dontPrint();
// ---------------------------------------------------
// Create a new file using the default property lists.
// Then create a dataset and write data to it.
// Close the file and dataset.
// ---------------------------------------------------
H5File file(FILE_NAME, H5F_ACC_TRUNC);
// ---------------------------------------------------
// Create a new file using the default property lists.
// Then create a dataset and write data to it.
// Close the file and dataset.
// ---------------------------------------------------
hsize_t dims[2];
dims[0] = DIM0;
dims[1] = DIM1;
DataSpace dataspace = DataSpace (RANK, dims);
H5File file(FILE_NAME, H5F_ACC_TRUNC);
DataSet dataset(file.createDataSet( DATASET_NAME,
PredType::STD_I32BE, dataspace) );
hsize_t dims[2];
dims[0] = DIM0;
dims[1] = DIM1;
DataSpace dataspace = DataSpace (RANK, dims);
DataSet dataset(file.createDataSet( DATASET_NAME,
PredType::STD_I32BE, dataspace) );
for (j = 0; j < DIM0; j++) {
for (i = 0; i < DIM1; i++)
if (i< (DIM1/2))
data[j][i] = 1;
else
data[j][i] = 2;
}
for (j = 0; j < DIM0; j++) {
for (i = 0; i < DIM1; i++)
if (i< (DIM1/2))
data[j][i] = 1;
else
data[j][i] = 2;
}
dataset.write(data, PredType::NATIVE_INT);
dataset.write(data, PredType::NATIVE_INT);
cout << endl << "Data Written to File:" << endl;
for (j = 0; j < DIM0; j++) {
for (i = 0; i < DIM1; i++)
cout << " " << data[j][i];
cout << endl;
}
cout << endl << "Data Written to File:" << endl;
for (j = 0; j < DIM0; j++) {
for (i = 0; i < DIM1; i++)
cout << " " << data[j][i];
cout << endl;
}
dataspace.close();
dataset.close();
file.close();
dataspace.close();
dataset.close();
file.close();
// ---------------------------------------------------
// Reopen the file and dataset and write a subset of
// values to the dataset.
// ---------------------------------------------------
// ---------------------------------------------------
// Reopen the file and dataset and write a subset of
// values to the dataset.
// ---------------------------------------------------
hsize_t offset[2], count[2], stride[2], block[2];
hsize_t dimsm[2];
hsize_t offset[2], count[2], stride[2], block[2];
hsize_t dimsm[2];
file.openFile(FILE_NAME, H5F_ACC_RDWR);
dataset = file.openDataSet(DATASET_NAME);
file.openFile(FILE_NAME, H5F_ACC_RDWR);
dataset = file.openDataSet(DATASET_NAME);
// Specify size and shape of subset to write.
// Specify size and shape of subset to write.
offset[0] = 1;
offset[1] = 2;
offset[0] = 1;
offset[1] = 2;
count[0] = DIM0_SUB;
count[1] = DIM1_SUB;
count[0] = DIM0_SUB;
count[1] = DIM1_SUB;
stride[0] = 1;
stride[1] = 1;
stride[0] = 1;
stride[1] = 1;
block[0] = 1;
block[1] = 1;
// Define Memory Dataspace. Get file dataspace and select
// a subset from the file dataspace.
block[0] = 1;
block[1] = 1;
dimsm[0] = DIM0_SUB;
dimsm[1] = DIM1_SUB;
// Define Memory Dataspace. Get file dataspace and select
// a subset from the file dataspace.
DataSpace memspace(RANK, dimsm, NULL);
dimsm[0] = DIM0_SUB;
dimsm[1] = DIM1_SUB;
dataspace = dataset.getSpace();
dataspace.selectHyperslab(H5S_SELECT_SET, count, offset, stride, block);
DataSpace memspace(RANK, dimsm, NULL);
// Write a subset of data to the dataset, then read the
// entire dataset back from the file.
dataspace = dataset.getSpace();
dataspace.selectHyperslab(H5S_SELECT_SET, count, offset, stride, block);
cout << endl << "Write subset to file specifying: " << endl;
cout << " offset=1x2 stride=1x1 count=3x4 block=1x1" << endl;
for (j = 0; j < DIM0_SUB; j++) {
for (i = 0; i < DIM1_SUB; i++)
sdata[j][i] = 5;
}
dataset.write(sdata, PredType::NATIVE_INT, memspace, dataspace);
dataset.read(rdata, PredType::NATIVE_INT);
// Write a subset of data to the dataset, then read the
// entire dataset back from the file.
cout << endl << "Data in File after Subset is Written:" << endl;
for (i = 0; i < DIM0; i++) {
for (j = 0; j < DIM1; j++)
cout << " " << rdata[i][j];
cout << endl;
}
cout << endl;
cout << endl << "Write subset to file specifying: " << endl;
cout << " offset=1x2 stride=1x1 count=3x4 block=1x1" << endl;
for (j = 0; j < DIM0_SUB; j++) {
for (i = 0; i < DIM1_SUB; i++)
sdata[j][i] = 5;
}
// It is not necessary to close these objects because close() will
// be called when the object instances are going out of scope.
dataspace.close();
memspace.close();
dataset.close();
file.close();
dataset.write(sdata, PredType::NATIVE_INT, memspace, dataspace);
dataset.read(rdata, PredType::NATIVE_INT);
cout << endl << "Data in File after Subset is Written:" << endl;
for (i = 0; i < DIM0; i++) {
for (j = 0; j < DIM1; j++)
cout << " " << rdata[i][j];
cout << endl;
}
cout << endl;
// It is not necessary to close these objects because close() will
// be called when the object instances are going out of scope.
dataspace.close();
memspace.close();
dataset.close();
file.close();
} // end of try block
// catch failure caused by the H5File operations
catch(FileIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch(DataSetIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch(DataSpaceIException error)
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0; // successfully terminated

View File

@@ -31,9 +31,9 @@ using namespace H5;
const H5std_string FILE_NAME( "SDS.h5" );
const H5std_string DATASET_NAME( "IntArray" );
const int NX_SUB = 3; // hyperslab dimensions
const int NX_SUB = 3; // hyperslab dimensions
const int NY_SUB = 4;
const int NX = 7; // output buffer dimensions
const int NX = 7; // output buffer dimensions
const int NY = 7;
const int NZ = 3;
const int RANK_OUT = 3;
@@ -49,8 +49,8 @@ int main (void)
{
for (i = 0; i < NY; i++)
{
for (k = 0; k < NZ ; k++)
data_out[j][i][k] = 0;
for (k = 0; k < NZ ; k++)
data_out[j][i][k] = 0;
}
}
@@ -81,19 +81,19 @@ int main (void)
*/
if( type_class == H5T_INTEGER )
{
cout << "Data set has INTEGER type" << endl;
cout << "Data set has INTEGER type" << endl;
/*
* Get the integer datatype
* Get the integer datatype
*/
IntType intype = dataset.getIntType();
IntType intype = dataset.getIntType();
/*
* Get order of datatype and print message if it's a little endian.
*/
H5std_string order_string;
H5std_string order_string;
H5T_order_t order = intype.getOrder( order_string );
cout << order_string << endl;
cout << order_string << endl;
/*
* Get size of the data element stored in file and print it.
@@ -119,15 +119,15 @@ int main (void)
hsize_t dims_out[2];
int ndims = dataspace.getSimpleExtentDims( dims_out, NULL);
cout << "rank " << rank << ", dimensions " <<
(unsigned long)(dims_out[0]) << " x " <<
(unsigned long)(dims_out[1]) << endl;
(unsigned long)(dims_out[0]) << " x " <<
(unsigned long)(dims_out[1]) << endl;
/*
* Define hyperslab in the dataset; implicitly giving strike and
* block NULL.
*/
hsize_t offset[2]; // hyperslab offset in the file
hsize_t count[2]; // size of the hyperslab in the file
hsize_t offset[2]; // hyperslab offset in the file
hsize_t count[2]; // size of the hyperslab in the file
offset[0] = 1;
offset[1] = 2;
count[0] = NX_SUB;
@@ -146,8 +146,8 @@ int main (void)
/*
* Define memory hyperslab.
*/
hsize_t offset_out[3]; // hyperslab offset in memory
hsize_t count_out[3]; // size of the hyperslab in memory
hsize_t offset_out[3]; // hyperslab offset in memory
hsize_t count_out[3]; // size of the hyperslab in memory
offset_out[0] = 3;
offset_out[1] = 0;
offset_out[2] = 0;
@@ -164,9 +164,9 @@ int main (void)
for (j = 0; j < NX; j++)
{
for (i = 0; i < NY; i++)
cout << data_out[j][i][0] << " ";
cout << endl;
for (i = 0; i < NY; i++)
cout << data_out[j][i][0] << " ";
cout << endl;
}
/*
* 0 0 0 0 0 0 0

View File

@@ -18,7 +18,7 @@
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# This script will compile and run the c++ examples from source files #
# installed in .../share/hdf5_examples/c++ using h5c++. The #
# installed in @examplesdir@/c++ using h5c++. The #
# order for running programs with RunTest in the MAIN section below is taken #
# from the Makefile. The order is important since some of the test programs #
# use data files created by earlier test programs. Any future additions should #
@@ -30,9 +30,32 @@
EXIT_SUCCESS=0
EXIT_FAILURE=1
#
# Try to derive the path to the installation $prefix established
# by ./configure relative to the examples directory established by
# ./configure. If successful, set `prefix_relto_examplesdir` to the
# relative path. Otherwise, set `prefix_relto_examplesdir` to the
# absolute installation $prefix.
#
# This script uses the value of `prefix` in the user's environment, if
# it is set, below. The content of $() is evaluated in a sub-shell, so
# if `prefix` is set in the user's environment, the shell statements in
# $() won't clobbered it.
#
prefix_relto_examplesdir=$(
prefix=@prefix@
examplesdir=@examplesdir@
if [ ${examplesdir##${prefix}/} != ${examplesdir} ]; then
echo $(echo ${examplesdir##${prefix}/} | \
sed 's,[^/][^/]*,..,g')
else
echo $prefix
fi
)
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-../../..}"
prefix="${prefix:-../${prefix_relto_examplesdir}}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name
@@ -118,5 +141,5 @@ rm *.o
rm *.h5
echo
exit $EXIT_VALUE
exit $EXIT_VALUE

View File

@@ -34,19 +34,19 @@ using namespace H5;
const H5std_string FILE_NAME( "Select.h5" );
const H5std_string DATASET_NAME( "Matrix in file" );
const int MSPACE1_RANK = 1; // Rank of the first dataset in memory
const int MSPACE1_RANK = 1; // Rank of the first dataset in memory
const int MSPACE1_DIM = 50; // Dataset size in memory
const int MSPACE2_RANK = 1; // Rank of the second dataset in memory
const int MSPACE2_DIM = 4; // Dataset size in memory
const int FSPACE_RANK = 2; // Dataset rank as it is stored in the file
const int FSPACE_DIM1 = 8; // Dimension sizes of the dataset as it is
const int FSPACE_DIM2 = 12; // stored in the file
const int MSPACE_RANK = 2; // Rank of the first dataset in memory
const int MSPACE_DIM1 = 8; // We will read dataset back from the file
const int MSPACE_DIM2 = 9; // to the dataset in memory with these
// dataspace parameters
const int NPOINTS = 4; // Number of points that will be selected
// and overwritten
const int MSPACE2_RANK = 1; // Rank of the second dataset in memory
const int MSPACE2_DIM = 4; // Dataset size in memory
const int FSPACE_RANK = 2; // Dataset rank as it is stored in the file
const int FSPACE_DIM1 = 8; // Dimension sizes of the dataset as it is
const int FSPACE_DIM2 = 12; // stored in the file
const int MSPACE_RANK = 2; // Rank of the first dataset in memory
const int MSPACE_DIM1 = 8; // We will read dataset back from the file
const int MSPACE_DIM2 = 9; // to the dataset in memory with these
// dataspace parameters
const int NPOINTS = 4; // Number of points that will be selected
// and overwritten
int main (void)
{
@@ -57,271 +57,271 @@ int main (void)
*/
try
{
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Turn off the auto-printing when failure occurs so that we can
* handle the errors appropriately
*/
Exception::dontPrint();
/*
* Create a file.
*/
H5File* file = new H5File( FILE_NAME, H5F_ACC_TRUNC );
/*
* Create a file.
*/
H5File* file = new H5File( FILE_NAME, H5F_ACC_TRUNC );
/*
* Create property list for a dataset and set up fill values.
*/
int fillvalue = 0; /* Fill value for the dataset */
DSetCreatPropList plist;
plist.setFillValue(PredType::NATIVE_INT, &fillvalue);
/*
* Create property list for a dataset and set up fill values.
*/
int fillvalue = 0; /* Fill value for the dataset */
DSetCreatPropList plist;
plist.setFillValue(PredType::NATIVE_INT, &fillvalue);
/*
* Create dataspace for the dataset in the file.
*/
hsize_t fdim[] = {FSPACE_DIM1, FSPACE_DIM2}; // dim sizes of ds (on disk)
DataSpace fspace( FSPACE_RANK, fdim );
/*
* Create dataspace for the dataset in the file.
*/
hsize_t fdim[] = {FSPACE_DIM1, FSPACE_DIM2}; // dim sizes of ds (on disk)
DataSpace fspace( FSPACE_RANK, fdim );
/*
* Create dataset and write it into the file.
*/
DataSet* dataset = new DataSet(file->createDataSet(
DATASET_NAME, PredType::NATIVE_INT, fspace, plist));
/*
* Create dataset and write it into the file.
*/
DataSet* dataset = new DataSet(file->createDataSet(
DATASET_NAME, PredType::NATIVE_INT, fspace, plist));
/*
* Select hyperslab for the dataset in the file, using 3x2 blocks,
* (4,3) stride and (2,4) count starting at the position (0,1).
*/
hsize_t start[2]; // Start of hyperslab
hsize_t stride[2]; // Stride of hyperslab
hsize_t count[2]; // Block count
hsize_t block[2]; // Block sizes
start[0] = 0; start[1] = 1;
stride[0] = 4; stride[1] = 3;
count[0] = 2; count[1] = 4;
block[0] = 3; block[1] = 2;
fspace.selectHyperslab( H5S_SELECT_SET, count, start, stride, block);
/*
* Select hyperslab for the dataset in the file, using 3x2 blocks,
* (4,3) stride and (2,4) count starting at the position (0,1).
*/
hsize_t start[2]; // Start of hyperslab
hsize_t stride[2]; // Stride of hyperslab
hsize_t count[2]; // Block count
hsize_t block[2]; // Block sizes
start[0] = 0; start[1] = 1;
stride[0] = 4; stride[1] = 3;
count[0] = 2; count[1] = 4;
block[0] = 3; block[1] = 2;
fspace.selectHyperslab( H5S_SELECT_SET, count, start, stride, block);
/*
* Create dataspace for the first dataset.
*/
hsize_t dim1[] = {MSPACE1_DIM}; /* Dimension size of the first dataset
(in memory) */
DataSpace mspace1( MSPACE1_RANK, dim1 );
/*
* Create dataspace for the first dataset.
*/
hsize_t dim1[] = {MSPACE1_DIM}; /* Dimension size of the first dataset
(in memory) */
DataSpace mspace1( MSPACE1_RANK, dim1 );
/*
* Select hyperslab.
* We will use 48 elements of the vector buffer starting at the
* second element. Selected elements are 1 2 3 . . . 48
*/
start[0] = 1;
stride[0] = 1;
count[0] = 48;
block[0] = 1;
mspace1.selectHyperslab( H5S_SELECT_SET, count, start, stride, block);
/*
* Select hyperslab.
* We will use 48 elements of the vector buffer starting at the
* second element. Selected elements are 1 2 3 . . . 48
*/
start[0] = 1;
stride[0] = 1;
count[0] = 48;
block[0] = 1;
mspace1.selectHyperslab( H5S_SELECT_SET, count, start, stride, block);
/*
* Write selection from the vector buffer to the dataset in the file.
*
* File dataset should look like this:
* 0 1 2 0 3 4 0 5 6 0 7 8
* 0 9 10 0 11 12 0 13 14 0 15 16
* 0 17 18 0 19 20 0 21 22 0 23 24
* 0 0 0 0 0 0 0 0 0 0 0 0
* 0 25 26 0 27 28 0 29 30 0 31 32
* 0 33 34 0 35 36 0 37 38 0 39 40
* 0 41 42 0 43 44 0 45 46 0 47 48
* 0 0 0 0 0 0 0 0 0 0 0 0
*/
int vector[MSPACE1_DIM]; // vector buffer for dset
/*
* Write selection from the vector buffer to the dataset in the file.
*
* File dataset should look like this:
* 0 1 2 0 3 4 0 5 6 0 7 8
* 0 9 10 0 11 12 0 13 14 0 15 16
* 0 17 18 0 19 20 0 21 22 0 23 24
* 0 0 0 0 0 0 0 0 0 0 0 0
* 0 25 26 0 27 28 0 29 30 0 31 32
* 0 33 34 0 35 36 0 37 38 0 39 40
* 0 41 42 0 43 44 0 45 46 0 47 48
* 0 0 0 0 0 0 0 0 0 0 0 0
*/
int vector[MSPACE1_DIM]; // vector buffer for dset
/*
* Buffer initialization.
*/
vector[0] = vector[MSPACE1_DIM - 1] = -1;
for (i = 1; i < MSPACE1_DIM - 1; i++)
vector[i] = i;
/*
* Buffer initialization.
*/
vector[0] = vector[MSPACE1_DIM - 1] = -1;
for (i = 1; i < MSPACE1_DIM - 1; i++)
vector[i] = i;
dataset->write( vector, PredType::NATIVE_INT, mspace1, fspace );
dataset->write( vector, PredType::NATIVE_INT, mspace1, fspace );
/*
* Reset the selection for the file dataspace fid.
*/
fspace.selectNone();
/*
* Reset the selection for the file dataspace fid.
*/
fspace.selectNone();
/*
* Create dataspace for the second dataset.
*/
hsize_t dim2[] = {MSPACE2_DIM}; /* Dimension size of the second dataset
(in memory */
DataSpace mspace2( MSPACE2_RANK, dim2 );
/*
* Create dataspace for the second dataset.
*/
hsize_t dim2[] = {MSPACE2_DIM}; /* Dimension size of the second dataset
(in memory */
DataSpace mspace2( MSPACE2_RANK, dim2 );
/*
* Select sequence of NPOINTS points in the file dataspace.
*/
hsize_t coord[NPOINTS][FSPACE_RANK]; /* Array to store selected points
from the file dataspace */
coord[0][0] = 0; coord[0][1] = 0;
coord[1][0] = 3; coord[1][1] = 3;
coord[2][0] = 3; coord[2][1] = 5;
coord[3][0] = 5; coord[3][1] = 6;
/*
* Select sequence of NPOINTS points in the file dataspace.
*/
hsize_t coord[NPOINTS][FSPACE_RANK]; /* Array to store selected points
from the file dataspace */
coord[0][0] = 0; coord[0][1] = 0;
coord[1][0] = 3; coord[1][1] = 3;
coord[2][0] = 3; coord[2][1] = 5;
coord[3][0] = 5; coord[3][1] = 6;
fspace.selectElements( H5S_SELECT_SET, NPOINTS, (const hsize_t *)coord);
fspace.selectElements( H5S_SELECT_SET, NPOINTS, (const hsize_t *)coord);
/*
* Write new selection of points to the dataset.
*/
int values[] = {53, 59, 61, 67}; /* New values to be written */
dataset->write( values, PredType::NATIVE_INT, mspace2, fspace );
/*
* Write new selection of points to the dataset.
*/
int values[] = {53, 59, 61, 67}; /* New values to be written */
dataset->write( values, PredType::NATIVE_INT, mspace2, fspace );
/*
* File dataset should look like this:
* 53 1 2 0 3 4 0 5 6 0 7 8
* 0 9 10 0 11 12 0 13 14 0 15 16
* 0 17 18 0 19 20 0 21 22 0 23 24
* 0 0 0 59 0 61 0 0 0 0 0 0
* 0 25 26 0 27 28 0 29 30 0 31 32
* 0 33 34 0 35 36 67 37 38 0 39 40
* 0 41 42 0 43 44 0 45 46 0 47 48
* 0 0 0 0 0 0 0 0 0 0 0 0
*
*/
/*
* File dataset should look like this:
* 53 1 2 0 3 4 0 5 6 0 7 8
* 0 9 10 0 11 12 0 13 14 0 15 16
* 0 17 18 0 19 20 0 21 22 0 23 24
* 0 0 0 59 0 61 0 0 0 0 0 0
* 0 25 26 0 27 28 0 29 30 0 31 32
* 0 33 34 0 35 36 67 37 38 0 39 40
* 0 41 42 0 43 44 0 45 46 0 47 48
* 0 0 0 0 0 0 0 0 0 0 0 0
*
*/
/*
* Close the dataset and the file.
*/
delete dataset;
delete file;
/*
* Close the dataset and the file.
*/
delete dataset;
delete file;
/*
* Open the file.
*/
file = new H5File( FILE_NAME, H5F_ACC_RDONLY );
/*
* Open the file.
*/
file = new H5File( FILE_NAME, H5F_ACC_RDONLY );
/*
* Open the dataset.
*/
dataset = new DataSet( file->openDataSet( DATASET_NAME ));
/*
* Open the dataset.
*/
dataset = new DataSet( file->openDataSet( DATASET_NAME ));
/*
* Get dataspace of the dataset.
*/
fspace = dataset->getSpace();
/*
* Get dataspace of the dataset.
*/
fspace = dataset->getSpace();
/*
* Select first hyperslab for the dataset in the file. The following
* elements are selected:
* 10 0 11 12
* 18 0 19 20
* 0 59 0 61
*
*/
start[0] = 1; start[1] = 2;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 3; count[1] = 4;
fspace.selectHyperslab(H5S_SELECT_SET, count, start, stride, block);
/*
* Select first hyperslab for the dataset in the file. The following
* elements are selected:
* 10 0 11 12
* 18 0 19 20
* 0 59 0 61
*
*/
start[0] = 1; start[1] = 2;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 3; count[1] = 4;
fspace.selectHyperslab(H5S_SELECT_SET, count, start, stride, block);
/*
* Add second selected hyperslab to the selection.
* The following elements are selected:
* 19 20 0 21 22
* 0 61 0 0 0
* 27 28 0 29 30
* 35 36 67 37 38
* 43 44 0 45 46
* 0 0 0 0 0
* Note that two hyperslabs overlap. Common elements are:
* 19 20
* 0 61
*/
start[0] = 2; start[1] = 4;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 6; count[1] = 5;
fspace.selectHyperslab(H5S_SELECT_OR, count, start, stride, block);
/*
* Add second selected hyperslab to the selection.
* The following elements are selected:
* 19 20 0 21 22
* 0 61 0 0 0
* 27 28 0 29 30
* 35 36 67 37 38
* 43 44 0 45 46
* 0 0 0 0 0
* Note that two hyperslabs overlap. Common elements are:
* 19 20
* 0 61
*/
start[0] = 2; start[1] = 4;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 6; count[1] = 5;
fspace.selectHyperslab(H5S_SELECT_OR, count, start, stride, block);
/*
* Create memory dataspace.
*/
hsize_t mdim[] = {MSPACE_DIM1, MSPACE_DIM2}; /* Dimension sizes of the
/*
* Create memory dataspace.
*/
hsize_t mdim[] = {MSPACE_DIM1, MSPACE_DIM2}; /* Dimension sizes of the
dataset in memory when we
read selection from the
dataset on the disk */
DataSpace mspace(MSPACE_RANK, mdim);
DataSpace mspace(MSPACE_RANK, mdim);
/*
* Select two hyperslabs in memory. Hyperslabs has the same
* size and shape as the selected hyperslabs for the file dataspace.
*/
start[0] = 0; start[1] = 0;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 3; count[1] = 4;
mspace.selectHyperslab(H5S_SELECT_SET, count, start, stride, block);
start[0] = 1; start[1] = 2;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 6; count[1] = 5;
mspace.selectHyperslab(H5S_SELECT_OR, count, start, stride, block);
/*
* Select two hyperslabs in memory. Hyperslabs has the same
* size and shape as the selected hyperslabs for the file dataspace.
*/
start[0] = 0; start[1] = 0;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 3; count[1] = 4;
mspace.selectHyperslab(H5S_SELECT_SET, count, start, stride, block);
start[0] = 1; start[1] = 2;
block[0] = 1; block[1] = 1;
stride[0] = 1; stride[1] = 1;
count[0] = 6; count[1] = 5;
mspace.selectHyperslab(H5S_SELECT_OR, count, start, stride, block);
/*
* Initialize data buffer.
*/
int matrix_out[MSPACE_DIM1][MSPACE_DIM2];
for (i = 0; i < MSPACE_DIM1; i++)
for (j = 0; j < MSPACE_DIM2; j++)
matrix_out[i][j] = 0;
/*
* Initialize data buffer.
*/
int matrix_out[MSPACE_DIM1][MSPACE_DIM2];
for (i = 0; i < MSPACE_DIM1; i++)
for (j = 0; j < MSPACE_DIM2; j++)
matrix_out[i][j] = 0;
/*
* Read data back to the buffer matrix.
*/
dataset->read(matrix_out, PredType::NATIVE_INT, mspace, fspace);
/*
* Read data back to the buffer matrix.
*/
dataset->read(matrix_out, PredType::NATIVE_INT, mspace, fspace);
/*
* Display the result. Memory dataset is:
*
* 10 0 11 12 0 0 0 0 0
* 18 0 19 20 0 21 22 0 0
* 0 59 0 61 0 0 0 0 0
* 0 0 27 28 0 29 30 0 0
* 0 0 35 36 67 37 38 0 0
* 0 0 43 44 0 45 46 0 0
* 0 0 0 0 0 0 0 0 0
* 0 0 0 0 0 0 0 0 0
*/
for (i=0; i < MSPACE_DIM1; i++)
{
for(j=0; j < MSPACE_DIM2; j++)
cout << matrix_out[i][j] << " ";
cout << endl;
}
/*
* Display the result. Memory dataset is:
*
* 10 0 11 12 0 0 0 0 0
* 18 0 19 20 0 21 22 0 0
* 0 59 0 61 0 0 0 0 0
* 0 0 27 28 0 29 30 0 0
* 0 0 35 36 67 37 38 0 0
* 0 0 43 44 0 45 46 0 0
* 0 0 0 0 0 0 0 0 0
* 0 0 0 0 0 0 0 0 0
*/
for (i=0; i < MSPACE_DIM1; i++)
{
for(j=0; j < MSPACE_DIM2; j++)
cout << matrix_out[i][j] << " ";
cout << endl;
}
/*
* Close the dataset and the file.
*/
delete dataset;
delete file;
/*
* Close the dataset and the file.
*/
delete dataset;
delete file;
} // end of try block
// catch failure caused by the H5File operations
catch( FileIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSet operations
catch( DataSetIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
// catch failure caused by the DataSpace operations
catch( DataSpaceIException error )
{
error.printErrorStack();
return -1;
error.printErrorStack();
return -1;
}
return 0;

View File

@@ -11493,7 +11493,7 @@ normal'><span style='font-size:14.0pt;mso-bidi-font-size:11.0pt;line-height:
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'>H5L_info_t getLinkInfo(const char* link_name,</p>
normal'>H5L_info2_t getLinkInfo(const char* link_name,</p>
<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='mso-tab-count:1'>               </span>const
LinkAccPropList&amp; lapl = LinkAccPropList::DEFAULT)</p>
@@ -11526,7 +11526,7 @@ normal'><span style='font-size:14.0pt;mso-bidi-font-size:11.0pt;line-height:
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'>H5L_info_t getLinkInfo(const H5std_string&amp; link_name,</p>
normal'>H5L_info2_t getLinkInfo(const H5std_string&amp; link_name,</p>
<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='mso-tab-count:1'>               </span>const
LinkAccPropList&amp; lapl = LinkAccPropList::DEFAULT)</p>

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
project (HDF5_CPP_SRC CXX)
#-----------------------------------------------------------------------------
@@ -90,6 +90,7 @@ if (NOT ONLY_SHARED_LIBS)
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_options(${HDF5_CPP_LIB_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
@@ -107,12 +108,20 @@ if (BUILD_SHARED_LIBS)
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_options(${HDF5_CPP_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
target_compile_definitions(${HDF5_CPP_LIBSH_TARGET}
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
TARGET_C_PROPERTIES (${HDF5_CPP_LIBSH_TARGET} SHARED)
target_link_libraries (${HDF5_CPP_LIBSH_TARGET} PUBLIC ${HDF5_LIBSH_TARGET})
target_link_libraries (${HDF5_CPP_LIBSH_TARGET}
PUBLIC ${HDF5_LIBSH_TARGET}
)
if (MINGW)
target_link_options (${HDF5_CPP_LIBSH_TARGET}
PRIVATE -static-libgcc -static-libstdc++
)
endif ()
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIBSH_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIBSH_TARGET} ${HDF5_CPP_LIB_NAME} SHARED "CXX")
set_target_properties (${HDF5_CPP_LIBSH_TARGET} PROPERTIES FOLDER libraries/cpp)
@@ -139,7 +148,7 @@ if (HDF5_EXPORTED_TARGETS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
endif ()
if (NOT ONLY_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_LIB_DIR} cpplibraries)
endif ()
install (
@@ -188,7 +197,7 @@ install (
COMPONENT cpplibraries
)
if (NOT WIN32)
if (NOT WIN32 AND NOT MINGW)
set (_PKG_CONFIG_COMPILER ${CMAKE_CXX_COMPILER})
configure_file (
${HDF_RESOURCES_DIR}/libh5cc.in

View File

@@ -25,7 +25,7 @@
* \section intro_sec Introduction
*
* The C++ API provides C++ wrappers for the HDF5 C Library.
*
*
* It is assumed that the user has knowledge of the HDF5 file format and its
* components. For more information on the HDF5 C Library, please refer to
* the HDF5 Software Documentation page.
@@ -54,9 +54,9 @@
* \section install_sec Installation
*
* The HDF5 C++ API is included with the HDF5 source code.
*
* Please refer to the release_docs/INSTALL file under the top directory
* of the HDF5 source code for information about installing, building,
*
* Please refer to the release_docs/INSTALL file under the top directory
* of the HDF5 source code for information about installing, building,
* and testing the C++ API.
*
* <br />

View File

@@ -369,10 +369,10 @@ void DataSet::vlenReclaim(const DataType& type, const DataSpace& space, const DS
hid_t space_id = space.getId();
hid_t xfer_plist_id = xfer_plist.getId();
herr_t ret_value = H5Dvlen_reclaim(type_id, space_id, xfer_plist_id, buf);
herr_t ret_value = H5Treclaim(type_id, space_id, xfer_plist_id, buf);
if (ret_value < 0)
{
throw DataSetIException("DataSet::vlenReclaim", "H5Dvlen_reclaim failed");
throw DataSetIException("DataSet::vlenReclaim", "H5Treclaim failed");
}
}
@@ -397,10 +397,10 @@ void DataSet::vlenReclaim(void* buf, const DataType& type, const DataSpace& spac
hid_t space_id = space.getId();
hid_t xfer_plist_id = xfer_plist.getId();
herr_t ret_value = H5Dvlen_reclaim(type_id, space_id, xfer_plist_id, buf);
herr_t ret_value = H5Treclaim(type_id, space_id, xfer_plist_id, buf);
if (ret_value < 0)
{
throw DataSetIException("DataSet::vlenReclaim", "H5Dvlen_reclaim failed");
throw DataSetIException("DataSet::vlenReclaim", "H5Treclaim failed");
}
}

View File

@@ -122,7 +122,7 @@ DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type,
{
id = H5Location::p_dereference(attr.getId(), ref, ref_type, plist, "constructor - by dereference");
}
*/
*/
//--------------------------------------------------------------------------
// Function: DataType copy constructor

View File

@@ -66,7 +66,7 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
void getTypeConvCB(H5T_conv_except_func_t *op, void **user_data) const;
// Sets the memory manager for variable-length datatype
// allocation in H5Dread and H5Dvlen_reclaim.
// allocation in H5Dread and H5Treclaim.
void setVlenMemManager(H5MM_allocate_t alloc, void* alloc_info,
H5MM_free_t free, void* free_info) const;
@@ -75,7 +75,7 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
void setVlenMemManager() const;
// Gets the memory manager for variable-length datatype
// allocation in H5Dread and H5Tvlen_reclaim.
// allocation in H5Dread and H5Treclaim.
void getVlenMemManager(H5MM_allocate_t& alloc, void** alloc_info,
H5MM_free_t& free, void** free_info) const;

View File

@@ -60,7 +60,7 @@ H5std_string Exception::getMajorString(hid_t err_major) const
{
// Preliminary call to H5Eget_msg() to get the length of the message
ssize_t mesg_size = H5Eget_msg(err_major, NULL, NULL, 0);
// If H5Eget_msg() returns a negative value, raise an exception,
if (mesg_size < 0)
throw IdComponentException("Exception::getMajorString",

View File

@@ -684,6 +684,53 @@ unsigned FileAccPropList::getGcReferences() const
return(gc_ref);
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::setFileLocking
///\brief Sets file locking flags.
///\param use_file_locking - IN: Flag that determines if file locks should
// be used or not.
///\param ignore_when_disabled - IN: Flag that determines if file locks
// should be be used when disabled on the file system or not.
///\exception H5::PropListIException
///\par Description
/// For information, please refer to the H5Pset_file_locking API in
/// the HDF5 C Reference Manual.
// Programmer Dana Robinson - 2020
//--------------------------------------------------------------------------
void FileAccPropList::setFileLocking(hbool_t use_file_locking, hbool_t ignore_when_disabled) const
{
herr_t ret_value = H5Pset_file_locking(id, use_file_locking, ignore_when_disabled);
if (ret_value < 0)
{
throw PropListIException("FileAccPropList::setFileLocking", "H5Pset_file_locking failed");
}
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::getFileLocking
///\brief Gets file locking flags.
///\param use_file_locking - OUT: Flag that determines if file locks
// should be used or not.
///\param ignore_when_disabled - OUT: Flag that determines if file locks
// should be be used when disabled on the file system or not.
///\exception H5::PropListIException
///\par Description
/// For information, please refer to the H5Pget_file_locking API in
/// the HDF5 C Reference Manual.
// Programmer Dana Robinson - 2020
//--------------------------------------------------------------------------
void FileAccPropList::getFileLocking(hbool_t& use_file_locking, hbool_t& ignore_when_disabled) const
{
herr_t ret_value = H5Pget_file_locking(id, &use_file_locking, &ignore_when_disabled);
if (ret_value < 0)
{
throw PropListIException("FileAccPropList::getFileLocking", "H5Pget_file_locking failed");
}
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::setLibverBounds
///\brief Sets bounds on versions of library format to be used when creating
@@ -696,10 +743,16 @@ unsigned FileAccPropList::getGcReferences() const
/// Valid values of \a libver_low are as follows:
/// \li \c H5F_LIBVER_EARLIEST (Default)
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_LATEST
///
/// Valid values of \a libver_high are as follows:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_LATEST (Default)
///
/// For more detail, please refer to the H5Pset_libver_bounds API in
@@ -729,10 +782,16 @@ void FileAccPropList::setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libv
/// values:
/// \li \c H5F_LIBVER_EARLIEST
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_LATEST
///
/// and \a libver_high:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_LATEST
// Programmer Binh-Minh Ribler - March, 2015
//--------------------------------------------------------------------------

View File

@@ -126,6 +126,12 @@ class H5_DLLCPP FileAccPropList : public PropList {
// Returns garbage collecting references setting.
unsigned getGcReferences() const;
// Sets file locking parameters.
void setFileLocking(hbool_t use_file_locking, hbool_t ignore_when_disabled) const;
// Gets file locking parameters.
void getFileLocking(hbool_t& use_file_locking, hbool_t& ignore_when_disabled) const;
// 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;

View File

@@ -83,7 +83,7 @@ IntType::IntType(const DataSet& dataset) : AtomType()
{
// Calls C function H5Dget_type to get the id of the datatype
id = H5Dget_type(dataset.getId());
if (id < 0)
{
throw DataSetIException("IntType constructor", "H5Dget_type failed");

View File

@@ -568,7 +568,7 @@ void H5Location::dereference(const H5Location& loc, const void* ref, H5R_type_t
{
p_setId(p_dereference(attr.getId(), ref, ref_type, plist, "dereference"));
}
*/
*/
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
@@ -1403,6 +1403,121 @@ void H5Location::unlink(const H5std_string& name, const LinkAccPropList& lapl) c
unlink(name.c_str(), lapl);
}
//--------------------------------------------------------------------------
// Function: H5Location::getNativeObjinfo
///\brief Retrieves native information about an HDF5 object.
///\param objinfo - OUT: Struct containing the native object info
///\param fields - IN: Indicates the group of information to be retrieved
///\par Description
/// Valid values of \a fields are as follows:
/// \li \c H5O_INFO_HDR (default)
/// \li \c H5O_INFO_META_SIZE
/// \li \c H5O_INFO_ALL
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getNativeObjinfo(H5O_native_info_t& objinfo, unsigned fields) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_native_info(getId(), &objinfo, fields);
// Throw exception if C API returns failure
if (ret_value < 0)
throwException(inMemFunc("getNativeObjinfo"), "H5Oget_native_info failed");
}
//--------------------------------------------------------------------------
// Function: H5Location::getNativeObjinfo
///\brief Retrieves native information about an HDF5 object given its name.
///\param name - IN: Name of the object to be queried - \c char *
///\param objinfo - OUT: Struct containing the native object info
///\param fields - IN: Indicates the group of information to be retrieved
/// - default to H5O_INFO_HDR
///\param lapl - IN: Link access property list
///\par Description
/// Valid values of \a fields are as follows:
/// \li \c H5O_INFO_HDR (default)
/// \li \c H5O_INFO_META_SIZE
/// \li \c H5O_INFO_ALL
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getNativeObjinfo(const char* name, H5O_native_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_native_info_by_name(getId(), name, &objinfo, fields, lapl.getId());
// Throw exception if C API returns failure
if (ret_value < 0)
throwException(inMemFunc("getNativeObjinfo"), "H5Oget_native_info_by_name failed");
}
//--------------------------------------------------------------------------
// Function: H5Location::getNativeObjinfo
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c H5std_string for \a name.
///\param name - IN: Name of the object to be queried - \c H5std_string
///\param objinfo - OUT: Struct containing the native object info
///\param fields - IN: Indicates the group of information to be retrieved
/// - default to H5O_INFO_HDR
///\param lapl - IN: Link access property list
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getNativeObjinfo(const H5std_string& name, H5O_native_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
{
getNativeObjinfo(name.c_str(), objinfo, fields, lapl);
}
//--------------------------------------------------------------------------
// Function: H5Location::getNativeObjinfo
///\brief Retrieves native information about an HDF5 object given its index.
///\param grp_name - IN: Group name where the object belongs - \c char *
///\param idx_type - IN: Type of index
///\param order - IN: Order to traverse
///\param idx - IN: Object position
///\param objinfo - OUT: Struct containing the native object info
///\param fields - IN: Indicates the group of information to be retrieved
/// - default to H5O_INFO_HDR
///\param lapl - IN: Link access property list
///\par Description
/// Valid values of \a fields are as follows:
/// \li \c H5O_INFO_HDR (default)
/// \li \c H5O_INFO_META_SIZE
/// \li \c H5O_INFO_ALL
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getNativeObjinfo(const char* grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_native_info_t& objinfo, unsigned fields,
const LinkAccPropList& lapl) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_native_info_by_idx(getId(), grp_name, idx_type, order,
idx, &objinfo, fields, lapl.getId());
// Throw exception if C API returns failure
if (ret_value < 0)
throwException(inMemFunc("getNativeObjinfo"), "H5Oget_native_info_by_idx failed");
}
//--------------------------------------------------------------------------
// Function: H5Location::getObjinfo
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c H5std_string for \a name.
///\param name - IN: Name of the object to be queried - \c H5std_string
///\param objinfo - OUT: Struct containing the native object info
///\param fields - IN: Indicates a group of information to be retrieved
/// - default to H5O_INFO_HDR
///\param lapl - IN: Link access property list
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getNativeObjinfo(const H5std_string& grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_native_info_t& objinfo, unsigned fields,
const LinkAccPropList& lapl) const
{
getNativeObjinfo(grp_name.c_str(), idx_type, order, idx, objinfo, fields, lapl);
}
//--------------------------------------------------------------------------
// Function: H5Location::getObjinfo
///\brief Retrieves information about an HDF5 object.
@@ -1418,15 +1533,15 @@ void H5Location::unlink(const H5std_string& name, const LinkAccPropList& lapl) c
/// \li \c H5O_INFO_ALL
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getObjinfo(H5O_info_t& objinfo, unsigned fields) const
void H5Location::getObjinfo(H5O_info2_t& objinfo, unsigned fields) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_info2(getId(), &objinfo, fields);
herr_t ret_value = H5Oget_info3(getId(), &objinfo, fields);
// Throw exception if C API returns failure
if (ret_value < 0)
throwException(inMemFunc("getObjinfo"), "H5Oget_info2 failed");
throwException(inMemFunc("getObjinfo"), "H5Oget_info3 failed");
}
//--------------------------------------------------------------------------
@@ -1447,10 +1562,10 @@ void H5Location::getObjinfo(H5O_info_t& objinfo, unsigned fields) const
/// \li \c H5O_INFO_ALL
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getObjinfo(const char* name, H5O_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
void H5Location::getObjinfo(const char* name, H5O_info2_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_name2(getId(), name, &objinfo, fields, lapl.getId());
herr_t ret_value = H5Oget_info_by_name3(getId(), name, &objinfo, fields, lapl.getId());
// Throw exception if C API returns failure
if (ret_value < 0)
@@ -1469,7 +1584,7 @@ void H5Location::getObjinfo(const char* name, H5O_info_t& objinfo, unsigned fiel
///\param lapl - IN: Link access property list
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getObjinfo(const H5std_string& name, H5O_info_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
void H5Location::getObjinfo(const H5std_string& name, H5O_info2_t& objinfo, unsigned fields, const LinkAccPropList& lapl) const
{
getObjinfo(name.c_str(), objinfo, fields, lapl);
}
@@ -1496,11 +1611,11 @@ void H5Location::getObjinfo(const H5std_string& name, H5O_info_t& objinfo, unsig
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getObjinfo(const char* grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields,
H5_iter_order_t order, hsize_t idx, H5O_info2_t& objinfo, unsigned fields,
const LinkAccPropList& lapl) const
{
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_idx2(getId(), grp_name, idx_type, order,
herr_t ret_value = H5Oget_info_by_idx3(getId(), grp_name, idx_type, order,
idx, &objinfo, fields, lapl.getId());
// Throw exception if C API returns failure
@@ -1521,7 +1636,7 @@ void H5Location::getObjinfo(const char* grp_name, H5_index_t idx_type,
// July, 2018
//--------------------------------------------------------------------------
void H5Location::getObjinfo(const H5std_string& grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields,
H5_iter_order_t order, hsize_t idx, H5O_info2_t& objinfo, unsigned fields,
const LinkAccPropList& lapl) const
{
getObjinfo(grp_name.c_str(), idx_type, order, idx, objinfo, fields, lapl);
@@ -1596,11 +1711,11 @@ void H5Location::getObjinfo(const H5std_string& name, H5G_stat_t& statbuf) const
///\exception H5::FileIException/H5::GroupIException/H5::LocationException
// 2000
//--------------------------------------------------------------------------
H5L_info_t H5Location::getLinkInfo(const char* link_name, const LinkAccPropList& lapl) const
H5L_info2_t H5Location::getLinkInfo(const char* link_name, const LinkAccPropList& lapl) const
{
H5L_info_t linkinfo; // link info structure
H5L_info2_t linkinfo; // link info structure
herr_t ret_value = H5Lget_info(getId(), link_name, &linkinfo, lapl.getId());
herr_t ret_value = H5Lget_info2(getId(), link_name, &linkinfo, lapl.getId());
if (ret_value < 0)
throwException("getLinkInfo", "H5Lget_info to find buffer size failed");
@@ -1613,7 +1728,7 @@ H5L_info_t H5Location::getLinkInfo(const char* link_name, const LinkAccPropList&
/// It differs from the above function in that it takes an
/// \c H5std_string for \a link_name.
//--------------------------------------------------------------------------
H5L_info_t H5Location::getLinkInfo(const H5std_string& link_name, const LinkAccPropList& lapl) const
H5L_info2_t H5Location::getLinkInfo(const H5std_string& link_name, const LinkAccPropList& lapl) const
{
return(getLinkInfo(link_name.c_str(), lapl));
}
@@ -1629,7 +1744,7 @@ H5L_info_t H5Location::getLinkInfo(const H5std_string& link_name, const LinkAccP
//--------------------------------------------------------------------------
H5std_string H5Location::getLinkval(const char* name, size_t size) const
{
H5L_info_t linkinfo;
H5L_info2_t linkinfo;
char *value_C; // value in C string
size_t val_size = size;
H5std_string value = "";
@@ -1638,7 +1753,7 @@ H5std_string H5Location::getLinkval(const char* name, size_t size) const
// if user doesn't provide buffer size, determine it
if (size == 0)
{
ret_value = H5Lget_info(getId(), name, &linkinfo, H5P_DEFAULT);
ret_value = H5Lget_info2(getId(), name, &linkinfo, H5P_DEFAULT);
if (ret_value < 0)
throwException("getLinkval", "H5Lget_info to find buffer size failed");
@@ -1941,11 +2056,11 @@ ssize_t H5Location::getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size
//--------------------------------------------------------------------------
H5O_type_t H5Location::childObjType(const char* objname) const
{
H5O_info_t objinfo;
H5O_info2_t objinfo;
H5O_type_t objtype = H5O_TYPE_UNKNOWN;
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_name2(getId(), objname, &objinfo, H5O_INFO_BASIC, H5P_DEFAULT);
herr_t ret_value = H5Oget_info_by_name3(getId(), objname, &objinfo, H5O_INFO_BASIC, H5P_DEFAULT);
// Throw exception if C API returns failure
if (ret_value < 0)
@@ -2016,11 +2131,11 @@ H5O_type_t H5Location::childObjType(const H5std_string& objname) const
H5O_type_t H5Location::childObjType(hsize_t index, H5_index_t index_type, H5_iter_order_t order, const char* objname) const
{
herr_t ret_value;
H5O_info_t objinfo;
H5O_info2_t objinfo;
H5O_type_t objtype = H5O_TYPE_UNKNOWN;
// Use C API to get information of the object
ret_value = H5Oget_info_by_idx2(getId(), objname, index_type, order, index, &objinfo, H5O_INFO_BASIC, H5P_DEFAULT);
ret_value = H5Oget_info_by_idx3(getId(), objname, index_type, order, index, &objinfo, H5O_INFO_BASIC, H5P_DEFAULT);
// Throw exception if C API returns failure
if (ret_value < 0)
@@ -2058,11 +2173,11 @@ H5O_type_t H5Location::childObjType(hsize_t index, H5_index_t index_type, H5_ite
//--------------------------------------------------------------------------
unsigned H5Location::childObjVersion(const char* objname) const
{
H5O_info_t objinfo;
H5O_native_info_t objinfo;
unsigned version = 0;
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_name2(getId(), objname, &objinfo, H5O_INFO_HDR, H5P_DEFAULT);
herr_t ret_value = H5Oget_native_info_by_name(getId(), objname, &objinfo, H5O_NATIVE_INFO_HDR, H5P_DEFAULT);
// Throw exception if C API returns failure
if (ret_value < 0)

View File

@@ -72,7 +72,7 @@ class H5_DLLCPP H5Location : public IdComponent {
// Creates a reference to a named object or to a dataset region
// in this object.
void reference(void* ref, const char* name,
void reference(void* ref, const char* name,
H5R_type_t ref_type = H5R_OBJECT) const;
void reference(void* ref, const H5std_string& name,
H5R_type_t ref_type = H5R_OBJECT) const;
@@ -118,8 +118,8 @@ class H5_DLLCPP H5Location : public IdComponent {
DataSet openDataSet(const char* name, const DSetAccPropList& dapl = DSetAccPropList::DEFAULT) const;
DataSet openDataSet(const H5std_string& name, const DSetAccPropList& dapl = DSetAccPropList::DEFAULT) const;
H5L_info_t getLinkInfo(const char* link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
H5L_info_t getLinkInfo(const H5std_string& link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
H5L_info2_t getLinkInfo(const char* link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
H5L_info2_t getLinkInfo(const H5std_string& link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
// Returns the value of a symbolic link.
H5std_string getLinkval(const char* link_name, size_t size=0) const;
@@ -147,26 +147,47 @@ class H5_DLLCPP H5Location : public IdComponent {
unsigned childObjVersion(const H5std_string& objname) const;
// Retrieves information about an HDF5 object.
void getObjinfo(H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC) const;
void getObjinfo(H5O_info2_t& objinfo, unsigned fields = H5O_INFO_BASIC) const;
// Retrieves information about an HDF5 object, given its name.
void getObjinfo(const char* name, H5O_info_t& objinfo,
void getObjinfo(const char* name, H5O_info2_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
void getObjinfo(const H5std_string& name, H5O_info_t& objinfo,
void getObjinfo(const H5std_string& name, H5O_info2_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
// Retrieves information about an HDF5 object, given its index.
void getObjinfo(const char* grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
H5_iter_order_t order, hsize_t idx, H5O_info2_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
void getObjinfo(const H5std_string& grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
H5_iter_order_t order, hsize_t idx, H5O_info2_t& objinfo,
unsigned fields = H5O_INFO_BASIC,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
// Retrieves native native information about an HDF5 object.
void getNativeObjinfo(H5O_native_info_t& objinfo, unsigned fields = H5O_NATIVE_INFO_HDR) const;
// Retrieves native information about an HDF5 object, given its name.
void getNativeObjinfo(const char* name, H5O_native_info_t& objinfo,
unsigned fields = H5O_NATIVE_INFO_HDR,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
void getNativeObjinfo(const H5std_string& name, H5O_native_info_t& objinfo,
unsigned fields = H5O_NATIVE_INFO_HDR,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
// Retrieves native information about an HDF5 object, given its index.
void getNativeObjinfo(const char* grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_native_info_t& objinfo,
unsigned fields = H5O_NATIVE_INFO_HDR,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
void getNativeObjinfo(const H5std_string& grp_name, H5_index_t idx_type,
H5_iter_order_t order, hsize_t idx, H5O_native_info_t& objinfo,
unsigned fields = H5O_NATIVE_INFO_HDR,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Returns the type of an object in this group, given the
// object's index.

View File

@@ -52,9 +52,9 @@ extern "C" herr_t userAttrOpWrpr(hid_t loc_id, const char *attr_name,
}
// userVisitOpWrpr interfaces between the user's function and the
// C library function H5Ovisit2
// C library function H5Ovisit3
extern "C" herr_t userVisitOpWrpr(hid_t obj_id, const char *attr_name,
const H5O_info_t *obj_info, void *op_data)
const H5O_info2_t *obj_info, void *op_data)
{
H5std_string s_attr_name = H5std_string(attr_name);
UserData4Visit* myData = reinterpret_cast<UserData4Visit *> (op_data);
@@ -250,13 +250,11 @@ int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_dat
///\param *op_data - IN: User-defined pointer to data required by the
/// application for its processing of the object
///\param fields - IN: Flags specifying the fields to be retrieved
/// to the callback op via the H5O_info_t argument.
/// to the callback op via the H5O_info2_t argument.
/// \li \c H5O_INFO_BASIC fileno, addr, type, and rc fields
/// \li \c H5O_INFO_TIME atime, mtime, ctime, and btime fields
/// \li \c H5O_INFO_NUM_ATTRS num_attrs field
/// \li \c H5O_INFO_HDR hdr field
/// \li \c H5O_INFO_META_SIZE meta_size field
/// \li \c H5O_INFO_ALL H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE
/// \li \c H5O_INFO_ALL H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS
///\return
/// \li On success:
/// \li the return value of the first operator that returns a positive value
@@ -266,7 +264,7 @@ int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_dat
/// wrong within the library or the operator failed
///\exception H5::Exception
///\par Description
/// For information, please refer to the H5Ovisit2 API in the HDF5
/// For information, please refer to the H5Ovisit3 API in the HDF5
/// C Reference Manual.
// Programmer Binh-Minh Ribler - Feb, 2019
//--------------------------------------------------------------------------
@@ -279,15 +277,15 @@ void H5Object::visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_
userData->obj = this;
// Call the C API passing in op wrapper and info
herr_t ret_value = H5Ovisit2(getId(), idx_type, order, userVisitOpWrpr, static_cast<void *>(userData), fields);
herr_t ret_value = H5Ovisit3(getId(), idx_type, order, userVisitOpWrpr, static_cast<void *>(userData), fields);
// Release memory
delete userData;
// Throw exception if H5Ovisit2 failed, which could be a failure in
// Throw exception if H5Ovisit3 failed, which could be a failure in
// the library or in the call back operator
if (ret_value < 0)
throw Exception(inMemFunc("visit"), "H5Ovisit2 failed");
throw Exception(inMemFunc("visit"), "H5Ovisit3 failed");
}
//--------------------------------------------------------------------------
@@ -304,15 +302,15 @@ void H5Object::visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_
//--------------------------------------------------------------------------
unsigned H5Object::objVersion() const
{
H5O_info_t objinfo;
H5O_native_info_t objinfo;
unsigned version = 0;
// Use C API to get information of the object
herr_t ret_value = H5Oget_info2(getId(), &objinfo, H5O_INFO_HDR);
herr_t ret_value = H5Oget_native_info(getId(), &objinfo, H5O_NATIVE_INFO_HDR);
// Throw exception if C API returns failure
if (ret_value < 0)
throw Exception(inMemFunc("objVersion"), "H5Oget_info failed");
throw Exception(inMemFunc("objVersion"), "H5Oget_native_info failed");
// Return a valid version or throw an exception for invalid value
else
{
@@ -332,9 +330,9 @@ unsigned H5Object::objVersion() const
//--------------------------------------------------------------------------
int H5Object::getNumAttrs() const
{
H5O_info_t oinfo; /* Object info */
H5O_info2_t oinfo; /* Object info */
if(H5Oget_info2(getId(), &oinfo, H5O_INFO_NUM_ATTRS) < 0)
if(H5Oget_info3(getId(), &oinfo, H5O_INFO_NUM_ATTRS) < 0)
throw AttributeIException(inMemFunc("getNumAttrs"), "H5Oget_info failed");
else
return(static_cast<int>(oinfo.num_attrs));

View File

@@ -31,7 +31,7 @@ namespace H5 {
H5Object is H5File is not an HDF5 object, and renaming H5Object
to H5Location will risk breaking user applications.
-BMR
Apr 2, 2014: Added wrapper getObjName for H5Iget_name
Apr 2, 2014: Added wrapper getObjName for H5Iget_name
Sep 21, 2016: Rearranging classes (HDFFV-9920) moved H5A wrappers back
into H5Object. This way, C functions that takes attribute id
can be in H5Location and those that cannot take attribute id
@@ -44,10 +44,10 @@ typedef void (*attr_operator_t)(H5Object& loc,
const H5std_string attr_name,
void *operator_data);
// Define the operator function pointer for H5Ovisit2().
// Define the operator function pointer for H5Ovisit3().
typedef int (*visit_operator_t)(H5Object& obj,
const H5std_string attr_name,
const H5O_info_t *oinfo,
const H5O_info2_t *oinfo,
void *operator_data);
// User data for attribute iteration

View File

@@ -38,7 +38,7 @@ PROJECT_NAME =
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = "1.11.6"
PROJECT_NUMBER = "1.13.0"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@@ -311,7 +311,7 @@ fi
if test "x$do_link" = "xyes"; then
shared_link=""
# conditionally link with the hl library
# conditionally link with the hl library
if test "X$HL" = "Xhl"; then
libraries=" $libraries -lhdf5_hl_cpp -lhdf5_cpp -lhdf5_hl -lhdf5 "
else

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
project (HDF5_CPP_TEST CXX)
# --------------------------------------------------------------------
@@ -39,6 +39,7 @@ configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @O
add_executable (cpp_testhdf5 ${CPP_TEST_SOURCES} )
target_include_directories (cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
target_compile_options(cpp_testhdf5 PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
target_compile_definitions(cpp_testhdf5
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
@@ -48,7 +49,14 @@ if (NOT BUILD_SHARED_LIBS)
else ()
TARGET_C_PROPERTIES (cpp_testhdf5 SHARED)
target_link_libraries (cpp_testhdf5 PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${HDF5_TEST_LIBSH_TARGET})
if (MINGW)
target_link_options (${HDF5_CPP_LIBSH_TARGET}
PRIVATE -static-libgcc -static-libstdc++
)
endif ()
endif ()
set_target_properties (cpp_testhdf5 PROPERTIES FOLDER test/cpp)
include (CMakeTests.cmake)
if (HDF5_TEST_CPP AND HDF5_TEST_SERIAL)
include (CMakeTests.cmake)
endif ()

View File

@@ -32,9 +32,10 @@ add_test (
)
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME CPP_testhdf5 COMMAND $<TARGET_FILE:cpp_testhdf5>)
add_test (NAME CPP_testhdf5 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:cpp_testhdf5>)
else ()
add_test (NAME CPP_testhdf5 COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
-D "TEST_ARGS:STRING="
-D "TEST_EXPECT=0"

View File

@@ -15,51 +15,60 @@
### T E S T I N G ###
##############################################################################
##############################################################################
set (VFD_LIST
sec2
stdio
core
split
multi
family
)
if (DIRECT_VFD)
set (VFD_LIST ${VFD_LIST} direct)
endif ()
set (VFD_LIST
sec2
stdio
core
core_paged
split
multi
family
)
macro (ADD_VFD_TEST vfdname resultcode)
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
add_test (
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
tattr_basic.h5
tattr_compound.h5
tattr_dtype.h5
tattr_multi.h5
tattr_scalar.h5
tfattrs.h5
titerate.h5
)
add_test (
if (DIRECT_VFD)
set (VFD_LIST ${VFD_LIST} direct)
endif ()
##############################################################################
##############################################################################
### T H E T E S T S M A C R O S ###
##############################################################################
##############################################################################
macro (ADD_VFD_TEST vfdname resultcode)
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
add_test (
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove
tattr_basic.h5
tattr_compound.h5
tattr_dtype.h5
tattr_multi.h5
tattr_scalar.h5
tfattrs.h5
titerate.h5
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${vfdname}
)
add_test (
NAME CPP_VFD-${vfdname}-cpp_testhdf5
COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"
-D "TEST_EXPECT=${resultcode}"
-D "TEST_OUTPUT=cpp_testhdf5"
-D "TEST_OUTPUT=${vfdname}-cpp_testhdf5.out"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
endif ()
endmacro ()
)
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
endif ()
endmacro ()
# Run test with different Virtual File Driver
foreach (vfd ${VFD_LIST})
ADD_VFD_TEST (${vfd} 0)
endforeach ()
# Run test with different Virtual File Driver
foreach (vfd ${VFD_LIST})
ADD_VFD_TEST (${vfd} 0)
endforeach ()

View File

@@ -268,7 +268,7 @@ static herr_t test_simple_io( H5File& file)
/*-------------------------------------------------------------------------
* Function: test_datasize
*
* Purpose Tests DataSet::getInMemDataSize().
* Purpose Tests DataSet::getInMemDataSize().
*
* Return Success: 0
*
@@ -901,7 +901,7 @@ static herr_t test_multiopen (H5File& file)
if (cur_size[0]!=tmp_size[0])
{
cerr << " Got " << static_cast<int>(tmp_size[0])
<< " instead of " << static_cast<int>(cur_size[0])
<< " instead of " << static_cast<int>(cur_size[0])
<< "!" << endl;
throw Exception("test_multiopen", "Failed in multi-open with extending");
}
@@ -1116,9 +1116,9 @@ static herr_t test_types(H5File& file)
/*-------------------------------------------------------------------------
* Function: test_getObjinfo
* Function: test_getNativeObjinfo
*
* Purpose Tests getObjinfo()
* Purpose Tests getNativeObjinfo()
*
* Return Success: 0
* Failure: -1
@@ -1126,7 +1126,7 @@ static herr_t test_types(H5File& file)
* July, 2018
*-------------------------------------------------------------------------
*/
static herr_t test_getinfo(H5File& file)
static herr_t test_getnativeinfo(H5File& file)
{
SUBTEST("Getting object information");
@@ -1142,18 +1142,18 @@ static herr_t test_getinfo(H5File& file)
DataSet dataset(file.openDataSet(DSET_CHUNKED_NAME));
// Get dataset header info
H5O_info_t oinfo;
HDmemset(&oinfo, 0, sizeof(oinfo));
dataset.getObjinfo(oinfo, H5O_INFO_HDR);
verify_val(oinfo.hdr.nchunks, 1, "DataSet::getObjinfo", __LINE__, __FILE__);
H5O_native_info_t ninfo;
HDmemset(&ninfo, 0, sizeof(ninfo));
dataset.getNativeObjinfo(ninfo, H5O_NATIVE_INFO_HDR);
verify_val(ninfo.hdr.nchunks, 1, "DataSet::getNativeObjinfo", __LINE__, __FILE__);
dataset.close();
// Open the dataset we created above and then close it. This is one
// way to open an existing dataset for accessing.
dataset = file.openDataSet(DSET_DEFAULT_NAME);
HDmemset(&oinfo, 0, sizeof(oinfo));
dataset.getObjinfo(oinfo, H5O_INFO_ALL);
verify_val(oinfo.hdr.nchunks, 1, "DataSet::getObjinfo", __LINE__, __FILE__);
HDmemset(&ninfo, 0, sizeof(ninfo));
dataset.getNativeObjinfo(ninfo, H5O_NATIVE_INFO_ALL);
verify_val(ninfo.hdr.nchunks, 1, "DataSet::getNativeObjinfo", __LINE__, __FILE__);
dataset.close();
PASSED();
@@ -1169,10 +1169,10 @@ static herr_t test_getinfo(H5File& file)
// catch all other exceptions
catch (Exception& E)
{
issue_fail_msg("test_getinfo", __LINE__, __FILE__);
issue_fail_msg("test_getnativeinfo", __LINE__, __FILE__);
return -1;
}
} // test_getinfo
} // test_getnativeinfo
/*-------------------------------------------------------------------------
@@ -1408,7 +1408,7 @@ void test_dset()
nerrors += test_create(file) < 0 ? 1:0;
nerrors += test_simple_io(file) < 0 ? 1:0;
nerrors += test_getinfo(file) < 0 ? 1:0;
nerrors += test_getnativeinfo(file) < 0 ? 1:0;
nerrors += test_tconv(file) < 0 ? 1:0;
nerrors += test_compression(file) < 0 ? 1:0;
nerrors += test_nbit_compression(file) < 0 ? 1:0;

View File

@@ -55,7 +55,7 @@ class TestFailedException : public Exception {
// Overloaded/Template functions to verify values and display proper info
// Verifies
// Verifies
void verify_val(const char* x, const char* value, const char* where, int line, const char* file_name);
template <class Type1, class Type2>

View File

@@ -210,7 +210,7 @@ static void test_array_compound_array()
// Verify the compound datatype info
CompType ctype_check(base_type.getId());
base_type.close();
// Check the number of members
nmemb = ctype_check.getNmembers();
verify_val(nmemb, 2, "ctype_check.getNmembers", __LINE__, __FILE__);
@@ -282,11 +282,11 @@ static void test_array_compound_array()
*/
H5::DataType getArr()
{
hsize_t *dims = new hsize_t;
*dims = 5;
H5::ArrayType ret;
ret = H5::ArrayType(H5::PredType::NATIVE_INT, 1, dims);
delete dims;
hsize_t *dims = new hsize_t;
*dims = 5;
H5::ArrayType ret;
ret = H5::ArrayType(H5::PredType::NATIVE_INT, 1, dims);
delete dims;
return ret;
}
@@ -368,7 +368,6 @@ static void test_array_info()
float f[ARRAY1_DIM1];
} s1_t;
s1_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; // Information to write
s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; // Information read in
hsize_t sdims1[] = {SPACE1_DIM1};
hsize_t tdims1[] = {ARRAY1_DIM1};
int ii; // counting variables

View File

@@ -282,7 +282,7 @@ static void test_attr_getname()
if (attr_exists == false)
throw InvalidActionException("H5File::attrExists", "Attribute should exist but does not");
// Open attribute
// Open attribute
Attribute fattr1(fid1.openAttribute(FATTR1_NAME));
// A. Get attribute name with
@@ -519,7 +519,7 @@ static void test_attr_basic_read()
verify_val(num_attrs, 3, "DataSet::getNumAttrs", __LINE__, __FILE__);
// Verify the correct number of attributes another way
H5O_info_t oinfo;
H5O_info2_t oinfo;
HDmemset(&oinfo, 0, sizeof(oinfo));
dataset.getObjinfo(oinfo, H5O_INFO_NUM_ATTRS);
verify_val(oinfo.num_attrs, 3, "DataSet::getObjinfo", __LINE__, __FILE__);
@@ -670,7 +670,7 @@ static void test_attr_compound_read()
verify_val(num_attrs, 1, "DataSet::getNumAttrs", __LINE__, __FILE__);
// Verify the correct number of attributes another way
H5O_info_t oinfo;
H5O_info2_t oinfo;
HDmemset(&oinfo, 0, sizeof(oinfo));
dataset.getObjinfo(oinfo, H5O_INFO_NUM_ATTRS);
verify_val(oinfo.num_attrs, 1, "DataSet::getObjinfo", __LINE__, __FILE__);
@@ -1221,7 +1221,7 @@ static void test_attr_delete()
attr_name = fattr.getName();
verify_val(attr_name, FATTR1_NAME, "Attribute::getName", __LINE__, __FILE__);
fattr.close();
// Test deleting non-existing attribute
// Open the dataset

View File

@@ -633,7 +633,7 @@ static void test_file_attribute()
verify_val(num_objs, 0, "H5File::getObjCount(H5F_OBJ_DATATYPE)", __LINE__, __FILE__);
num_objs = file5.getObjCount(H5F_OBJ_FILE);
verify_val(num_objs, 1, "H5File::getObjCount(H5F_OBJ_FILE)", __LINE__, __FILE__);
// Get the file name using the attributes
H5std_string fname = fattr1.getFileName();
verify_val(fname, FILE5, "H5File::getFileName()", __LINE__, __FILE__);
@@ -716,10 +716,10 @@ static void test_libver_bounds_real(
verify_val(obj_version, oh_vers_create, "H5File::childObjVersion", __LINE__, __FILE__);
// Verify object header version another way
H5O_info_t oinfo;
HDmemset(&oinfo, 0, sizeof(oinfo));
file.getObjinfo(oinfo, H5O_INFO_HDR);
verify_val(oinfo.hdr.version, oh_vers_create, "H5File::getObjinfo", __LINE__, __FILE__);
H5O_native_info_t ninfo;
HDmemset(&ninfo, 0, sizeof(ninfo));
file.getNativeObjinfo(ninfo, H5O_NATIVE_INFO_HDR);
verify_val(ninfo.hdr.version, oh_vers_create, "H5File::getNativeObjinfo", __LINE__, __FILE__);
/*
* Reopen the file and make sure the root group still has the correct
@@ -744,9 +744,9 @@ static void test_libver_bounds_real(
verify_val(obj_version, oh_vers_mod, "Group::objVersion", __LINE__, __FILE__);
// Verify object header version another way
HDmemset(&oinfo, 0, sizeof(oinfo));
group.getObjinfo(oinfo, H5O_INFO_HDR);
verify_val(oinfo.hdr.version, oh_vers_mod, "Group::getObjinfo", __LINE__, __FILE__);
HDmemset(&ninfo, 0, sizeof(ninfo));
group.getNativeObjinfo(ninfo, H5O_NATIVE_INFO_HDR);
verify_val(ninfo.hdr.version, oh_vers_mod, "Group::getNativeObjinfo", __LINE__, __FILE__);
group.close(); // close "/G1"
@@ -984,7 +984,7 @@ static void test_file_info()
/* ret=H5Pget_shared_mesg_nindexes(fcpl2,&nindexes);
CHECK(ret, FAIL, "H5Pget_shared_mesg_nindexes");
VERIFY(nindexes, MISC11_NINDEXES, "H5Pget_shared_mesg_nindexes");
*/
*/
// Get and verify the file space info from the creation property list */
fcpl2.getFileSpaceStrategy(out_strategy, out_persist, out_threshold);

View File

@@ -96,7 +96,7 @@ int iter_strcmp(const void *s1, const void *s2)
* Purpose Custom link iteration callback routine
*-------------------------------------------------------------------------
*/
static herr_t liter_cb(hid_t H5_ATTR_UNUSED group, const char *name, const H5L_info_t H5_ATTR_UNUSED *link_info, void *op_data)
static herr_t liter_cb(hid_t H5_ATTR_UNUSED group, const char *name, const H5L_info2_t H5_ATTR_UNUSED *link_info, void *op_data)
{
iter_info *info = (iter_info *)op_data;
static int count = 0;
@@ -158,7 +158,7 @@ static void test_iter_group(FileAccPropList& fapl)
/* Test iterating over empty group */
info.command = RET_ZERO;
idx = 0;
ret = H5Literate(file.getId(), H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info);
ret = H5Literate2(file.getId(), H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info);
verify_val(ret, SUCCEED, "H5Literate", __LINE__, __FILE__);
DataType datatype(PredType::NATIVE_INT);
@@ -207,7 +207,7 @@ static void test_iter_group(FileAccPropList& fapl)
H5std_string obj_name;
for (i = 0; i < nobjs; i++)
{
//H5O_info_t oinfo; /* Object info */
//H5O_info2_t oinfo; /* Object info */
obj_name = root_group.getObjnameByIdx(i);
//ret = (herr_t)H5Lget_name_by_idx(root_group, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)i, dataset_name, (size_t)NAMELEN, H5P_DEFAULT);
@@ -287,7 +287,7 @@ static void test_iter_group(FileAccPropList& fapl)
/* Test all objects in group, when callback always returns 0 */
info.command = RET_ZERO;
idx = 0;
if((ret = H5Literate(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) > 0)
if((ret = H5Literate2(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) > 0)
TestErrPrintf("Group iteration function didn't return zero correctly!\n");
/* Test all objects in group, when callback always returns 1 */
@@ -295,7 +295,7 @@ static void test_iter_group(FileAccPropList& fapl)
info.command = RET_TWO;
i = 0;
idx = 0;
while((ret = H5Literate(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) > 0) {
while((ret = H5Literate2(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) > 0) {
/* Verify return value from iterator gets propagated correctly */
verify_val(ret, 2, "H5Literate", __LINE__, __FILE__);
@@ -321,7 +321,7 @@ static void test_iter_group(FileAccPropList& fapl)
info.command = new_format ? RET_CHANGE2 : RET_CHANGE;
i = 0;
idx = 0;
while((ret = H5Literate(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) >= 0) {
while((ret = H5Literate2(file, H5_INDEX_NAME, H5_ITER_INC, &idx, liter_cb, &info)) >= 0) {
/* Verify return value from iterator gets propagated correctly */
verify_val(ret, 1, "H5Literate", __LINE__, __FILE__);
@@ -400,7 +400,7 @@ static void test_HDFFV_9920()
{
int attr_data[2] = { 100, 200};
hsize_t dims[1] = { DIM1 };
try
{
// Create a new file and a group in it
@@ -414,13 +414,13 @@ static void test_HDFFV_9920()
DataSet fds = file.createDataSet(FDATASET_NAME, PredType::STD_I32BE, dspace);
DataSet gds = gr1.createDataSet(GDATASET_NAME, PredType::STD_I32BE, dspace);
// Create a file attribute and a group attribute.
Attribute fa1 = file.createAttribute(FATTR_NAME, PredType::STD_I32BE,
// Create a file attribute and a group attribute.
Attribute fa1 = file.createAttribute(FATTR_NAME, PredType::STD_I32BE,
dspace);
Attribute ga1 = gr1.createAttribute(GATTR_NAME, PredType::STD_I32BE,
Attribute ga1 = gr1.createAttribute(GATTR_NAME, PredType::STD_I32BE,
dspace);
// Write the attribute data.
// Write the attribute data.
fa1.write( PredType::NATIVE_INT, attr_data);
ga1.write( PredType::NATIVE_INT, attr_data);

View File

@@ -190,7 +190,7 @@ const H5std_string GROUP2NAME("Second_group");
static void
test_lcpl(hid_t fapl_id, hbool_t new_format)
{
H5L_info_t linfo;
H5L_info2_t linfo;
char filename[1024];
hsize_t dims[2];
@@ -604,7 +604,7 @@ const int RANK = 2;
const int DIM1 = 2;
// Operator function
static int visit_obj_cb(H5Object& obj, const H5std_string name, const H5O_info_t *oinfo, void *_op_data)
static int visit_obj_cb(H5Object& obj, const H5std_string name, const H5O_info2_t *oinfo, void *_op_data)
{
ovisit_ud_t *op_data = static_cast <ovisit_ud_t *>(_op_data);

View File

@@ -430,7 +430,6 @@ const H5std_string DSETNAME("dataset");
static void test_open_object_header()
{
hsize_t dims[2];
H5G_info_t ginfo; /* Group info struct */
// Output message about test being performed
SUBTEST("Group::getObjId");
@@ -485,6 +484,7 @@ static void test_open_object_header()
dset.setId(obj_dset);
dspace = dset.getSpace();
bool is_simple = dspace.isSimple();
verify_val(is_simple, true, "isSimple", __LINE__, __FILE__);
dspace.close();
// Open datatype object from the group
@@ -542,7 +542,7 @@ const H5std_string GROUP1NAME("group1");
const H5std_string GROUP2NAME("group2");
static void test_getobjectinfo_same_file()
{
H5O_info_t oinfo1, oinfo2; /* Object info structs */
H5O_info2_t oinfo1, oinfo2; /* Object info structs */
// Output message about test being performed
SUBTEST("Group::getObjinfo");

View File

@@ -476,13 +476,13 @@ static void test_reference_group()
// Check getting file name given the group dereferenced via constructor
H5std_string fname = refgroup.getFileName();
verify_val(fname, FILE1, "H5Group::getFileName",__LINE__,__FILE__);
// Check getting file name given the group dereferenced by ::reference
fname = group.getFileName();
verify_val(fname, FILE1, "H5Group::getFileName",__LINE__,__FILE__);
// Check object type using Group::getObjinfo()
H5O_info_t oinfo;
H5O_info2_t oinfo;
HDmemset(&oinfo, 0, sizeof(oinfo));
group.getObjinfo(".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)0, oinfo);
verify_val(oinfo.type, H5O_TYPE_DATASET, "Group::getObjinfo",__LINE__,__FILE__);

View File

@@ -54,7 +54,7 @@ using namespace H5;
H5T_NATIVE_##TYPE##_ALIGN_g=MAX(H5T_NATIVE_##TYPE##_ALIGN_g, VAL)
#endif
/* #include "H5Tpkg.h"
*/
*/
const char *FILENAME[] = {
"dtypes1.h5",
@@ -392,7 +392,7 @@ static void test_vltype()
try
{
VarLenType vltype(PredType::NATIVE_INT);
bool in_class = vltype.detectClass(H5T_VLEN);
verify_val(in_class, true, "VarLenType::detectClass() with H5T_VLEN", __LINE__, __FILE__);
in_class = vltype.detectClass(H5T_INTEGER);
@@ -403,7 +403,7 @@ static void test_vltype()
// Verify that the copied type has a valid id
bool is_valid = IdComponent::isValid(vltype2.getId());
verify_val(in_class, true, "isValid on vltype2", __LINE__, __FILE__);
verify_val(is_valid, true, "isValid on vltype2", __LINE__, __FILE__);
in_class = vltype2.detectClass(H5T_VLEN);
verify_val(in_class, true, "VarLenType::detectClass() with H5T_VLEN for vltype2", __LINE__, __FILE__);
@@ -1010,8 +1010,8 @@ static void test_encode_decode()
FloatType decoded_flttyp(decoded_flt_ptr->getId());
verify_val(flttyp == decoded_flttyp, true, "DataType::decode", __LINE__, __FILE__);
H5std_string norm_string;
H5T_norm_t mant_norm = decoded_flttyp.getNorm(norm_string);
//H5std_string norm_string;
//H5T_norm_t mant_norm = decoded_flttyp.getNorm(norm_string);
//verify_val(decoded_flttyp.isVariableStr(), true, "DataType::decode", __LINE__, __FILE__);
delete decoded_flt_ptr;

View File

@@ -49,6 +49,7 @@ fi
# Figure out compiler flags
. $srcdir/config/gnu-flags
. $srcdir/config/clang-flags
# temp patch: if GCC 4.2.1 is used in Lion or Mountain Lion systems, do not
# use -O option as it causes failures in test/dt_arith.
case "$host_os" in
@@ -155,11 +156,13 @@ esac
# get c++ version info
case $CXX in
clang++)
. $srcdir/config/clang-cxxflags
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\
grep 'Apple' | sed 's/(.*//'`
;;
*g++*)
. $srcdir/config/gnu-cxxflags
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\
grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'`
;;

200
config/clang-cxxflags Normal file
View File

@@ -0,0 +1,200 @@
# -*- shell-script -*-
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
# This file should be sourced into configure if the compiler is the
# Clang clang++ compiler or a derivative. It is careful not to do anything
# if the compiler is not Clang; otherwise 'cxx_flags_set' is set to 'yes'
#
#
# For now, do not promote any warnings to errors.
#
PROMOTE_ERRORS_DFLT=no
#
# This filter rewrites -Werror= as -W, in that way demoting warnings
# promoted to errors back to warnings, if PROMOTE_ERRORS is no.
#
demote_errors()
{
if [ ${PROMOTE_ERRORS:-${PROMOTE_ERRORS_DFLT}} = no ]; then
sed 's,-Werror=,-W,g'
else
cat
fi
}
#
# Prepend `$srcdir/config/clang-warnings/` to the filename suffix(es) given as
# subroutine argument(s), remove comments starting with # and ending
# at EOL, replace spans of whitespace (including newlines) with spaces,
# and re-emit the file(s) thus filtered on the standard output stream.
#
load_clang_arguments()
{
set -- $(for arg; do
sed 's,#.*$,,' $srcdir/config/clang-warnings/${arg}
done)
IFS=' ' echo "$*"
}
# Get the compiler version in a way that works for clang++
# unless a compiler version is already known
#
# cxx_vendor: The compiler name: clang++
# cxx_version: Version number: 6.0.0, 7.3.0, ... 10.0.1
#
if test "X-" = "X-$cxx_flags_set"; then
# clang++ -v will return version number following "clang" on Linux machines,
# but on Macs the version number will follow "Apple LLVM version"
cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 |\
grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`"
if test -n "$cxx_version"; then
cxx_vendor="clang"
else
cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 |\
grep 'Apple LLVM version' | sed 's/.*Apple LLVM version \([-a-z0-9\.]*\).*/\1/'`"
if test -n "$cxx_version"; then
cxx_vendor="Apple LLVM"
fi
fi
if test "X-" != "X-$cxx_version"; then
# Get the compiler version numbers
cxx_vers_major=`echo $cxx_version | cut -f1 -d.`
cxx_vers_minor=`echo $cxx_version | cut -f2 -d.`
cxx_vers_patch=`echo $cxx_version | cut -f3 -d.`
test -n "$cxx_vers_major" || cxx_vers_major=0
test -n "$cxx_vers_minor" || cxx_vers_minor=0
test -n "$cxx_vers_patch" || cxx_vers_patch=0
fi
fi
if test "X-clang" = "X-$cxx_vendor" -o "X-Apple LLVM" = "X-$cxx_vendor"; then
echo "compiler '$CXX' is $cxx_vendor-$cxx_version"
###############################
# Architecture-specific flags #
###############################
arch=
case "$host_os-$host_cpu" in
# FreeBSD sets the information from "uname -m" to the general machine
# architecture, not the specific CPU for the machine, so even our
# Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD
# machine, use the "sysctl" command to get the CPU hardware model.
freebsd*-i386)
host_cpu_model=`sysctl -n hw.model`
case "$host_cpu_model" in
# Hmm.. this might not catch Celerons, but it won't hurt them either...
*Pro*|*II*|*III*|*IV*|*Athlon*)
# architecture-specific optimizations cause problems
# for some users who build binaries to be used on
# multiple architectures.
# arch="-march=i686"
;;
esac
;;
*-i686)
# architecture-specific optimizations cause problems
# for some users who build binaries to be used on
# multiple architectures.
# arch="-march=i686"
;;
esac
case "$host_os-$host_cpu" in
# cygwin needs the "-std=c99" flag removed, so make
# a specific case for Cygwin without the flag and a default
# case to add the flag everywhere else
cygwin-*)
;;
*)
H5_CXXFLAGS="$H5_CXXFLAGS -std=c++11"
;;
esac
H5_CXXFLAGS="$H5_CXXFLAGS $arch"
##############
# Production #
##############
# NDEBUG is handled explicitly by the configure script
PROD_CXXFLAGS=
#########
# Debug #
#########
# NDEBUG is handled explicitly by the configure script
# -g is handled by the symbols flags
DEBUG_CXXFLAGS="-ftrapv -fno-common"
###########
# Symbols #
###########
NO_SYMBOLS_CXXFLAGS=
SYMBOLS_CXXFLAGS="-g -fno-omit-frame-pointer"
#############
# Profiling #
#############
PROFILE_CXXFLAGS="-pg"
################
# Optimization #
################
HIGH_OPT_CXXFLAGS="-O3"
DEBUG_OPT_CXXFLAGS="-g"
NO_OPT_CXXFLAGS="-O0"
############
# Warnings #
############
###########
# General #
###########
H5_CXXFLAGS="$H5_CXXFLAGS $(load_clang_arguments general)"
H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_clang_arguments error-general)"
######################
# Developer warnings #
######################
NO_DEVELOPER_WARNING_CXXFLAGS=$(load_clang_arguments no-developer-general)
DEVELOPER_WARNING_CXXFLAGS=$(load_clang_arguments developer-general)
#############################
# Version-specific warnings #
#############################
#################
# Flags are set #
#################
cxx_flags_set=yes
fi
# Clear cxx info if no flags set
if test "X$cxx_flags_set" = "X"; then
cxx_vendor=
cxx_version=
fi

200
config/clang-flags Normal file
View File

@@ -0,0 +1,200 @@
# -*- shell-script -*-
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
# This file should be sourced into configure if the compiler is the
# Clang compiler or a derivative. It is careful not to do anything
# if the compiler is not Clang; otherwise 'cc_flags_set' is set to 'yes'
#
#
# For now, do not promote any warnings to errors.
#
PROMOTE_ERRORS_DFLT=no
#
# This filter rewrites -Werror= as -W, in that way demoting warnings
# promoted to errors back to warnings, if PROMOTE_ERRORS is no.
#
demote_errors()
{
if [ ${PROMOTE_ERRORS:-${PROMOTE_ERRORS_DFLT}} = no ]; then
sed 's,-Werror=,-W,g'
else
cat
fi
}
#
# Prepend `$srcdir/config/clang-warnings/` to the filename suffix(es) given as
# subroutine argument(s), remove comments starting with # and ending
# at EOL, replace spans of whitespace (including newlines) with spaces,
# and re-emit the file(s) thus filtered on the standard output stream.
#
load_clang_arguments()
{
set -- $(for arg; do
sed 's,#.*$,,' $srcdir/config/clang-warnings/${arg}
done)
IFS=' ' echo "$*"
}
# Get the compiler version in a way that works for clang
# unless a compiler version is already known
#
# cc_vendor: The compiler name: clang
# cc_version: Version number: 6.0.0, 7.3.0, ... 10.0.1
#
if test "X-" = "X-$cc_flags_set"; then
# clang -v will return version number following "clang" on Linux machines,
# but on Macs the version number will follow "Apple LLVM version"
cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 |\
grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`"
if test -n "$cc_version"; then
cc_vendor="clang"
else
cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 |\
grep 'Apple LLVM version' | sed 's/.*Apple LLVM version \([-a-z0-9\.]*\).*/\1/'`"
if test -n "$cc_version"; then
cc_vendor="Apple LLVM"
fi
fi
if test "X-" != "X-$cc_version"; then
# Get the compiler version numbers
cc_vers_major=`echo $cc_version | cut -f1 -d.`
cc_vers_minor=`echo $cc_version | cut -f2 -d.`
cc_vers_patch=`echo $cc_version | cut -f3 -d.`
test -n "$cc_vers_major" || cc_vers_major=0
test -n "$cc_vers_minor" || cc_vers_minor=0
test -n "$cc_vers_patch" || cc_vers_patch=0
fi
fi
if test "X-clang" = "X-$cc_vendor" -o "X-Apple LLVM" = "X-$cc_vendor"; then
echo "compiler '$CC' is $cc_vendor-$cc_version"
###############################
# Architecture-specific flags #
###############################
arch=
case "$host_os-$host_cpu" in
# FreeBSD sets the information from "uname -m" to the general machine
# architecture, not the specific CPU for the machine, so even our
# Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD
# machine, use the "sysctl" command to get the CPU hardware model.
freebsd*-i386)
host_cpu_model=`sysctl -n hw.model`
case "$host_cpu_model" in
# Hmm.. this might not catch Celerons, but it won't hurt them either...
*Pro*|*II*|*III*|*IV*|*Athlon*)
# architecture-specific optimizations cause problems
# for some users who build binaries to be used on
# multiple architectures.
# arch="-march=i686"
;;
esac
;;
*-i686)
# architecture-specific optimizations cause problems
# for some users who build binaries to be used on
# multiple architectures.
# arch="-march=i686"
;;
esac
case "$host_os-$host_cpu" in
# cygwin needs the "-std=c99" flag removed, so make
# a specific case for Cygwin without the flag and a default
# case to add the flag everywhere else
cygwin-*)
;;
*)
H5_CFLAGS="$H5_CFLAGS -std=c99"
;;
esac
H5_CFLAGS="$H5_CFLAGS $arch"
##############
# Production #
##############
# NDEBUG is handled explicitly by the configure script
PROD_CFLAGS=
#########
# Debug #
#########
# NDEBUG is handled explicitly by the configure script
# -g is handled by the symbols flags
DEBUG_CFLAGS="-ftrapv -fno-common"
###########
# Symbols #
###########
NO_SYMBOLS_CFLAGS=
SYMBOLS_CFLAGS="-g"
#############
# Profiling #
#############
PROFILE_CFLAGS="-pg"
################
# Optimization #
################
HIGH_OPT_CFLAGS="-O3"
DEBUG_OPT_CFLAGS="-g"
NO_OPT_CFLAGS="-O0"
############
# Warnings #
############
###########
# General #
###########
H5_CFLAGS="$H5_CFLAGS $(load_clang_arguments general)"
H5_ECFLAGS="$H5_ECFLAGS $(load_clang_arguments error-general)"
######################
# Developer warnings #
######################
NO_DEVELOPER_WARNING_CFLAGS=$(load_clang_arguments no-developer-general)
DEVELOPER_WARNING_CFLAGS=$(load_clang_arguments developer-general)
#############################
# Version-specific warnings #
#############################
#################
# Flags are set #
#################
cc_flags_set=yes
fi
# Clear cc info if no flags set
if test "X$cc_flags_set" = "X"; then
cc_vendor=
cc_version=
fi

View File

@@ -0,0 +1,4 @@
-Wformat-nonliteral
-Wmissing-noreturn
-Wsometimes-uninitialized
-Wswitch-enum

View File

@@ -0,0 +1,80 @@
#
# HDF5 code should not trigger the following warnings under any
# circumstances, so ask the compiler to treat them as errors:
#
-Werror=bad-function-cast
-Werror=implicit-function-declaration
-Werror=incompatible-pointer-types
-Werror=missing-declarations
-Werror=packed
-Werror=shadow
-Werror=switch
#
# NOTE: Following files are not compatible with incompatible-pointer-types as errors
# src/H5Dchunk.c,src/H5Dint.c,src/H5Gint.c,src/H5HFcache.c,src/H5I.c,src/H5T.c
-Wno-error=incompatible-pointer-types-discards-qualifiers
#
#
# NOTE: File Driver files are not compatible with these warnings as errors
# H5FDdirect.c,H5FDmpio.c,H5FDros3.c,
# -Werror=unused-function
#
-Wunused-function
#
# H5FDdrvr_module.h
# -Werror=unused-variable
#
-Wunused-variable
#
# H5VLpassthru.c
# -Werror=unused-parameter
#
-Wunused-parameter
#
#
#
# NOTE: Tools files are not compatible with these warnings as errors
# lib/h5tools.c
# -Werror=cast-align
#
-Wcast-align
#
# lib/h5tools_utils.c
# -Werror=unused-parameter
#
#
# NOTE: JNI files are not compatible with these warnings as errors
# jni/h5pDCPLImp.c,jni/nativeData.c,jni/h5util.c,jni/h5rImp.c
# jni/h5sImp.c,jni/h5tImp.c
# -Werror=cast-align
# jni/h5util.c
# -Werror=format(-overflow)
#
-Wformat
#
#
#Examples and tests do not use the same set of extensive warning flags as libraries
# Here is a list of tests and examples that have issues with the stricter warnings as error
#
# NOTE: Test files are not compatible with these warnings as errors
# thread_id.c,
# -Werror=unused-function
# dsets.c
# -Werror=unused-parameter
#
#
# NOTE: Examples files are not compatible with these warnings as errors
# h5_vds-eiger.c,h5_vds-exclim.c,h5_vds.c,h5_vds-exc.c,h5_vds-percival-unlim-maxmin.c
# h5_vds-percival.c,h5_read.c,h5_rdwt.c,h5_mount.c,h5_extend.c,h5_extend_write.c
# h5_write.c,h5_vds-simpleIO.c,h5_ref2reg_deprec.c,h5_crtgrp.c,h5_select.c
# h5_vds-percival-unlim.c,h5_crtatt.c,h5_group.c,h5_attribute.c,h5_crtdat.c
# h5_reference_deprec.c
# h5_rdwt.c,h5_crtgrp.c,h5_crtatt.c,h5_crtdat.c
# -Werror=strict-prototypes
# h5_rdwt.c,h5_crtgrp.c,h5_crtatt.c,h5_crtdat.c
# -Werror=old-style-definition
# h5_vds-exclim.c,h5_vds.c,h5_vds-exc.c,
# -Werror=unused-variable
# h5_elink_unix2win.c,h5_extlink.c,h5_attribute.c
# -Werror=unused-parameter

View File

@@ -0,0 +1,26 @@
# general clang warnings flags
-Wall
-Warray-bounds
-Wcast-qual
-Wconversion
-Wdouble-promotion
-Wextra
-Wformat=2
-Wframe-larger-than=16384
-Wimplicit-fallthrough
#
# NOTE: Due to the divergence in the C and C++, we're dropping support for
# compiling the C library with a C++ compiler and dropping the -Wc++-compat
# warning.
#
-Wno-c++-compat
#
# NOTE: Disable the -Wformat-nonliteral from -Wformat=2 here and re-add
# it to the developer flags.
#
-Wno-format-nonliteral
-Wnull-dereference
-Wunused-const-variable
-Wwrite-strings
-Wpedantic
-Wvolatile-register-var

View File

@@ -0,0 +1 @@
-Wno-missing-noreturn

View File

@@ -16,7 +16,7 @@ else()
set(_JAVA_HOME_EXPLICIT 1)
else()
set(_CMD_JAVA_HOME "")
if(APPLE AND EXISTS /usr/libexec/java_home)
if(APPLE AND EXISTS "/usr/libexec/java_home")
execute_process(COMMAND /usr/libexec/java_home
OUTPUT_VARIABLE _CMD_JAVA_HOME OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()

View File

@@ -11,26 +11,25 @@
#
set (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 3000)
# Allow full output to go to CDash set to 0
SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 50000)
SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 50000)
set (CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 50000)
set (CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 50000)
# WARNING! This could be a lot of output and could overwhelm CDash and the
# MySQL DB so this might not be a good idea!
set (CTEST_CUSTOM_WARNING_EXCEPTION
${CTEST_CUSTOM_WARNING_EXCEPTION}
# "H5detect.c.[0-9]+.[ \t]*:[ \t]*warning C4090:"
# "H5detect.c.[0-9]+.[ \t]*:[ \t]*warning:[ \t]*passing argument"
# "H5detect.c[0-9 \t:]*warning:[ \t]*passing argument"
# "note.*expected.*void.*but argument is of type.*volatile"
# "H5Tconv.c[0-9 \t:]*warning:[ \t]*comparison is always false due to limited range of data type"
# "H5Ztrans.c.[0-9]+.[ \t]*:[ \t]*warning C4244"
# "SZIP.src.*:[ \t]*warning"
"note.*expected.*void.*but argument is of type.*volatile"
"src.ZLIB.*:[ \t]*warning"
"warning LNK4197:.*ZLIB-prefix"
"src.SZIP.*:[ \t]*warning"
# "POSIX name for this item is deprecated"
"disabling jobserver mode"
"config.cmake.xlatefile.c"
# "warning.*implicit declaration of function"
"warning.*unknown pragma"
"warning.*unrecognized .pragma"
# "note: expanded from macro"
# "fpp:[ \t]*warning:[ \t]*cannot remove H5_DEBUG_API - not a predefined macro"
# HDDFFV-11074
"This directive is not standard"
)
set (CTEST_CUSTOM_MEMCHECK_IGNORE
@@ -42,57 +41,39 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5TEST-testlibinfo #uses grepTest.cmake
#########
H5TEST-clear-objects
H5TEST-clear-cache-objects
H5TEST-clear-cache_api-objects
H5TEST-clear-cache_image-objects
H5TEST-clear-cache_tagging-objects
H5TEST-clear-del_many_dense_attrs-objects
H5TEST-clear-err_compat-objects
H5TEST-clear-error_test-objects
H5TEST-clear-filenotclosed-objects
H5TEST-clear-flush-objects
H5TEST-clear-links_env-objects
H5TEST-clear-testflushrefresh-objects
H5TEST-clear-testhdf5-objects
H5TEST-clear-ttsafe-objects
H5TEST-cache-clear-objects
H5TEST-cache_image-clear-objects
H5TEST-del_many_dense_attrs-clear-objects
H5TEST-external_env-clear-objects
H5TEST-filenotclosed-clear-objects
H5TEST-flush-clear-objects
H5TEST-links_env-clear-objects
H5TEST-testflushrefresh-clear-objects
H5TEST-testhdf5-clear-objects
H5TEST-vds_env-clear-objects
PERFORM_h5perform-clear-objects
HL_TOOLS-clear-objects
HL_test-clear-objects
HL_FORTRAN_test-clear-objects
FORTRAN_testhdf5-clear-objects
FORTRAN_flush1-clear-objects
CPP_testhdf5-clear-objects
######### examples #########
EXAMPLES-clear-objects
CPP_ex-clear-objects
CPP_ex_tutr-clear-objects
HL_ex-clear-objects
f90_ex-clear-objects
HL_CPP_ptableTest-clear-objects
HL_CPP_ex_ptExampleFL-clear-objects
HL_FORTRAN_f90_ex-clear-objects
######### tools/h5clear #########
H5CLEAR-clearall-objects
H5CLEAR-copy_h5clear_fsm_persist_equal.h5
H5CLEAR-copy_h5clear_fsm_persist_greater.h5
H5CLEAR-copy_h5clear_fsm_persist_less.h5
H5CLEAR-copy_h5clear_fsm_persist_noclose.h5
H5CLEAR-copy_h5clear_fsm_persist_user_equal.h5
H5CLEAR-copy_h5clear_fsm_persist_user_greater.h5
H5CLEAR-copy_h5clear_fsm_persist_user_less.h5
H5CLEAR-copy_h5clear_log_v3.h5
H5CLEAR-copy_h5clear_mdc_image.h5
H5CLEAR-copy_h5clear_sec2_v0.h5
H5CLEAR-copy_h5clear_sec2_v2.h5
H5CLEAR-copy_h5clear_sec2_v3.h5
H5CLEAR-copy_h5clear_status_noclear.h5
H5CLEAR-copy_latest_h5clear_log_v3.h5
H5CLEAR-copy_latest_h5clear_sec2_v3.h5
H5CLEAR-copy_mod_h5clear_mdc_image.h5
H5CLEAR-copy_mod_h5clr_mdc_image2.h5
H5CLEAR-copy_orig_h5clear_sec2_v0.h5
H5CLEAR-copy_orig_h5clear_sec2_v2.h5
H5CLEAR-copy_orig_h5clear_sec2_v3.h5
H5CLEAR-h5clear_gentest # does not close ids by design
######### tools/h5copy #########
H5COPY-clearall-objects
######### tools/h5diff #########
H5DIFF-clearall-objects
######### tools/h5dump #########
H5DUMP-clearall-objects
H5DUMP_PACKED_BITS-clearall-objects
H5DUMP-XML-clearall-objects
H5DUMP_VDS-clearall-objects
H5DUMP-t128bit_float #uses grepTest.cmake
######### tools/h5format_convert #########
H5FC-clearall-objects
@@ -100,136 +81,6 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5IMPORT-h5importtest-clear-objects
H5IMPORT-clear-objects
######### tools/h5jam #########
H5JAM-SETUP-N_twithub_u10_c-clear-objects
H5JAM-SETUP-N_twithub_u10_c
H5JAM-N_twithub_u10_c-clear-objects
H5JAM-NONE_COPY-N_twithub_u10_c
H5JAM-CHECKFILE-N_twithub_u10_c-clear-objects
H5JAM-SETUP-N_twithub_u511_c-clear-objects
H5JAM-SETUP-N_twithub_u511_c
H5JAM-N_twithub_u511_c-clear-objects
H5JAM-NONE_COPY-N_twithub_u511_c
H5JAM-CHECKFILE-N_twithub_u511_c-clear-objects
H5JAM-SETUP-N_twithub_u512_c-clear-objects
H5JAM-SETUP-N_twithub_u512_c
H5JAM-N_twithub_u512_c-clear-objects
H5JAM-NONE_COPY-N_twithub_u512_c
H5JAM-CHECKFILE-N_twithub_u512_c-clear-objects
H5JAM-SETUP-N_twithub_u513_c-clear-objects
H5JAM-SETUP-N_twithub_u513_c
H5JAM-N_twithub_u513_c-clear-objects
H5JAM-NONE_COPY-N_twithub_u513_c
H5JAM-CHECKFILE-N_twithub_u513_c-clear-objects
H5JAM-SETUP-N_twithub513_u10_c-clear-objects
H5JAM-SETUP-N_twithub513_u10_c
H5JAM-N_twithub513_u10_c-clear-objects
H5JAM-NONE_COPY-N_twithub513_u10_c
H5JAM-CHECKFILE-N_twithub513_u10_c-clear-objects
H5JAM-SETUP-N_twithub513_u511_c-clear-objects
H5JAM-SETUP-N_twithub513_u511_c
H5JAM-N_twithub513_u511_c-clear-objects
H5JAM-NONE_COPY-N_twithub513_u511_c
H5JAM-CHECKFILE-N_twithub513_u511_c-clear-objects
H5JAM-SETUP-N_twithub513_u512_c-clear-objects
H5JAM-SETUP-N_twithub513_u512_c
H5JAM-N_twithub513_u512_c-clear-objects
H5JAM-NONE_COPY-N_twithub513_u512_c
H5JAM-CHECKFILE-N_twithub513_u512_c-clear-objects
H5JAM-SETUP-N_twithub513_u513_c-clear-objects
H5JAM-SETUP-N_twithub513_u513_c
H5JAM-N_twithub513_u513_c-clear-objects
H5JAM-NONE_COPY-N_twithub513_u513_c
H5JAM-CHECKFILE-N_twithub513_u513_c-clear-objects
H5JAM-CHECKFILE-twithub_u10_c-clear-objects
H5JAM-twithub_u511_c-clear-objects
H5JAM-CHECKFILE-twithub_u511_c-clear-objects
H5JAM-twithub_u512_c-clear-objects
H5JAM-CHECKFILE-twithub_u512_c-clear-objects
H5JAM-twithub_u513_c-clear-objects
H5JAM-CHECKFILE-twithub_u513_c-clear-objects
H5JAM-twithub513_u10_c-clear-objects
H5JAM-CHECKFILE-twithub513_u10_c-clear-objects
H5JAM-twithub513_u511_c-clear-objects
H5JAM-CHECKFILE-twithub513_u511_c-clear-objects
H5JAM-twithub513_u512_c-clear-objects
H5JAM-CHECKFILE-twithub513_u512_c-clear-objects
H5JAM-twithub513_u513_c-clear-objects
H5JAM-CHECKFILE-twithub513_u513_c-clear-objects
H5JAM-SETUP-twithub_tall-clear-objects
H5JAM-SETUP-twithub_tall
H5JAM-UNJAM-twithub_tall-clear-objects
H5JAM-UNJAM_D-twithub_tall-clear-objects
H5JAM-CHECKFILE-twithub_tall-clear-objects
H5JAM-SETUP-twithub513_tall-clear-objects
H5JAM-SETUP-twithub513_tall
H5JAM-UNJAM-twithub513_tall-clear-objects
H5JAM-UNJAM_D-twithub513_tall-clear-objects
H5JAM-CHECKFILE-twithub513_tall-clear-objects
H5JAM-SETUP-N_twithub_tall-clear-objects
H5JAM-SETUP-N_twithub_tall
H5JAM-UNJAM-N_twithub_tall-clear-objects
H5JAM-UNJAM_D-N_twithub_tall-clear-objects
H5JAM-CHECKFILE-N_twithub_tall-clear-objects
H5JAM-SETUP-N_twithub513_tall-clear-objects
H5JAM-SETUP-N_twithub513_tall
H5JAM-UNJAM-N_twithub513_tall-clear-objects
H5JAM-UNJAM_D-N_twithub513_tall-clear-objects
H5JAM-CHECKFILE-N_twithub513_tall-clear-objects
H5JAM-SETUP-D_twithub_tall-clear-objects
H5JAM-SETUP-D_twithub_tall
H5JAM-UNJAM-D_twithub_tall-clear-objects
H5JAM-UNJAM_D-D_twithub_tall-clear-objects
H5JAM-CHECKFILE-D_twithub_tall-clear-objects
H5JAM-SETUP-D_twithub513_tall-clear-objects
H5JAM-SETUP-D_twithub513_tall
H5JAM-UNJAM-D_twithub513_tall-clear-objects
H5JAM-UNJAM_D-D_twithub513_tall-clear-objects
H5JAM-CHECKFILE-D_twithub513_tall-clear-objects
H5JAM-CHECKFILE-ta_u513-clear-objects
H5JAM-twithub_u10-clear-objects
H5JAM-CHECKFILE-twithub_u10-clear-objects
H5JAM-twithub_u511-clear-objects
H5JAM-CHECKFILE-twithub_u511-clear-objects
H5JAM-twithub_u512-clear-objects
H5JAM-CHECKFILE-twithub_u512-clear-objects
H5JAM-twithub_u513-clear-objects
H5JAM-CHECKFILE-twithub_u513-clear-objects
H5JAM-twithub513_u10-clear-objects
H5JAM-CHECKFILE-twithub513_u10-clear-objects
H5JAM-twithub513_u511-clear-objects
H5JAM-CHECKFILE-twithub513_u511-clear-objects
H5JAM-twithub513_u512-clear-objects
H5JAM-CHECKFILE-twithub513_u512-clear-objects
H5JAM-twithub513_u513-clear-objects
H5JAM-CHECKFILE-twithub513_u513-clear-objects
H5JAM-twithub_u10_c-clear-objects
H5JAM-tall_u10-clear-objects
H5JAM-CHECKFILE-tall_u10-clear-objects
H5JAM-tall_u511-clear-objects
H5JAM-CHECKFILE-tall_u511-clear-objects
H5JAM-tall_u512-clear-objects
H5JAM-CHECKFILE-tall_u512-clear-objects
H5JAM-tall_u513-clear-objects
H5JAM-CHECKFILE-tall_u513-clear-objects
H5JAM-SETUP-ta_u10-clear-objects
H5JAM-SETUP-ta_u10
H5JAM-ta_u10-clear-objects
H5JAM-NONE_COPY-ta_u10
H5JAM-CHECKFILE-ta_u10-clear-objects
H5JAM-SETUP-ta_u511-clear-objects
H5JAM-SETUP-ta_u511
H5JAM-ta_u511-clear-objects
H5JAM-NONE_COPY-ta_u511
H5JAM-CHECKFILE-ta_u511-clear-objects
H5JAM-SETUP-ta_u512-clear-objects
H5JAM-SETUP-ta_u512
H5JAM-ta_u512-clear-objects
H5JAM-NONE_COPY-ta_u512
H5JAM-CHECKFILE-ta_u512-clear-objects
H5JAM-SETUP-ta_u513-clear-objects
H5JAM-SETUP-ta_u513
H5JAM-ta_u513-clear-objects
H5JAM-NONE_COPY-ta_u513
######### tools/h5ls #########
H5LS-clearall-objects
H5LS_VDS-clearall-objects
@@ -279,14 +130,15 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5REPACK-szip_individual-clear-objects
H5REPACK-szip_remove-clear-objects
H5REPACK-upgrade_layout-clear-objects
H5REPACK_DMP-attrregion-clear-objects
H5REPACK_DMP-crtorder-clear-objects
H5REPACK_DMP-dataregion-clear-objects
H5REPACK_DMP-deflate_limit-clear-objects
H5REPACK-bug1814-clear-objects
H5REPACK-HDFFV-5932-clear-objects
H5REPACK-HDFFV-7840-clear-objects
H5REPACK_META-meta_long_N-clear-objects
H5REPACK_META-meta_short_N-clear-objects
H5REPACK_OLD-old_style_layout_short_switches-clear-objects
H5REPACK_META-meta_long-clear-objects
H5REPACK_META-meta_short-clear-objects
H5REPACK_STAT-GS_AGGR-clear-objects
H5REPACK_STAT-S_AGGR-clear-objects
H5REPACK_STAT-SP_NONE-clear-objects
@@ -331,14 +183,7 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5MKGRP-clearall-objects
######### tools/perform #########
PERFORM_h5perform-clearall-objects
######### hl/tools/h5watch #########
######### hl/tools #########
HL_TOOLS-clear-objects
H5WATCH-clearall-objects
######### examples #########
EXAMPLES-clear-objects
CPP_ex-clear-objects
CPP_ex_tutr-clear-objects
HL_ex-clear-objects
f90_ex-clear-objects
HL_CPP_ex_ptExampleFL-clear-objects
HL_FORTRAN_f90_ex-clear-objects
)

View File

@@ -9,7 +9,7 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
########################################################
# For any comments please contact cdashhelp@hdfgroup.org
#
@@ -72,7 +72,7 @@ set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
if (CTEST_USE_TAR_SOURCE)
## Uncompress source if tar or zip file provided
## --------------------------
if (WIN32)
if (WIN32 AND NOT MINGW)
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
else ()
@@ -101,6 +101,11 @@ endif ()
include (ProcessorCount)
ProcessorCount (N)
if (NOT N EQUAL 0)
if (MAX_PROC_COUNT)
if (N GREATER MAX_PROC_COUNT)
set (N ${MAX_PROC_COUNT})
endif ()
endif ()
if (NOT WIN32)
set (CTEST_BUILD_FLAGS -j${N})
endif ()
@@ -114,8 +119,12 @@ set(CTEST_CONFIGURE_TOOLSET "")
if(CMAKE_GENERATOR_TOOLSET)
set(CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
endif()
set(CTEST_CONFIGURE_ARCHITECTURE "")
if(CMAKE_GENERATOR_ARCHITECTURE)
set(CTEST_CONFIGURE_ARCHITECTURE "-A${CMAKE_GENERATOR_ARCHITECTURE}")
endif()
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_ARCHITECTURE}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
#-----------------------------------------------------------------------------

View File

@@ -33,7 +33,7 @@ MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS)
# conversions. If not, some hard conversions will still be prefered even
# though the data may be wrong (for example, some compilers don't
# support denormalized floating values) to maximize speed.
#
#-----------------------------------------------------------------------------
option (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON)
if (HDF5_WANT_DATA_ACCURACY)
set (${HDF_PREFIX}_WANT_DATA_ACCURACY 1)
@@ -45,7 +45,7 @@ MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY)
# checked and data conversion exceptions are returned. This is mainly
# for the speed optimization of hard conversions. Soft conversions can
# actually benefit little.
#
#-----------------------------------------------------------------------------
option (HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON)
if (HDF5_WANT_DCONV_EXCEPTION)
set (${HDF_PREFIX}_WANT_DCONV_EXCEPTION 1)
@@ -54,13 +54,38 @@ MARK_AS_ADVANCED (HDF5_WANT_DCONV_EXCEPTION)
# ----------------------------------------------------------------------
# Check if they would like the function stack support compiled in
#
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF)
if (HDF5_ENABLE_CODESTACK)
set (${HDF_PREFIX}_HAVE_CODESTACK 1)
endif ()
MARK_AS_ADVANCED (HDF5_ENABLE_CODESTACK)
# ----------------------------------------------------------------------
# Check if they would like to use file locking by default
#-----------------------------------------------------------------------------
option (HDF5_USE_FILE_LOCKING "Use file locking by default (mainly for SWMR)" ON)
if (HDF5_USE_FILE_LOCKING)
set (${HDF_PREFIX}_USE_FILE_LOCKING 1)
endif ()
# ----------------------------------------------------------------------
# Check if they would like to ignore file locks when disabled on a file system
#-----------------------------------------------------------------------------
option (HDF5_IGNORE_DISABLED_FILE_LOCKS "Ignore file locks when disabled on file system" ON)
if (HDF5_IGNORE_DISABLED_FILE_LOCKS)
set (${HDF_PREFIX}_IGNORE_DISABLED_FILE_LOCKS 1)
endif ()
# Set the libhdf5.settings file variable
if (HDF5_IGNORE_DISABLED_FILE_LOCKS AND HDF5_USE_FILE_LOCKING)
set (HDF5_FILE_LOCKING_SETTING "best-effort")
elseif (HDF5_IGNORE_DISABLED_FILE_LOCKS)
set (HDF5_FILE_LOCKING_SETTING "yes")
else ()
set (HDF5_FILE_LOCKING_SETTING "no")
endif ()
#-----------------------------------------------------------------------------
# Are we going to use HSIZE_T
#-----------------------------------------------------------------------------
@@ -75,7 +100,7 @@ set (${HDF_PREFIX}_HAVE_TMPFILE 1)
# TODO --------------------------------------------------------------------------
# Should the Default Virtual File Driver be compiled?
# This is hard-coded now but option should added to match configure
#
#-----------------------------------------------------------------------------
set (${HDF_PREFIX}_DEFAULT_VFD H5FD_SEC2)
if (NOT DEFINED "${HDF_PREFIX}_DEFAULT_PLUGINDIR")
@@ -92,6 +117,7 @@ if (WINDOWS)
# Set the flag to indicate that the machine has window style pathname,
# that is, "drive-letter:\" (e.g. "C:") or "drive-letter:/" (e.g. "C:/").
# (This flag should be _unset_ for all machines, except for Windows)
#-----------------------------------------------------------------------
set (${HDF_PREFIX}_HAVE_WINDOW_PATH 1)
endif ()
@@ -102,7 +128,7 @@ endif ()
CHECK_FUNCTION_EXISTS (difftime ${HDF_PREFIX}_HAVE_DIFFTIME)
# Find the library containing clock_gettime()
if (NOT WINDOWS)
if (MINGW OR NOT WINDOWS)
CHECK_FUNCTION_EXISTS (clock_gettime CLOCK_GETTIME_IN_LIBC)
CHECK_LIBRARY_EXISTS (rt clock_gettime "" CLOCK_GETTIME_IN_LIBRT)
CHECK_LIBRARY_EXISTS (posix4 clock_gettime "" CLOCK_GETTIME_IN_LIBPOSIX4)
@@ -154,6 +180,39 @@ if (NOT WINDOWS)
endif ()
endif ()
#-----------------------------------------------------------------------------
# Check if ROS3 driver can be built
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF)
if (HDF5_ENABLE_ROS3_VFD)
find_package(CURL REQUIRED)
find_package(OpenSSL REQUIRED)
if (${CURL_FOUND} AND ${OPENSSL_FOUND})
set (${HDF_PREFIX}_HAVE_ROS3_VFD 1)
list (APPEND LINK_LIBS ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES})
INCLUDE_DIRECTORIES (${CURL_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR})
else ()
message (STATUS "The Read-Only S3 VFD was requested but cannot be built.\nPlease check that openssl and cURL are available on your\nsystem, and/or re-configure without option HDF5_ENABLE_ROS3_VFD.")
endif ()
endif ()
# ----------------------------------------------------------------------
# Check whether we can build the Mirror VFD
# Header-check flags set in config/cmake_ext_mod/ConfigureChecks.cmake
# ----------------------------------------------------------------------
option (HDF5_ENABLE_MIRROR_VFD "Build the Mirror Virtual File Driver" OFF)
if (H5FD_ENABLE_MIRROR_VFD)
if ( ${HDF_PREFIX}_HAVE_NETINET_IN_H AND
${HDF_PREFIX}_HAVE_NETDB_H AND
${HDF_PREFIX}_HAVE_ARPA_INET_H AND
${HDF_PREFIX}_HAVE_SYS_SOCKET_H AND
${HDF_PREFIX}_HAVE_FORK)
set (${HDF_PREFIX}_HAVE_MIRROR_VFD 1)
else()
message(STATUS "The socket-based Mirror VFD was requested but cannot be built. System prerequisites are not met.")
endif()
endif()
#-----------------------------------------------------------------------------
# Check if C has __float128 extension
#-----------------------------------------------------------------------------
@@ -217,7 +276,7 @@ endmacro ()
# is 0x004733ce17af227f, not the same as the library's conversion to 0x004733ce17af2282.
# The machine's conversion gets the correct value. We define the macro and disable
# this kind of test until we figure out what algorithm they use.
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LONG_SPECIAL "Checking IF your system converts long double to (unsigned) long values with special algorithm")
# ----------------------------------------------------------------------
# Set the flag to indicate that the machine is using a special algorithm
@@ -226,7 +285,7 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LONG_SPECIAL "Checking IF your syst
# when the bit sequences are 003fff..., 007fff..., 00ffff..., 01ffff...,
# ..., 7fffff..., the compiler uses a unknown algorithm. We define a
# macro and skip the test for now until we know about the algorithm.
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_LONG_TO_LDOUBLE_SPECIAL "Checking IF your system can convert (unsigned) long to long double values with special algorithm")
# ----------------------------------------------------------------------
# Set the flag to indicate that the machine can accurately convert
@@ -236,7 +295,7 @@ H5ConversionTests (${HDF_PREFIX}_LONG_TO_LDOUBLE_SPECIAL "Checking IF your syste
# start to go wrong on these two machines. Adjusting it higher to
# 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted
# values wildly wrong. This test detects this wrong behavior and disable the test.
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctly converting long double to (unsigned) long long values")
# ----------------------------------------------------------------------
# Set the flag to indicate that the machine can accurately convert
@@ -244,14 +303,14 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctl
# all machines, except for Mac OS 10.4, when the bit sequences are 003fff...,
# 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice
# as big as they should be.
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values")
# ----------------------------------------------------------------------
# Set the flag to indicate that the machine can accurately convert
# some long double values
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_DISABLE_SOME_LDOUBLE_CONV "Checking IF the cpu is power9 and cannot correctly converting long double values")
# ----------------------------------------------------------------------
# Check if pointer alignments are enforced
#
#-----------------------------------------------------------------------------
H5ConversionTests (${HDF_PREFIX}_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced")

View File

@@ -0,0 +1,70 @@
# DerivedFrom: https://github.com/cloudera/Impala/blob/cdh5-trunk/cmake_modules/FindHDFS.cmake
# - Find HDFS (hdfs.h and libhdfs.so)
# This module defines
# Hadoop_VERSION, version string of ant if found
# HDFS_INCLUDE_DIR, directory containing hdfs.h
# HDFS_LIBRARIES, location of libhdfs.so
# HDFS_FOUND, whether HDFS is found.
exec_program($ENV{HADOOP_HOME}/bin/hadoop ARGS version OUTPUT_VARIABLE Hadoop_VERSION
RETURN_VALUE Hadoop_RETURN)
# currently only looking in HADOOP_HOME
find_path(HDFS_INCLUDE_DIR hdfs.h PATHS
$ENV{HADOOP_HOME}/include/
# make sure we don't accidentally pick up a different version
NO_DEFAULT_PATH
)
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
set(arch_hint "x64")
elseif ("$ENV{LIB}" MATCHES "(amd64|ia64)")
set(arch_hint "x64")
else ()
set(arch_hint "x86")
endif()
message(STATUS "Architecture: ${arch_hint}")
if ("${arch_hint}" STREQUAL "x64")
set(HDFS_LIB_PATHS $ENV{HADOOP_HOME}/lib/native)
else ()
set(HDFS_LIB_PATHS $ENV{HADOOP_HOME}/lib/native)
endif ()
message(STATUS "HDFS_LIB_PATHS: ${HDFS_LIB_PATHS}")
find_library(HDFS_LIB NAMES hdfs PATHS
${HDFS_LIB_PATHS}
# make sure we don't accidentally pick up a different version
NO_DEFAULT_PATH
)
if (HDFS_LIB)
set(HDFS_FOUND TRUE)
set(HDFS_LIBRARIES ${HDFS_LIB})
set(HDFS_STATIC_LIB ${HDFS_LIB_PATHS}/${CMAKE_STATIC_LIBRARY_PREFIX}hdfs${CMAKE_STATIC_LIBRARY_SUFFIX})
add_library(hdfs_static STATIC IMPORTED)
set_target_properties(hdfs_static PROPERTIES IMPORTED_LOCATION ${HDFS_STATIC_LIB})
else ()
set(HDFS_FOUND FALSE)
endif ()
if (HDFS_FOUND)
if (NOT HDFS_FIND_QUIETLY)
message(STATUS "${Hadoop_VERSION}")
message(STATUS "HDFS_INCLUDE_DIR: ${HDFS_INCLUDE_DIR}")
message(STATUS "HDFS_LIBRARIES: ${HDFS_LIBRARIES}")
message(STATUS "hdfs_static: ${HDFS_STATIC_LIB}")
endif ()
else ()
message(FATAL_ERROR "HDFS includes and libraries NOT found."
"(${HDFS_INCLUDE_DIR}, ${HDFS_LIB})")
endif ()
mark_as_advanced(
HDFS_LIBRARIES
HDFS_INCLUDE_DIR
)

View File

@@ -104,12 +104,18 @@
/* Define if the compiler understands the __func__ keyword */
#cmakedefine H5_HAVE_C99_FUNC @H5_HAVE_C99_FUNC@
/* Define to 1 if you have the <arpa/inet.h> header file. */
#cmakedefine H5_HAVE_ARPA_INET_H @H5_HAVE_ARPA_INET_H@
/* Define to 1 if you have the `clock_gettime' function. */
#cmakedefine H5_HAVE_CLOCK_GETTIME @H5_HAVE_CLOCK_GETTIME@
/* Define if the function stack tracing code is to be compiled in */
#cmakedefine H5_HAVE_CODESTACK @H5_HAVE_CODESTACK@
/* Define to 1 if you have the <curl/curl.h> header file. */
#cmakedefine H5_HAVE_CURL_H @H5_HAVE_CURL_H@
/* Define if Darwin or Mac OS X */
#cmakedefine H5_HAVE_DARWIN @H5_HAVE_DARWIN@
@@ -185,6 +191,9 @@
/* Define to 1 if you have the `gettimeofday' function. */
#cmakedefine H5_HAVE_GETTIMEOFDAY @H5_HAVE_GETTIMEOFDAY@
/* Define to 1 if you have the <hdfs.h> header file. */
#cmakedefine H5_HAVE_HDFS_H @H5_HAVE_HDFS_H@
/* Define if the compiler understands inline */
#cmakedefine H5_HAVE_INLINE @H5_HAVE_INLINE@
@@ -201,12 +210,24 @@
/* Define to 1 if you have the <io.h> header file. */
#cmakedefine H5_HAVE_IO_H @H5_HAVE_IO_H@
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#cmakedefine H5_HAVE_LIBCRYPTO @H5_HAVE_LIBCRYPTO@
/* Define to 1 if you have the `curl' library (-lcurl). */
#cmakedefine H5_HAVE_LIBCURL @H5_HAVE_LIBCURL@
/* Define to 1 if you have the `dl' library (-ldl). */
#cmakedefine H5_HAVE_LIBDL @H5_HAVE_LIBDL@
/* Define to 1 if you have the `dmalloc' library (-ldmalloc). */
#cmakedefine H5_HAVE_LIBDMALLOC @H5_HAVE_LIBDMALLOC@
/* Proceed to build with libhdfs */
#cmakedefine H5_HAVE_LIBHDFS @H5_HAVE_LIBHDFS@
/* Define to 1 if you have the `jvm' library (-ljvm). */
#cmakedefine H5_HAVE_LIBJVM @H5_HAVE_LIBJVM@
/* Define to 1 if you have the `m' library (-lm). */
#cmakedefine H5_HAVE_LIBM @H5_HAVE_LIBM@
@@ -246,12 +267,15 @@
/* Define to 1 if you have the `lstat' function. */
#cmakedefine H5_HAVE_LSTAT @H5_HAVE_LSTAT@
/* Define to 1 if you have the <mach/mach_time.h> header file. */
#cmakedefine H5_HAVE_MACH_MACH_TIME_H @H5_HAVE_MACH_MACH_TIME_H@
/* Define if the map API (H5M) should be compiled */
#cmakedefine H5_HAVE_MAP_API @H5_HAVE_MAP_API@
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine H5_HAVE_MEMORY_H @H5_HAVE_MEMORY_H@
/* Define if we can build the Mirror VFD */
#cmakedefine H5_HAVE_MIRROR_VFD @H5_HAVE_MIRROR_VFD@
/* Define if we have MPE support */
#cmakedefine H5_HAVE_MPE @H5_HAVE_MPE@
@@ -264,6 +288,21 @@
/* Define if MPI_Info_c2f and MPI_Info_f2c exists */
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Info @H5_HAVE_MPI_MULTI_LANG_Info@
/* Define to 1 if you have the <netdb.h> header file. */
#cmakedefine H5_HAVE_NETDB_H @H5_HAVE_NETDB_H@
/* Define to 1 if you have the <netinet/in.h> header file. */
#cmakedefine H5_HAVE_NETINET_IN_H @H5_HAVE_NETINET_IN_H@
/* Define to 1 if you have the <openssl/evp.h> header file. */
#cmakedefine H5_HAVE_OPENSSL_EVP_H @H5_HAVE_OPENSSL_EVP_H@
/* Define to 1 if you have the <openssl/hmac.h> header file. */
#cmakedefine H5_HAVE_OPENSSL_HMAC_H @H5_HAVE_OPENSSL_HMAC_H@
/* Define to 1 if you have the <openssl/sha.h> header file. */
#cmakedefine H5_HAVE_OPENSSL_SHA_H @H5_HAVE_OPENSSL_SHA_H@
/* Define if we have parallel support */
#cmakedefine H5_HAVE_PARALLEL @H5_HAVE_PARALLEL@
@@ -282,6 +321,10 @@
/* Define to 1 if you have the `rand_r' function. */
#cmakedefine H5_HAVE_RAND_R @H5_HAVE_RAND_R@
/* Define whether the Read-Only S3 virtual file driver (VFD) should be
compiled */
#cmakedefine H5_HAVE_ROS3_VFD @H5_HAVE_ROS3_VFD@
/* Define to 1 if you have the `round' function. */
#cmakedefine H5_HAVE_ROUND @H5_HAVE_ROUND@
@@ -378,9 +421,6 @@
/* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine H5_HAVE_SYS_STAT_H @H5_HAVE_SYS_STAT_H@
/* Define to 1 if you have the <sys/timeb.h> header file. */
#cmakedefine H5_HAVE_SYS_TIMEB_H @H5_HAVE_SYS_TIMEB_H@
/* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine H5_HAVE_SYS_TIME_H @H5_HAVE_SYS_TIME_H@
@@ -449,6 +489,9 @@
/* Define if the compiler understands __inline__ */
#cmakedefine H5_HAVE___INLINE__ @H5_HAVE___INLINE__@
/* Define if the library will ignore file locks when disabled */
#cmakedefine H5_IGNORE_DISABLED_FILE_LOCKS @H5_IGNORE_DISABLED_FILE_LOCKS@
/* Define if the high-level library headers should be included in hdf5.h */
#cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@
@@ -686,6 +729,12 @@
/* Define using v1.12 public API symbols by default */
#cmakedefine H5_USE_112_API_DEFAULT @H5_USE_112_API_DEFAULT@
/* Define using v1.14 public API symbols by default */
#cmakedefine H5_USE_114_API_DEFAULT @H5_USE_114_API_DEFAULT@
/* Define if the library will use file locking */
#cmakedefine H5_FILE_LOCKING @H5_USE_FILE_LOCKING@
/* Define if a memory checking tool will be used on the library, to cause
library to be very picky about memory operations and also disable the
internal free list manager code. */

View File

@@ -14,10 +14,29 @@
# This file provides functions for HDF5 specific Fortran support.
#
#-------------------------------------------------------------------------------
ENABLE_LANGUAGE (Fortran)
enable_language (Fortran)
set (HDF_PREFIX "H5")
include (CheckFortranFunctionExists)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
include (CheckFortranSourceRuns)
include (CheckFortranSourceCompiles)
endif ()
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
set (RETURN_VAR "${SOURCE_CODE}")
endmacro ()
set (RUN_OUTPUT_PATH_DEFAULT ${CMAKE_BINARY_DIR})
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
if (HDF5_REQUIRED_LIBRARIES)
set (CMAKE_REQUIRED_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}")
endif ()
else ()
# The provided CMake Fortran macros don't provide a general compile/run function
# so this one is used.
#-----------------------------------------------------------------------------
@@ -54,22 +73,16 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1
set(${RETURN_VAR} ${COMPILE_RESULT_VAR})
endif ()
endmacro ()
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
set (RETURN_VAR "${SOURCE_CODE}")
endmacro ()
endif ()
#-----------------------------------------------------------------------------
# Check to see C_LONG_DOUBLE is available
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" SOURCE_CODE)
CHECK_FORTRAN_FEATURE(c_long_double
"${SOURCE_CODE}"
FORTRAN_HAVE_C_LONG_DOUBLE
)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_compiles (${SOURCE_CODE} FORTRAN_HAVE_C_LONG_DOUBLE SRC_EXT f90)
else ()
CHECK_FORTRAN_FEATURE(c_long_double "${SOURCE_CODE}" FORTRAN_HAVE_C_LONG_DOUBLE)
endif ()
if (${FORTRAN_HAVE_C_LONG_DOUBLE})
set (${HDF_PREFIX}_FORTRAN_HAVE_C_LONG_DOUBLE 1)
@@ -80,10 +93,11 @@ endif ()
# Check to see C_LONG_DOUBLE is different from C_DOUBLE
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" SOURCE_CODE)
CHECK_FORTRAN_FEATURE(c_long_double
"${SOURCE_CODE}"
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_compiles (${SOURCE_CODE} FORTRAN_C_LONG_DOUBLE_IS_UNIQUE SRC_EXT f90)
else ()
CHECK_FORTRAN_FEATURE(c_long_double "${SOURCE_CODE}" FORTRAN_C_LONG_DOUBLE_IS_UNIQUE)
endif ()
if (${FORTRAN_C_LONG_DOUBLE_IS_UNIQUE})
set (${HDF_PREFIX}_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1)
else ()
@@ -107,13 +121,80 @@ endif ()
# Determine the available KINDs for REALs and INTEGERs
#-----------------------------------------------------------------------------
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
#READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
set (PROG_SRC_CODE
"
PROGRAM FC_AVAIL_KINDS
IMPLICIT NONE
INTEGER :: ik, jk, k, max_decimal_prec
INTEGER :: num_rkinds = 1, num_ikinds = 1
INTEGER, DIMENSION(1:10) :: list_ikinds = -1
INTEGER, DIMENSION(1:10) :: list_rkinds = -1
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
! Find integer KINDs
list_ikinds(num_ikinds)=SELECTED_INT_KIND(1)
DO ik = 2, 36
k = SELECTED_INT_KIND(ik)
IF(k.LT.0) EXIT
IF(k.GT.list_ikinds(num_ikinds))THEN
num_ikinds = num_ikinds + 1
list_ikinds(num_ikinds) = k
ENDIF
ENDDO
DO k = 1, num_ikinds
WRITE(8,'(I0)', ADVANCE='NO') list_ikinds(k)
IF(k.NE.num_ikinds)THEN
WRITE(8,'(A)',ADVANCE='NO') ','
ELSE
WRITE(8,'()')
ENDIF
ENDDO
! Find real KINDs
list_rkinds(num_rkinds)=SELECTED_REAL_KIND(1)
max_decimal_prec = 1
prec: DO ik = 2, 36
exp: DO jk = 1, 17000
k = SELECTED_REAL_KIND(ik,jk)
IF(k.LT.0) EXIT exp
IF(k.GT.list_rkinds(num_rkinds))THEN
num_rkinds = num_rkinds + 1
list_rkinds(num_rkinds) = k
ENDIF
max_decimal_prec = ik
ENDDO exp
ENDDO prec
DO k = 1, num_rkinds
WRITE(8,'(I0)', ADVANCE='NO') list_rkinds(k)
IF(k.NE.num_rkinds)THEN
WRITE(8,'(A)',ADVANCE='NO') ','
ELSE
WRITE(8,'()')
ENDIF
ENDDO
WRITE(8,'(I0)') max_decimal_prec
WRITE(8,'(I0)') num_ikinds
WRITE(8,'(I0)') num_rkinds
END PROGRAM FC_AVAIL_KINDS
"
)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_runs (${PROG_SRC_CODE} FC_AVAIL_KINDS_RESULT SRC_EXT f90)
else ()
FORTRAN_RUN ("REAL and INTEGER KINDs"
"${SOURCE_CODE}"
"${PROG_SRC_CODE}"
XX
YY
PROG_RESULT
FC_AVAIL_KINDS_RESULT
)
endif ()
# dnl The output from the above program will be:
# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
# dnl -- LINE 2 -- valid real kinds (comma seperated list)
@@ -121,7 +202,7 @@ FORTRAN_RUN ("REAL and INTEGER KINDs"
# dnl -- LINE 4 -- number of valid integer kinds
# dnl -- LINE 5 -- number of valid real kinds
file (READ "${CMAKE_BINARY_DIR}/pac_fconftest.out" PROG_OUTPUT)
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_fconftest.out" PROG_OUTPUT)
# Convert the string to a list of strings by replacing the carriage return with a semicolon
string (REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
@@ -164,25 +245,25 @@ message (STATUS "....MAX DECIMAL PRECISION ${${HDF_PREFIX}_PAC_FC_MAX_REAL_PRECI
# **********
string (REGEX REPLACE "," ";" VAR "${pac_validIntKinds}")
foreach (KIND ${VAR} )
set (PROG_SRC
"
PROGRAM main
USE ISO_C_BINDING
IMPLICIT NONE
INTEGER (KIND=${KIND}) a
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
WRITE(8,'(I0)') ${FC_SIZEOF_A}
CLOSE(8)
END
"
foreach (KIND ${VAR})
set (PROG_SRC_${KIND}
"
PROGRAM main
USE ISO_C_BINDING
IMPLICIT NONE
INTEGER (KIND=${KIND}) a
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
WRITE(8,'(I0)') ${FC_SIZEOF_A}
CLOSE(8)
END
"
)
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC}
XX
YY
PROG_RESULT1
)
file (READ "${CMAKE_BINARY_DIR}/pac_validIntKinds.out" PROG_OUTPUT1)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_runs (${PROG_SRC_${KIND}} VALIDINTKINDS_RESULT_${KIND} SRC_EXT f90)
else ()
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC_${KIND}} XX YY VALIDINTKINDS_RESULT_${KIND})
endif ()
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_validIntKinds.out" PROG_OUTPUT1)
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
set (pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
endforeach ()
@@ -212,24 +293,24 @@ math (EXPR _LEN "${LEN_VAR}-1")
list (GET VAR ${_LEN} max_real_fortran_kind)
foreach (KIND ${VAR} )
set (PROG_SRC
"
PROGRAM main
USE ISO_C_BINDING
IMPLICIT NONE
REAL (KIND=${KIND}) a
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
WRITE(8,'(I0)') ${FC_SIZEOF_A}
CLOSE(8)
END
"
set (PROG_SRC2_${KIND}
"
PROGRAM main
USE ISO_C_BINDING
IMPLICIT NONE
REAL (KIND=${KIND}) a
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
WRITE(8,'(I0)') ${FC_SIZEOF_A}
CLOSE(8)
END
"
)
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC}
XX
YY
PROG_RESULT1
)
file (READ "${CMAKE_BINARY_DIR}/pac_validRealKinds.out" PROG_OUTPUT1)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_runs (${PROG_SRC2_${KIND}} VALIDREALKINDS_RESULT_${KIND} SRC_EXT f90)
else ()
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC2_${KIND}} XX YY VALIDREALKINDS_RESULT_${KIND})
endif ()
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_validRealKinds.out" PROG_OUTPUT1)
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
set (pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
endforeach ()
@@ -260,7 +341,7 @@ list (GET VAR ${_LEN} max_real_fortran_sizeof)
#-----------------------------------------------------------------------------
# Find sizeof of native kinds
#-----------------------------------------------------------------------------
FORTRAN_RUN ("SIZEOF NATIVE KINDs"
set (PROG_SRC3
"
PROGRAM main
USE ISO_C_BINDING
@@ -278,11 +359,13 @@ FORTRAN_RUN ("SIZEOF NATIVE KINDs"
CLOSE(8)
END
"
XX
YY
PROG_RESULT
)
file (READ "${CMAKE_BINARY_DIR}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_fortran_source_runs (${PROG_SRC3} PAC_SIZEOF_NATIVE_KINDS_RESULT SRC_EXT f90)
else ()
FORTRAN_RUN ("SIZEOF NATIVE KINDs" ${PROG_SRC3} XX YY PAC_SIZEOF_NATIVE_KINDS_RESULT)
endif ()
file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
# dnl The output from the above program will be:
# dnl -- LINE 1 -- sizeof INTEGER
# dnl -- LINE 2 -- kind of INTEGER
@@ -351,6 +434,9 @@ set (${HDF_PREFIX}_H5CONFIG_F_RKIND_SIZEOF "INTEGER, DIMENSION(1:num_rkinds) ::
ENABLE_LANGUAGE (C)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
include (CheckCSourceRuns)
else ()
#-----------------------------------------------------------------------------
# The provided CMake C macros don't provide a general compile/run function
# so this one is used.
@@ -401,6 +487,7 @@ macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
endif ()
endmacro ()
endif ()
set (PROG_SRC
"
@@ -431,7 +518,11 @@ set (PROG_SRC
"
)
C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_OUTPUT)
if (NOT CMAKE_VERSION VERSION_LESS "3.14.0")
check_c_source_runs (${PROG_SRC} PROG_OUTPUT)
else ()
C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_OUTPUT)
endif ()
# dnl The output from the above program will be:
# dnl -- LINE 1 -- long double decimal precision

View File

@@ -9,7 +9,7 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 3.12)
###############################################################################################################
# This script will build and run the examples from a folder
# Execute from a command line:
@@ -20,6 +20,9 @@ set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
if("@CMAKE_GENERATOR_TOOLSET@")
set(CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
endif()
if("@CMAKE_GENERATOR_ARCHITECTURE@")
set(CMAKE_GENERATOR_ARCHITECTURE "@CMAKE_GENERATOR_ARCHITECTURE@")
endif()
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
# handle input parameters to script.
@@ -74,7 +77,7 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDN
#TAR_SOURCE - name of tarfile
#if(NOT DEFINED TAR_SOURCE)
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.12.4-Source")
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.14.1-Source")
#endif()
###############################################################################################################

View File

@@ -0,0 +1,354 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
set(CMAKE_CXX_STANDARD 98)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_EXTENSIONS OFF)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_SANITIZER_FLAGS} ${CMAKE_CXX_FLAGS}")
message (STATUS "Warnings Configuration: CXX default: ${CMAKE_CXX_FLAGS}")
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS}")
if (${HDF_CFG_NAME} MATCHES "Debug")
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ftrapv -fno-common")
endif ()
else ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstdarg-opt")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to disable compiler warnings
#-----------------------------------------------------------------------------
if (HDF5_DISABLE_COMPILER_WARNINGS)
message (STATUS "....Compiler warnings are suppressed")
# MSVC uses /w to suppress warnings. It also complains if another
# warning level is given, so remove it.
if (MSVC)
set (HDF5_WARNINGS_BLOCKED 1)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
endif ()
endif ()
if (WIN32)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
endif ()
# Most compilers use -w to suppress warnings.
if (NOT HDF5_WARNINGS_BLOCKED)
if (CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# HDF5 library compile options
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
if (NOT MSVC AND NOT MINGW)
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
list (APPEND HDF5_CMAKE_CXX_FLAGS "-erroff=%none -DBSD_COMP")
else ()
# General flags
#
# Note that some of the flags listed here really should be developer
# flags (listed in a separate variable, below) but we put them here
# because they are not raised by the current code and we'd like to
# know if they do start showing up.
#
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
list (APPEND H5_CXXFLAGS0 "-Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
list (APPEND H5_CXXFLAGS0 "-Wsign-compare -Wtrigraphs -Wwrite-strings")
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED
AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
# add the general CXX flags for g++ compiler versions 4.8 and above.
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-general")
ADD_H5_FLAGS (H5_CXXFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-error-general")
endif ()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/general")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
list (APPEND HDF5_CMAKE_CXX_FLAGS "-Minform=inform")
endif ()
message (STATUS "CMAKE_CXX_FLAGS_GENERAL=${HDF5_CMAKE_CXX_FLAGS}")
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable developer warnings
# Developer warnings (suggestions from gcc, not code problems)
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
# if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
# list (APPEND H5_CXXFLAGS0 "-Winline -Wreorder -Wport -Wstrict-aliasing")
# elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-general")
# elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# ADD_H5_FLAGS (H5_CXXFLAGS0 "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
endif ()
else ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-general")
# elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# ADD_H5_FLAGS (H5_CXXFLAGS0 "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
endif ()
endif ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... Only needed for gcc 4.X
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0 AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8-4.last")
endif ()
# Append more extra warning flags that only gcc 4.8+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8")
if (HDF5_ENABLE_DEV_WARNINGS)
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-4.8")
else ()
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-4.8")
endif ()
endif ()
# Append more extra warning flags that only gcc 4.9+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.9")
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-4.9")
endif ()
# Append more extra warning flags that only gcc 5.1+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-5")
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-error-5")
endif ()
# Append more extra warning flags that only gcc 6.x+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/6")
endif ()
# Append more extra warning flags that only gcc 7.x+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXxFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/7")
if (HDF5_ENABLE_DEV_WARNINGS)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-7")
#else ()
# ADD_H5_FLAGS (H5_CXXFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-7")
endif ()
endif ()
# Append more extra warning flags that only gcc 8.x+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/8")
#ADD_H5_FLAGS (H5_CXXFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-8")
if (HDF5_ENABLE_DEV_WARNINGS)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-8")
else ()
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-8")
endif ()
endif ()
# Append more extra warning flags that only gcc 9.x+ know about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS4 "${HDF5_SOURCE_DIR}/config/gnu-warnings/9")
endif ()
endif ()
else ()
if (NOT MINGW)
list (APPEND HDF5_CMAKE_CXX_FLAGS "/EHsc")
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable all warnings
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_ALL_WARNINGS)
message (STATUS "....All Warnings are enabled")
if (MSVC)
if (HDF5_ENABLE_DEV_WARNINGS)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/Wall /wd4668")
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W3")
endif ()
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS0} ${H5_CXXFLAGS1} ${H5_CXXFLAGS2} ${H5_CXXFLAGS3} ${H5_CXXFLAGS4})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_GROUPZERO_WARNINGS)
message (STATUS "....Group Zero warnings are enabled")
if (MSVC)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_CXX_FLAGS "${HDF5_CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W1")
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS0})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_GROUPONE_WARNINGS)
message (STATUS "....Group One warnings are enabled")
if (MSVC)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_CXX_FLAGS "${HDF5_CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W2")
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS1})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_GROUPTWO_WARNINGS)
message (STATUS "....Group Two warnings are enabled")
if (MSVC)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_CXX_FLAGS "${HDF5_CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W3")
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS2})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
message (STATUS "....Group Three warnings are enabled")
if (MSVC)
if (CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_CXX_FLAGS "${HDF5_CMAKE_CXX_FLAGS}")
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W4")
endif ()
else ()
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS3})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
message (STATUS "....Group Four warnings are enabled")
if (NOT MSVC)
if (CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CXXFLAGS4})
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# This is in here to help some of the GCC based IDES like Eclipse
# and code blocks parse the compiler errors and warnings better.
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
endif ()
#-----------------------------------------------------------------------------
# Option for --enable-symbols
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_SYMBOLS MATCHES "YES")
if(CMAKE_CXX_COMPILER_LOADED)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
endif ()
endif ()
elseif (HDF5_ENABLE_SYMBOLS MATCHES "NO")
if(CMAKE_CXX_COMPILER_LOADED)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wl,-s")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option for --enable-profiling
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_PROFILING)
if(CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS "${PROFILE_CXXFLAGS}")
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option for --enable-optimization
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_OPTIMIZATION)
if(CMAKE_CXX_COMPILER_LOADED)
list (APPEND HDF5_CMAKE_CXX_FLAGS "${OPTIMIZE_CXXFLAGS}")
endif ()
endif ()

View File

@@ -12,8 +12,10 @@
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED TRUE)
message (STATUS "Warnings Configuration:")
set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_SANITIZER_FLAGS} ${CMAKE_C_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_SANITIZER_FLAGS} ${CMAKE_CXX_FLAGS}")
message (STATUS "Warnings Configuration: default: ${CMAKE_C_FLAGS} : ${CMAKE_CXX_FLAGS}")
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
@@ -29,18 +31,6 @@ if (CMAKE_COMPILER_IS_GNUCC)
endif ()
endif ()
endif ()
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS}")
if (${HDF_CFG_NAME} MATCHES "Debug")
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ftrapv -fno-common")
endif ()
else ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstdarg-opt")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to disable compiler warnings
@@ -54,10 +44,6 @@ if (HDF5_DISABLE_COMPILER_WARNINGS)
set (HDF5_WARNINGS_BLOCKED 1)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W0")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
endif ()
endif ()
if (WIN32)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
@@ -71,19 +57,20 @@ if (HDF5_DISABLE_COMPILER_WARNINGS)
# Most compilers use -w to suppress warnings.
if (NOT HDF5_WARNINGS_BLOCKED)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# HDF5 library compile options
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
if (NOT MSVC AND NOT MINGW)
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
list (APPEND HDF5_CMAKE_C_FLAGS "-erroff=%none -DBSD_COMP")
else ()
# General flags
#
@@ -95,114 +82,116 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wcheck -Wall")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcomment -Wdeprecated -Wmain -Wmissing-declarations -Wmissing-prototypes -Wp64 -Wpointer-arith")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wreturn-type -Wstrict-prototypes -Wuninitialized")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wunknown-pragmas -Wunused-function -Wunused-variable")
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
list (APPEND H5_CFLAGS0 "-Wcomment -Wdeprecated -Wmain -Wmissing-declarations -Wmissing-prototypes -Wp64 -Wpointer-arith")
list (APPEND H5_CFLAGS0 "-Wreturn-type -Wstrict-prototypes -Wuninitialized")
list (APPEND H5_CFLAGS0 "-Wunknown-pragmas -Wunused-function -Wunused-variable")
# this is just a failsafe
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
list (APPEND H5_CFLAGS0 "-finline-functions")
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wsign-compare -Wtrigraphs -Wwrite-strings")
list (APPEND H5_CFLAGS0 "-Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
list (APPEND H5_CFLAGS0 "-Wsign-compare -Wtrigraphs -Wwrite-strings")
endif()
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wall -Wextra")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wbad-function-cast -Wc++-compat -Wcast-align")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcast-qual -Wconversion -Wdeclaration-after-statement -Wdisabled-optimization -Wfloat-equal")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-declarations -Wmissing-include-dirs")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wundef -Wunused-macros -Wunsafe-loop-optimizations -Wwrite-strings")
# Add general CFlags for GCC versions 4.8 and above
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/general")
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-general")
endif ()
# gcc automatically inlines based on the optimization level
# this is just a failsafe
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
list (APPEND H5_CFLAGS0 "-finline-functions")
elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/general")
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/clang-warnings/error-general")
elseif (CMAKE_C_COMPILER_ID STREQUAL "PGI")
list (APPEND HDF5_CMAKE_C_FLAGS "-Minform=inform")
endif ()
message (STATUS "CMAKE_C_FLAGS_GENERAL=${HDF5_CMAKE_C_FLAGS}")
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable developer warnings
# Developer warnings (suggestions from gcc, not code problems)
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_DEV_WARNINGS "Enable HDF5 developer group warnings" OFF)
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
list (APPEND H5_CFLAGS0 "-Winline -Wreorder -Wport -Wstrict-aliasing")
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-general")
elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
endif ()
else ()
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-general")
elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to allow the user to enable developer warnings
# Developer warnings (suggestions from gcc, not code problems)
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_DEV_WARNINGS "Enable HDF5 developer group warnings" OFF)
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Wreorder -Wport -Wstrict-aliasing")
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Waggregate-return -Wmissing-format-attribute -Wmissing-noreturn")
endif ()
else ()
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wno-inline -Wno-aggregate-return -Wno-missing-format-attribute -Wno-missing-noreturn")
endif ()
endif ()
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# Append warning flags that only gcc 4.3+ knows about
#
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... -QAK
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wlogical-op -Wlarger-than=2048 -Wvla")
# Append more extra warning flags that only gcc 4.4+ know about
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
endif ()
# Append more extra warning flags that only gcc 4.5+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
endif ()
# Append more extra warning flags that only gcc 4.6+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdouble-promotion -Wtrampolines")
if (HDF5_ENABLE_DEV_WARNINGS)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=const")
else ()
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wno-suggest-attribute=const")
endif ()
endif ()
# Append more extra warning flags that only gcc 4.7+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wstack-usage=8192 -Wvector-operation-performance")
if (HDF5_ENABLE_DEV_WARNINGS)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
else ()
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn")
endif ()
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... Only needed for gcc 4.X
if (CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0 AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8-4.last")
endif ()
# Append more extra warning flags that only gcc 4.8+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8")
if (HDF5_ENABLE_DEV_WARNINGS)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=format")
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-4.8")
else ()
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wno-suggest-attribute=format")
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-4.8")
endif ()
endif ()
# Append more extra warning flags that only gcc 4.9+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdate-time")
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.9")
endif ()
# Append more extra warning flags that only gcc 5.1+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
set (H5_CFLAGS3 "${H5_CFLAGS3} -Warray-bounds=2 -Wc99-c11-compat")
# Append more extra warning flags that only gcc 5.x+ know about
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/5")
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-5")
endif ()
# Append more extra warning flags that only gcc 6.x+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wnull-dereference -Wunused-const-variable -Wduplicated-cond -Whsa -Wnormalized")
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
ADD_H5_FLAGS (H5_CFLAGS1 "${HDF5_SOURCE_DIR}/config/gnu-warnings/6")
endif ()
# Append more extra warning flags that only gcc 7.x+ know about
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 7.0)
set (H5_CFLAGS4 "${H5_CFLAGS4} -Walloc-zero -Walloca -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wrestrict")
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 7.0)
ADD_H5_FLAGS (H5_CFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/7")
if (HDF5_ENABLE_DEV_WARNINGS)
ADD_H5_FLAGS (H5_CFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-7")
#else ()
# ADD_H5_FLAGS (H5_CFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-7")
endif ()
endif ()
# Append more extra warning flags that only gcc 8.x+ know about
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.0)
ADD_H5_FLAGS (H5_CFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/8")
ADD_H5_FLAGS (H5_CFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-8")
if (HDF5_ENABLE_DEV_WARNINGS)
ADD_H5_FLAGS (H5_CFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-8")
else ()
ADD_H5_FLAGS (H5_CFLAGS3 "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-8")
endif ()
endif ()
# Append more extra warning flags that only gcc 9.x+ know about
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0)
ADD_H5_FLAGS (H5_CFLAGS4 "${HDF5_SOURCE_DIR}/config/gnu-warnings/9")
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
@@ -214,23 +203,13 @@ if (HDF5_ENABLE_ALL_WARNINGS)
if (MSVC)
if (HDF5_ENABLE_DEV_WARNINGS)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall /wd4668")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall /wd4668")
endif ()
list (APPEND HDF5_CMAKE_C_FLAGS "/Wall /wd4668")
else ()
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
endif ()
list (APPEND HDF5_CMAKE_C_FLAGS "/W3")
endif ()
else ()
if (CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2}")
endif ()
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4})
endif ()
endif ()
@@ -241,16 +220,10 @@ option (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
if (HDF5_ENABLE_GROUPZERO_WARNINGS)
message (STATUS "....Group Zero warnings are enabled")
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W1")
endif ()
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_C_FLAGS "${HDF5_CMAKE_C_FLAGS}")
list (APPEND HDF5_CMAKE_C_FLAGS "/W1")
else ()
if (CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0}")
endif ()
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS0})
endif ()
endif ()
@@ -261,14 +234,10 @@ option (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
if (HDF5_ENABLE_GROUPONE_WARNINGS)
message (STATUS "....Group One warnings are enabled")
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2")
endif ()
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_C_FLAGS "${HDF5_CMAKE_C_FLAGS}")
list (APPEND HDF5_CMAKE_C_FLAGS "/W2")
else ()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS1}")
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS1})
endif ()
endif ()
@@ -279,14 +248,10 @@ option (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
if (HDF5_ENABLE_GROUPTWO_WARNINGS)
message (STATUS "....Group Two warnings are enabled")
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
endif ()
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_C_FLAGS "${HDF5_CMAKE_C_FLAGS}")
list (APPEND HDF5_CMAKE_C_FLAGS "/W3")
else ()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS2}")
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS2})
endif ()
endif ()
@@ -297,14 +262,10 @@ option (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
message (STATUS "....Group Three warnings are enabled")
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
endif ()
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " HDF5_CMAKE_C_FLAGS "${HDF5_CMAKE_C_FLAGS}")
list (APPEND HDF5_CMAKE_C_FLAGS "/W4")
else ()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS3}")
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS3})
endif ()
endif ()
@@ -315,7 +276,7 @@ option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
message (STATUS "....Group Four warnings are enabled")
if (NOT MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS4})
endif ()
endif ()
@@ -326,6 +287,60 @@ endif ()
if (CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
endif ()
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
#-----------------------------------------------------------------------------
# Option for --enable-asserts
# By default, CMake adds NDEBUG to CMAKE_${lang}_FLAGS for Release build types
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
#option (HDF5_ENABLE_ASSERTS "Determines whether NDEBUG is defined to control assertions." OFF)
set (HDF5_ENABLE_ASSERTS "OFF" CACHE STRING "Determines whether NDEBUG is defined to control assertions (OFF NO YES)")
set_property (CACHE HDF5_ENABLE_ASSERTS PROPERTY STRINGS OFF NO YES)
if (HDF5_ENABLE_ASSERTS MATCHES "YES")
add_compile_options ("-UNDEBUG")
elseif (HDF5_ENABLE_ASSERTS MATCHES "NO")
add_compile_options ("-DNDEBUG")
endif ()
MARK_AS_ADVANCED (HDF5_ENABLE_ASSERTS)
#-----------------------------------------------------------------------------
# Option for --enable-symbols
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
#option (HDF5_ENABLE_SYMBOLS "Add debug symbols to the library independent of the build mode and optimization level." OFF)
set (HDF5_ENABLE_SYMBOLS "OFF" CACHE STRING "Add debug symbols to the library independent of the build mode and optimization level (OFF NO YES)")
set_property (CACHE HDF5_ENABLE_SYMBOLS PROPERTY STRINGS OFF NO YES)
if (HDF5_ENABLE_SYMBOLS MATCHES "YES")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fno-omit-frame-pointer")
endif ()
elseif (HDF5_ENABLE_SYMBOLS MATCHES "NO")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-s")
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s")
endif ()
endif ()
MARK_AS_ADVANCED (HDF5_ENABLE_SYMBOLS)
#-----------------------------------------------------------------------------
# Option for --enable-profiling
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_PROFILING "Enable profiling flags independently from the build mode." OFF)
if (HDF5_ENABLE_PROFILING)
list (APPEND HDF5_CMAKE_C_FLAGS "${PROFILE_CFLAGS}")
endif ()
MARK_AS_ADVANCED (HDF5_ENABLE_PROFILING)
#-----------------------------------------------------------------------------
# Option for --enable-optimization
# This option will force/override the default setting for all configurations
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_OPTIMIZATION "Enable optimization flags/settings independently from the build mode" OFF)
if (HDF5_ENABLE_OPTIMIZATION)
list (APPEND HDF5_CMAKE_C_FLAGS "${OPTIMIZE_CFLAGS}")
endif ()
MARK_AS_ADVANCED (HDF5_ENABLE_OPTIMIZATION)

View File

@@ -0,0 +1,112 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
message (STATUS "Warnings Configuration: default Fortran: ${CMAKE_Fortran_FLAGS}")
#-----------------------------------------------------------------------------
# Option to allow the user to disable compiler warnings
#-----------------------------------------------------------------------------
if (HDF5_DISABLE_COMPILER_WARNINGS)
message (STATUS "....Compiler warnings are suppressed")
# MSVC uses /w to suppress warnings. It also complains if another
# warning level is given, so remove it.
if (MSVC)
set (HDF5_WARNINGS_BLOCKED 1)
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /warn:none")
endif ()
endif ()
if (WIN32)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
endif ()
# Borland uses -w- to suppress warnings.
if (BORLAND)
set (HDF5_WARNINGS_BLOCKED 1)
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w-")
endif ()
# Most compilers use -w to suppress warnings.
if (NOT HDF5_WARNINGS_BLOCKED)
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w")
endif ()
endif ()
#-----------------------------------------------------------------------------
# HDF5 library compile options
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
if (NOT MSVC AND NOT MINGW)
# General flags
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/ifort-general")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-stand:f03" "-free")
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-general")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-ffree-form" "-fimplicit-none")
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0 AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.6)
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-std=f2008ts")
else ()
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-std=f2008")
endif ()
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-Mfreeform" "-Mdclchk" "-Mstandard" "-Mallocatable=03")
endif ()
message (STATUS "HDF5_CMAKE_Fortran_FLAGS=${HDF5_CMAKE_Fortran_FLAGS}")
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
# Append more extra warning flags that only gcc 4.8+ know about
if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.8)
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.8")
endif ()
# Append more extra warning flags that only gcc 4.9+ know about
#if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.9)
# ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.9")
#endif ()
# Append more extra warning flags that only gcc 5.x+ know about
if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 5.0)
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-5")
endif ()
# Append more extra warning flags that only gcc 6.x+ know about
if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 6.0)
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-6")
endif ()
# Append more extra warning flags that only gcc 7.x+ know about
#if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.0)
# ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-7")
#endif ()
# Append more extra warning flags that only gcc 8.x+ know about
if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-8")
endif ()
# Append more extra warning flags that only gcc 9.x+ know about
#if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 9.0)
# ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-9")
#endif ()
endif ()
else ()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
#ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-ifort-general")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "/warn:all" "/stand:f03" "/free")
endif ()
endif ()

View File

@@ -1 +1 @@
FMWK????
FMWK????

View File

@@ -9,7 +9,7 @@ It was built with the following options:
-- @LIB_TYPE@ C/C++/Fortran libraries
-- SZIP (encoder enabled) and ZLIB
-- @LIB_TYPE@ HDF5 tools
-- Java
-- Java @Java_VERSION@
The contents of this directory are:
@@ -28,7 +28,8 @@ After Installation
The examples folder, HDF5Examples, located in the
HDF5 install folder, can be built and tested with CMake and the supplied
HDF5_Examples.cmake file. The HDF5_Examples.cmake expects HDF5 to have
been installed in the default location with above compilers. Also, the CMake
been installed in the default location with above compilers (see the
libhdf5.settings file in the lib install folder). Also, the CMake
utility should be installed.
To test the installation with the examples;

Some files were not shown because too many files have changed in this diff Show More