summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-01-23 15:08:40 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-01-23 15:08:40 (GMT)
commit8df3fd36b9fbf9a039a875a547312f870708b9a0 (patch)
tree43dcb1af360685d84d62ce7aa39a7dda264415b0
parentf61c8d297f7aa4518c7a3037052471b059479c07 (diff)
parent561b0147c4c4350ba53f218b176d3db794dc443c (diff)
downloadhdf5-8df3fd36b9fbf9a039a875a547312f870708b9a0.zip
hdf5-8df3fd36b9fbf9a039a875a547312f870708b9a0.tar.gz
hdf5-8df3fd36b9fbf9a039a875a547312f870708b9a0.tar.bz2
Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit '561b0147c4c4350ba53f218b176d3db794dc443c': Max Library "index" should be 6 for HDF5 1.12. Merge pull request #2289 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
-rw-r--r--bin/h5cc.in7
-rwxr-xr-xbin/make_vers16
-rw-r--r--src/H5vers.txt19
3 files changed, 29 insertions, 13 deletions
diff --git a/bin/h5cc.in b/bin/h5cc.in
index 9c4e3ca..d6b7a12 100644
--- a/bin/h5cc.in
+++ b/bin/h5cc.in
@@ -121,13 +121,6 @@ usage() {
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:"
- 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]"
echo " -show Show the commands without executing them"
echo " -showconfig Show the HDF5 library configuration summary"
echo " -shlib Compile with shared HDF5 libraries [default for hdf5 built"
diff --git a/bin/make_vers b/bin/make_vers
index d2dca4e..28cbcf8 100755
--- a/bin/make_vers
+++ b/bin/make_vers
@@ -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);
diff --git a/src/H5vers.txt b/src/H5vers.txt
index 0df2675..ae1d600 100644
--- a/src/H5vers.txt
+++ b/src/H5vers.txt
@@ -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, v10, v112
-FUNCTION: H5Oget_info_by_name; ; v18, v10, v112
-FUNCTION: H5Oget_info_by_idx; ; v18, v10, v112
-FUNCTION: H5Ovisit; ; v18, v10, v112
-FUNCTION: H5Ovisit_by_name; ; v18, v10, 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