Merge pull request #2289 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop

* commit 'a92cfed71e0da0ff61af2550640e38bf6d415fee':
  Remove irrelevant sentence from comment.
  Remove duplicate lines noted on forum by Eric Bavier
  Add v111 version for H5O functions to enable version1 default for HDF5 1.8-1.10 and version 3 default for HDF5 1.12.  Version 2 functions are available (deprecated) but will not be the default for any version.
This commit is contained in:
Larry Knox 2020-01-22 08:34:30 -06:00
commit a250af4916
3 changed files with 30 additions and 14 deletions

View File

@ -114,13 +114,6 @@ fi
usage() {
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] <compile line>"
echo " OPTIONS:"
echo " -help This help message."
echo " -echo Show all the shell commands executed"
echo " -prefix=DIR Prefix directory to find HDF5 lib/ and include/"
echo " subdirectories [default: $prefix]"
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] <compile line>"
echo " OPTIONS:"

View File

@ -9,7 +9,7 @@ use warnings;
# need to be decremented. - QAK)
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, 7 = 1.14, etc)
$max_idx = 7;
$max_idx = 8;
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
$min_sup_idx = 3;
@ -354,7 +354,18 @@ sub parse_line ($) {
my $vers_idx; # Index of version in array
# Do some validation on the input
if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ )) {
# Note: v111 is allowed because H5O functions were prematurely versioned
# in HDF5 1.10. Because users were affected by this, the versioning
# was rescinded but the H5O version 2 functions were kept to be
# called directly. Now that the version macros are added in 1.12,
# along with a 3rd version of the H5O functions, the H5O function
# version for default api=v110 should be version 1 to work correctly
# with 1.10 applications that were using unversioned H5O functions,
# and the H5O function version should be version 3 for default api=v112
# (the default api version for 1.12). Allowing a v111 entry and
# incrementing its index 13 lines below allows a version 2 that is
# never accessed via the H5O function macros.
if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ || $_ =~ /v111/ )) {
die "bad version information: $name";
}
if(exists($sym_versions{$_})) {
@ -367,6 +378,9 @@ sub parse_line ($) {
#print "parse_line: _=$_\n";
# Get the index of the version
($vers_idx) = ($_ =~ /v1(\d+)/);
if($vers_idx == 11) {
$vers_idx++;
}
$vers_idx /= 2;
#print "parse_line: vers_idx='$vers_idx'\n";
push(@vers_nums, $vers_idx);

View File

@ -62,11 +62,20 @@ FUNCTION: H5Literate; H5L_iterate; v18, v112
FUNCTION: H5Literate_by_name; H5L_iterate; v18, v112
FUNCTION: H5Lvisit; H5L_iterate; v18, v112
FUNCTION: H5Lvisit_by_name; H5L_iterate; v18, v112
FUNCTION: H5Oget_info; ; v18, v110, v112
FUNCTION: H5Oget_info_by_name; ; v18, v110, v112
FUNCTION: H5Oget_info_by_idx; ; v18, v110, v112
FUNCTION: H5Ovisit; ; v18, v110, v112
FUNCTION: H5Ovisit_by_name; ; v18, v110, v112
# Note: v111 is allowed in make_vers because H5O functions were prematurely
# versioned in HDF5 1.10. Because users were affected by this, the
# versioning was rescinded but the H5O version 2 functions were kept
# to be called directly. Now that the version macros are added in 1.12,
# along with a 3rd version of the H5O functions, the H5O function
# version for default api=v110 should be version 1 to work correctly
# with 1.10 applications that were using unversioned H5O functions,
# and the H5O function version should be version 3 for default api=v112
# (the default api version for 1.12).
FUNCTION: H5Oget_info; ; v18, v111, v112
FUNCTION: H5Oget_info_by_name; ; v18, v111, v112
FUNCTION: H5Oget_info_by_idx; ; v18, v111, v112
FUNCTION: H5Ovisit; ; v18, v111, v112
FUNCTION: H5Ovisit_by_name; ; v18, v111, v112
FUNCTION: H5Pencode; ; v110, v112
FUNCTION: H5Pget_filter; ; v10, v18
FUNCTION: H5Pget_filter_by_id; ; v16, v18