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.
* 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).
* 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.
* commit 'baf7ebc4ca4eeecb11a607f420a5d5b95169eed5':
Cleans warnings and cruft from ttsafe_attr_vlen.c
Fixes Windows issues due to exposed pthread code
* commit '04b24163f7f08248a58d256371e088c8cc7816c8':
Cleans warnings and cruft from ttsafe_attr_vlen.c
Fixes Windows issues due to exposed pthread code
* commit '4f0283db788fc1a0db94e7825567210021b3b594':
Fixes a size mismatch when copying old-style to new-style references
Fixes memory leads in trefer.c
* commit '5ce2a178043d9749d30076a2e62249d9998c40ec':
Removes staff email addresses from the repository Removes redundant C library headers from hl library
* 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
* 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
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.
* 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
...
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)
* 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
* 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
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
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)
* 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
* 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
Move error_stack setup to tools library
Add structure for h5dump properties
Eliminate duplicated h5diff functions
Use properties structure in place of argument lists.
* commit '806f5b5b2a280072f62f58c48e93acdc84f2b3ae':
Removed POSIX #defines from configure on Solaris.
Fallback to older time functions in new timer code.
* commit 'b8013380792a3503003f0a2bd60d7541656b03c7':
Removed POSIX #defines from configure on Solaris.
Fallback to older time functions in new timer code.
* 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
* commit '800f93f7c994f88dfa716746153ded4b1e690e3a':
Remove path to szip header file from AM_CPPFLAGS when configure check of libsz fails. Fix for HDFFV-10830.
* 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
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
* 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
* 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
* 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.
* 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.
* 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.
...
* commit 'e1215177b6b87887233a90992a0264f11d78b88c':
* Fix intermittent error with Splitter VFD. Mismatch in time of test file creation was creating false negatives.
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.
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)
* 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.
* 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.
* 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.
* 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.
* commit 'a8a4e9f27b67ae2e22970e42859225adcc2e5cbb':
Eliminate allocating file & memory offset & length arrays when performing I/O on a single element.
* 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.
* 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.
* 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.
* 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.
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.
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)
* 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.
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.
* 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).
* 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
* 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.
* 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.
* 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.
* 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]`.
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]`.
* 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.
* 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.
* 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.
* 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.
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.
* 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.
* 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.
* 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.
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.
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.
* 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
...
* 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.
* 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
* 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.
* 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
...
* 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.
* 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.
* 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.
* 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
* 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
* 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.
* 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().
* 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.
...
* 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
* 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
* 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
* 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.
* 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.
* 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.
* 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.
* 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.
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().
* 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.
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
* 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
* "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).
* 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.
* 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
...
* 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.
* commit '38af6ee3d59a8e836f4c62dd533ddabd914c7abb':
Switch the 'get offset' operation from a dataset 'get' callback to a [native] dataset 'optional' operation.
* 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.
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.
* commit '13f5b3aee20d1d65f56dc08f088e0f218da5cf37':
Update examples and fix old version references.
Move MODEL check to before usage in CTestScript.cmake.
* commit 'cf58730177d60fd7311582a29539d87f10a7d88e':
Update Windows platforms
HDFFV-11036 add release note
HDFFV-11036 add file compare test process
Correct usage of add_compile_definitions
* commit '380fe7cfdfd98461cb1bff54bad4de0ee9904ad6':
Fix always true issue because member is not dynamically allocated
CMake cleanup
HDFFV-11032 fix JNI call
* commit '158ba17be0ad40e3e47a951c1340710608347772':
Replace the old H5F_DECODE_LENGTH() implementation with one that initializes the variable it's loading on every path.
* 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.
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>.
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.
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.
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.
* 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.
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.
* commit 'a0a75e7b6e157b40bbe09c7955153835ce200f79':
If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation of H5TS_thread_id().
* 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.
* 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.
* 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
* 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
* 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].
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.
Reduce gratuitous casts---e.g., (size_t)1.
Use the right format string for a pointer.
In the H5C sanity checks, change a "size increase" variable from ssize_t
(too narrow) to int64_t (wide enough).
Parenthesize every appearance of `storage` in the macro
`H5D_CHUNK_STORAGE_INDEX_CHK(storage)` so that you can pass in an
expression like &sc and it works properly.
Disallow re-assignment of the `dset` parameter to H5D__chunk_init()
because it helped assure me that it's safe to replace the repeating
expression `&dset->shared->layout.storage.u.chunk` with `sc` throughout.
Replace lengthy expressions such as
`&dset->shared->layout.storage.u.chunk` with `sc` throughout several
functions in H5Dchunk.c ISTR that the compiler warned that `sc` was
declared but unused in a couple of functions, and then I found that `sc`
could be used in many places. Maybe the disused `sc` appeared because a
bunch of code was copied and pasted, I don't know. Anyway, it's a lot
tighter code now that I use `sc`.
In H5D__chunk_update_old_edge_chunks() and H5D__chunk_delete()
I actually expand `sc` and another temporary variable, `pline`,
because they're used only in !defined(NDEBUG) code. This squashes
unused-variable warnings in the defined(NDEBUG) configuration.
Don't drop the `volatile` qualification with a cast in
tools/src/h5import/h5import.c.
* commit '4276e37eab01c4d67e0d669fff28d3eac31cc806':
Remove commented warnings line
Note for common warnings files
Create common build system files for warnings
* 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
* commit '38d3834c54ee1dfa7366ae1c581909f0cf7fa000':
Add another warning variation
Correct ignore warnings
Only use sanitizer with Clang
Remove cmake macros from valgrind tests
* commit '3b804074bd358b4a1f5b8ace30f53c4a5b250bf8':
Add another warning variation
Correct ignore warnings
Only use sanitizer with Clang
Remove cmake macros from valgrind tests
* 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.
* commit '9475ee5d59e9ac916271a64c5372dfc28f709417':
Optimized the floating point comparisons a little bit.
Fix for failing h5diff tests involving floating-point compares.
* 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.
* 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
* 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
* 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.
* 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.
* 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.
* 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.
* commit '44739ccd4715cc9e15595575700e945341fcdbcc':
Tidying from code review.
Fixed stack and frame size warnings. Not complete, but fixes most of the easier cases.
* 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).
* commit 'a7648879d729c1b75bd32f3a151831e9cbfbe31c':
Add test for reference shutdown issue
H5R: set app ref when incrementing ref_count on location held by reference (fix HDFFV-10992)
* 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
* 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
* 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
* commit '1a50056dafc8e22facda675acb43a71705fdd15c':
Changed -Wformat-truncation to level 2 in CMake w/ gcc.
Changed -Wformat-truncation's level from 2 to 1.
* 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
* 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.
* 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.
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.
* 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.
* 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
...
* 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
* 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
* 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
* 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.
* 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
...
* 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.
* 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
* 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
* 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.
* 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.
* 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.
* 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.
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.
* 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().
* 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
* 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
* 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().
* 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.
* 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."
* 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().
* 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 *.
...
* 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.
...
* 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
* 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
* 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.
* 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.
* commit '13456df8a47fdcd8f96f170c9218e57a03066120':
Minor correction
Update list of tested platforms
Add VS2019 support
Fixed the H5_mpi_get_bigio_count function prototype
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.
* 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.
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.
* 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.
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.
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.
* 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.
* 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.
* 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 `[^/]+`.
"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.
* 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.
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.
* 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 `==`.
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.
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.
* 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.
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
* 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.
* 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
* 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.
* 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
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
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
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.
* 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.
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.
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.
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.
(#!) 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.
* 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.
* commit '4fb64c89fe52a309150ca2d5bb97eb4763e598e9':
Converted H5O MD cache cork calls to use the VOL.
Marked up H5Fget/set_mpi_atomicity() to use the VOL.
* 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
...
* 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.
* commit '6eb506eff76b5455f8aac8889c6809aca2d8be52':
Revert "Moved NDEBUG guards to H5EA_DEBUG in H5EA package."
Revert "Fix for H5EA debug package when built in release mode."
* 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.
* 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.
* 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
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.
* 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
...
* 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.
* 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.
* commit 'c1c522f6ce8f6d7e44e6ea99860b19228f46952a':
Fix issue in H5Lcreate_hard and H5Olink where entire H5VL_loc_params_t structure was passed via varargs
* commit '0de0965c61823186ac61c0d6876d4d77578e5bcc':
Fix issue in H5Lcreate_hard and H5Olink where entire H5VL_loc_params_t structure was passed via varargs
* 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
...
* 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
...
Description:
Fixed tests to handle the case when a requested compression filter
is not available.
Platform tested
Linux/64 (jelly)
Darwin (osx1011test)
- 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
* 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.
* 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
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)
* 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.
* 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.
* commit 'd42de626b604b75963fd593a145fd9c9b9e20602':
Fixed a bug where we incorrectly pass a lock struct to fcntl for file locking instead of a pointer.
* 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.
* commit '3090ac81506094ee510ae89c31749b5c1632aa34':
Add a 'closing' flag on the shared file struct, and switch several of the "internal" data structures to use it.
* 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.
* commit '92f103cfd4b19b61a0ddf6e62e1692d2b3eeb4d9':
Add H5_DLL to all s3comms function prototypes to stop Windows unresolved external symbols errors. HDFFV-10889.
* 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
* 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.
...
* commit 'dcf084aff42d3abafaa82b356493a2d1585afb85':
Changes based on PR feedback.
Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
* commit '538f743c145fbbfa7b1119693efd2ff61b34efae':
Changes based on PR feedback.
Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
* 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
* 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.
* 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.
* 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.
* 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.
* 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
* 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
* 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.
* commit 'c3c044cc003d6a4039635e638e1cd1c2487be177':
Escape { and } in regex as required by sh in updated cori.nersc.gov. Tested change on jam, jelly, emu, ostrich and osx1011test.
* 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.
* 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.
* 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().
* commit '4227b8948d7091205b4f8dc1271d7dcae01bb0fb':
Reverts the removal of config/conclude_fc.am while keeping the changes to config/gnu-fflags.
Fixed a couple of typos.
* commit '363217073750d07e0eeb0aac2b404a799fda9f7a':
Update COPYING file. Remove hdfs from list of vfds for check-vfd testing as it is read-only.
Fixed the MANIFEST
* 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.
* 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.
* 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:
* 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:
* 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
...
* 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.
* 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.
* 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.
* 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.
* 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
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
* 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.
* 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.
(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).
* 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.
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.
* 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
* 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
* 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
* 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.
...
* 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
...
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")
} 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)
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.")
H5ConversionTests(${HDF_PREFIX}_LDOUBLE_TO_LONG_SPECIAL"Checking IF your system converts long double to (unsigned) long values with special algorithm")
H5ConversionTests(${HDF_PREFIX}_LONG_TO_LDOUBLE_SPECIAL"Checking IF your system can convert (unsigned) long to long double values with special algorithm")
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.