Skip to content

Commit 9dfafe6

Browse files
Bring up-to-date with main
2 parents 7fd059f + 17c7314 commit 9dfafe6

17 files changed

+733
-126
lines changed

.github/workflows/run_tests_osx.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
name: Run macOS-based netCDF Tests
88

99

10-
on: [pull_request, workflow_dispatch]
10+
on: [pull_request,workflow_dispatch]
1111

1212
jobs:
1313

.github/workflows/run_tests_ubuntu.yml

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
###
2-
# Build hdf4, hdf5 dependencies and cache them in a combined directory.
2+
# Build hdf5 dependencies and cache them in a combined directory.
33
###
44

55
name: Run Ubuntu/Linux netCDF Tests
@@ -25,7 +25,7 @@ jobs:
2525
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen
2626

2727
###
28-
# Installing libhdf4 and libhdf5
28+
# Installing libhdf5
2929
###
3030
- name: Cache libhdf5-${{ matrix.hdf5 }}
3131
id: cache-hdf5
@@ -39,13 +39,15 @@ jobs:
3939
if: steps.cache-hdf5.outputs.cache-hit != 'true'
4040
run: |
4141
set -x
42+
4243
wget https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.bz2
4344
tar -jxf hdf-4.2.15.tar.bz2
4445
pushd hdf-4.2.15
45-
./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib
46+
./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-hdf4-xdr
4647
make -j
4748
make install -j
4849
popd
50+
4951
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
5052
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
5153
pushd hdf5-${{ matrix.hdf5 }}
@@ -72,7 +74,7 @@ jobs:
7274
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev mpich libmpich-dev
7375

7476
###
75-
# Installing libhdf4 and libhdf5
77+
# Installing libhdf5
7678
###
7779
- name: Cache libhdf5-parallel-${{ matrix.hdf5 }}
7880
id: cache-hdf5
@@ -86,13 +88,15 @@ jobs:
8688
if: steps.cache-hdf5.outputs.cache-hit != 'true'
8789
run: |
8890
set -x
91+
8992
wget https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.bz2
9093
tar -jxf hdf-4.2.15.tar.bz2
9194
pushd hdf-4.2.15
92-
CC=mpicc ./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-parallel
95+
CC=mpicc ./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-parallel --enable-hdf4-xdr
9396
make -j
9497
make install -j
9598
popd
99+
96100
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
97101
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
98102
pushd hdf5-${{ matrix.hdf5 }}
@@ -164,7 +168,7 @@ jobs:
164168

165169
- name: Configure
166170
shell: bash -l {0}
167-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf4 --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-doxygen --enable-external-server-tests
171+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-doxygen --enable-external-server-tests
168172
if: ${{ success() }}
169173

170174
- name: Look at config.log if error
@@ -240,7 +244,7 @@ jobs:
240244

241245
- name: Configure
242246
shell: bash -l {0}
243-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc ./configure --enable-hdf4 --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-parallel-tests --enable-pnetcdf
247+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-parallel-tests --enable-pnetcdf
244248
if: ${{ success() }}
245249

246250
- name: Look at config.log if error
@@ -322,7 +326,7 @@ jobs:
322326
run: |
323327
mkdir build
324328
cd build
325-
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DENABLE_HDF4=TRUE -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=TRUE -DENABLE_HDF5=TRUE -DENABLE_NCZARR=TRUE -D ENABLE_DAP_LONG_TESTS=TRUE
329+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=TRUE -DENABLE_HDF5=TRUE -DENABLE_NCZARR=TRUE -D ENABLE_DAP_LONG_TESTS=TRUE
326330
327331
- name: Print Summary
328332
shell: bash -l {0}
@@ -402,7 +406,7 @@ jobs:
402406
run: |
403407
mkdir build
404408
cd build
405-
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DCMAKE_C_COMPILER=mpicc -DENABLE_HDF4=TRUE -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=TRUE -DENABLE_HDF5=TRUE -DENABLE_NCZARR=TRUE -D ENABLE_DAP_LONG_TESTS=TRUE -DENABLE_PNETCDF=TRUE
409+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=TRUE -DENABLE_HDF5=TRUE -DENABLE_NCZARR=TRUE -D ENABLE_DAP_LONG_TESTS=TRUE -DENABLE_PNETCDF=TRUE
406410
407411
- name: Print Summary
408412
shell: bash -l {0}
@@ -458,11 +462,9 @@ jobs:
458462
- run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV
459463
- run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV
460464
- run: |
461-
echo "ENABLE_HDF4=--disable-hdf4" >> $GITHUB_ENV
462465
echo "ENABLE_HDF5=--disable-hdf5" >> $GITHUB_ENV
463466
if: matrix.use_nc4 == 'nc3'
464467
- run: |
465-
echo "ENABLE_HDF4=--enable-hdf4" >> $GITHUB_ENV
466468
echo "ENABLE_HDF5=--enable-hdf5" >> $GITHUB_ENV
467469
if: matrix.use_nc4 == 'nc4'
468470
- run: echo "ENABLE_DAP=--disable-dap" >> $GITHUB_ENV
@@ -499,7 +501,7 @@ jobs:
499501

500502
- name: Configure
501503
shell: bash -l {0}
502-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure ${ENABLE_HDF4} ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR}
504+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR}
503505
if: ${{ success() }}
504506

505507
- name: Look at config.log if error
@@ -526,18 +528,6 @@ jobs:
526528
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
527529
if: ${{ success() }}
528530

529-
# - name: Make Distcheck
530-
# shell: bash -l {0}
531-
# run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} DISTCHECK_CONFIGURE_FLAGS="${ENABLE_HDF4} ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR}" make distcheck
532-
# if: ${{ success() }}
533-
534-
#- name: Start SSH Debug
535-
# uses: luchihoratiu/debug-via-ssh@main
536-
# with:
537-
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
538-
# SSH_PASS: ${{ secrets.SSH_PASS }}
539-
# if: ${{ failure() }}
540-
541531
nc-cmake:
542532

543533
needs: [ nc-cmake-tests-oneoff-serial, nc-ac-tests-oneoff-serial, nc-cmake-tests-oneoff-parallel, nc-ac-tests-oneoff-parallel ]
@@ -564,11 +554,9 @@ jobs:
564554
- run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV
565555
- run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV
566556
- run: |
567-
echo "ENABLE_HDF4=OFF" >> $GITHUB_ENV
568557
echo "ENABLE_HDF5=OFF" >> $GITHUB_ENV
569558
if: matrix.use_nc4 == 'nc3'
570559
- run: |
571-
echo "ENABLE_HDF4=ON" >> $GITHUB_ENV
572560
echo "ENABLE_HDF5=ON" >> $GITHUB_ENV
573561
if: matrix.use_nc4 == 'nc4'
574562
- run: echo "ENABLE_DAP=OFF" >> $GITHUB_ENV
@@ -605,7 +593,7 @@ jobs:
605593
run: |
606594
mkdir build
607595
cd build
608-
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DENABLE_HDF4=${ENABLE_HDF4} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=${ENABLE_DAP} -DENABLE_HDF5=${ENABLE_HDF5} -DENABLE_NCZARR=${ENABLE_NCZARR}
596+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} cmake .. -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DENABLE_DAP=${ENABLE_DAP} -DENABLE_HDF5=${ENABLE_HDF5} -DENABLE_NCZARR=${ENABLE_NCZARR}
609597
610598
- name: Print Summary
611599
shell: bash -l {0}

.github/workflows/run_tests_win_cygwin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Run Cygwin-based tests
22

3-
on: [pull_request, workflow_dispatch]
3+
on: [pull_request,workflow_dispatch]
44

55
env:
66
SHELLOPTS: igncr
@@ -29,7 +29,7 @@ jobs:
2929
git automake libtool autoconf2.5 make libhdf5-devel
3030
libhdf4-devel zipinfo libxml2-devel perl zlib-devel
3131
libzstd-devel libbz2-devel libaec-devel libzip-devel
32-
libdeflate-devel gcc-core
32+
libdeflate-devel gcc-core libcurl-devel libiconv-devel
3333
3434
- name: (Autotools) Run autoconf and friends
3535
run: |

.github/workflows/run_tests_win_mingw.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ name: Run MSYS2, MinGW64-based Tests
99
env:
1010
CPPFLAGS: "-D_BSD_SOURCE"
1111

12-
on: [pull_request, workflow_dispatch]
12+
on: [pull_request,workflow_dispatch]
1313

1414
jobs:
1515

CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,8 @@ OPTION(ENABLE_CDF5 "Enable CDF5 support" ON)
519519
# Netcdf-4 support (i.e. libsrc4) is required by more than just HDF5 (e.g. NCZarr)
520520
# So depending on what above formats are enabled, enable netcdf-4
521521
if(ENABLE_HDF5 OR ENABLE_HDF4 OR ENABLE_NCZARR)
522-
SET(ENABLE_NETCDF_4 ON CACHE BOOL "Enable netCDF-4 API" FORCE)
523-
SET(ENABLE_NETCDF4 ON CACHE BOOL "Enable netCDF4 Alias" FORCE)
522+
SET(ENABLE_NETCDF_4 ON CACHE BOOL "Enable netCDF-4 API" FORCE)
523+
SET(ENABLE_NETCDF4 ON CACHE BOOL "Enable netCDF4 Alias" FORCE)
524524
endif()
525525

526526
IF(ENABLE_HDF4)
@@ -1062,19 +1062,22 @@ ENDIF()
10621062
IF(ENABLE_DAP)
10631063
SET(USE_DAP ON CACHE BOOL "")
10641064
SET(ENABLE_DAP2 ON CACHE BOOL "")
1065+
10651066
IF(ENABLE_HDF5)
1067+
MESSAGE(STATUS "Enabling DAP4")
10661068
SET(ENABLE_DAP4 ON CACHE BOOL "")
1067-
ELSE(ENABLE_HDF5)
1069+
ELSE()
1070+
MESSAGE(STATUS "Disabling DAP4")
10681071
SET(ENABLE_DAP4 OFF CACHE BOOL "")
1069-
ENDIF(NOT ENABLE_HDF5)
1072+
ENDIF(ENABLE_HDF5)
10701073

10711074
ELSE()
10721075
SET(ENABLE_DAP2 OFF CACHE BOOL "")
10731076
SET(ENABLE_DAP4 OFF CACHE BOOL "")
10741077
ENDIF()
10751078

10761079
# Option to support byte-range reading of remote datasets
1077-
OPTION(ENABLE_BYTERANGE "Enable byte-range access to remote datasets.." OFF)
1080+
OPTION(ENABLE_BYTERANGE "Enable byte-range access to remote datasets.." ON)
10781081

10791082
# Check for the math library so it can be explicitly linked.
10801083
IF(NOT WIN32)
@@ -1311,7 +1314,7 @@ ENDIF()
13111314

13121315
IF(NOT ENABLE_S3_SDK)
13131316
IF(ENABLE_NCZARR_S3 OR ENABLE_NCZARR_S3_TESTS)
1314-
message(FATAL_ERROR "S3 support library not found; please specify option DENABLE_NCZARR_S3=NO")
1317+
message(FATAL_ERROR "S3 support library not found; please specify option -DENABLE_NCZARR_S3=NO")
13151318
SET(ENABLE_NCZARR_S3 OFF CACHE BOOL "NCZARR S3 support" FORCE)
13161319
SET(ENABLE_NCZARR_S3_TESTS OFF CACHE BOOL "S3 tests" FORCE)
13171320
ENDIF()
@@ -2537,6 +2540,7 @@ is_enabled(ENABLE_ZERO_LENGTH_COORD_BOUND RELAX_COORD_BOUND)
25372540
is_enabled(USE_CDF5 HAS_CDF5)
25382541
is_enabled(ENABLE_ERANGE_FILL HAS_ERANGE_FILL)
25392542
is_enabled(HDF5_HAS_PAR_FILTERS HAS_PAR_FILTERS)
2543+
is_enabled(ENABLE_NCZARR_S3 HAS_NCZARR_S3)
25402544
is_enabled(ENABLE_NCZARR HAS_NCZARR)
25412545
is_enabled(ENABLE_NCZARR_S3_TESTS DO_NCZARR_S3_TESTS)
25422546
is_enabled(ENABLE_MULTIFILTERS HAS_MULTIFILTERS)

RELEASE_NOTES.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This file contains a high-level description of this package's evolution. Release
77

88
## 4.9.1 - T.B.D.
99

10-
### 4.9.1 - Release Candidate 2 - TBD
10+
### 4.9.1 - Release Candidate 2 - November 21, 2022
1111

1212
#### Known Issues
1313

@@ -20,6 +20,10 @@ This file contains a high-level description of this package's evolution. Release
2020
* [Bug Fix] Fix a race condition when testing missing filters. See [Github #2557](https://github.com/Unidata/netcdf-c/pull/2557).
2121
* [Bug Fix] Make major changes to libdap4 and dap4_test to update the non-remote DAP4 tests. See [Github #2555](https://github.com/Unidata/netcdf-c/pull/2555).
2222
* [Bug Fix] Fix some race conditions due to use of a common file in multiple shell scripts . See [Github #2552](https://github.com/Unidata/netcdf-c/pull/2552).
23+
24+
25+
### 4.9.1 - Release Candidate 1 - October 24, 2022
26+
2327
* [Enhancement][Documentation] Add Plugins Quick Start Guide. See [GitHub #2524](https://github.com/Unidata/netcdf-c/pull/2524) for more information.
2428
* [Enhancement] Add new entries in `netcdf_meta.h`, `NC_HAS_BLOSC` and `NC_HAS_BZ2`. See [Github #2511](https://github.com/Unidata/netcdf-c/issues/2511) and [Github #2512](https://github.com/Unidata/netcdf-c/issues/2512) for more information.
2529
* [Enhancement] Add new options to `nc-config`: `--has-multifilters`, `--has-stdfilters`, `--has-quantize`, `--plugindir`. See [Github #2509](https://github.com/Unidata/netcdf-c/pull/2509) for more information.

configure.ac

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ AC_CONFIG_LINKS([nc_test4/ref_hdf5_compat3.nc:nc_test4/ref_hdf5_compat3.nc])
9797
AC_CONFIG_LINKS([hdf4_test/ref_chunked.hdf4:hdf4_test/ref_chunked.hdf4])
9898
AC_CONFIG_LINKS([hdf4_test/ref_contiguous.hdf4:hdf4_test/ref_contiguous.hdf4])
9999
AM_INIT_AUTOMAKE([foreign dist-zip subdir-objects])
100-
100+
AM_MAINTAINER_MODE()
101101
# Check for the existence of this file before proceeding.
102102
AC_CONFIG_SRCDIR([include/netcdf.h])
103103

@@ -1278,9 +1278,9 @@ fi
12781278
# Does the user want to allow reading of remote data via range headers?
12791279
AC_MSG_CHECKING([whether byte range support is enabled])
12801280
AC_ARG_ENABLE([byterange],
1281-
[AS_HELP_STRING([--enable-byterange],
1281+
[AS_HELP_STRING([--disable-byterange],
12821282
[allow byte-range I/O])])
1283-
test "x$enable_byterange" = xyes || enable_byterange=no
1283+
test "x$enable_byterange" = xno || enable_byterange=yes
12841284
AC_MSG_RESULT($enable_byterange)
12851285
# Need curl for byte ranges
12861286
if test "x$found_curl" = xno && test "x$enable_byterange" = xyes ; then
@@ -1925,6 +1925,7 @@ AC_SUBST(HAS_ERANGE_FILL,[$enable_erange_fill])
19251925
AC_SUBST(HAS_BYTERANGE,[$enable_byterange])
19261926
AC_SUBST(RELAX_COORD_BOUND,[yes])
19271927
AC_SUBST([HAS_PAR_FILTERS], [$hdf5_supports_par_filters])
1928+
AC_SUBST(HAS_NCZARR_S3,[$enable_nczarr_s3])
19281929
AC_SUBST(HAS_NCZARR,[$enable_nczarr])
19291930
AC_SUBST(DO_NCZARR_S3_TESTS,[$enable_nczarr_s3_tests])
19301931
AC_SUBST(HAS_MULTIFILTERS,[$has_multifilters])
@@ -2060,12 +2061,12 @@ AX_SET_META([NC_HAS_SZIP],[$enable_hdf5_szip],[yes])
20602061
AX_SET_META([NC_HAS_ZSTD],[$have_zstd],[yes])
20612062
AX_SET_META([NC_HAS_BLOSC],[$have_blosc],[yes])
20622063
AX_SET_META([NC_HAS_BZ2],[$have_bz2],[yes])
2064+
20632065
# This is the version of the dispatch table. If the dispatch table is
20642066
# changed, this should be incremented, so that user-defined format
20652067
# applications like PIO can determine whether they have an appropriate
20662068
# dispatch table to submit. If this is changed, make sure the value in
20672069
# CMakeLists.txt also changes to match.
2068-
20692070
AC_SUBST([NC_DISPATCH_VERSION], [5])
20702071
AC_DEFINE_UNQUOTED([NC_DISPATCH_VERSION], [${NC_DISPATCH_VERSION}], [Dispatch table version.])
20712072

docs/dispatch.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,30 @@ The code in *hdf4var.c* does an *nc_get_vara()* on the HDF4 SD
504504
dataset. This is all that is needed for all the nc_get_* functions to
505505
work.
506506

507+
# Appendix A. Changing NC_DISPATCH_VERSION
508+
509+
When new entries are added to the *struct NC_Dispatch* type `located in include/netcdf_dispatch.h.in` it is necessary to do two things.
510+
511+
1. Bump the NC_DISPATCH_VERSION number
512+
2. Modify the existing dispatch tables to include the new entries.
513+
It if often the case that the new entries do not mean anything for
514+
a given dispatch table. In that case, the new entries may be set to
515+
some variant of *NC_RO_XXX* or *NC_NOTNC4_XXX* *NC_NOTNC3_XXX*.
516+
517+
Modifying the dispatch version requires two steps:
518+
1. Modify the version number in *netcdf-c/configure.ac*, and
519+
2. Modify the version number in *netcdf-c/CMakeLists.txt*.
520+
521+
The two should agree in value.
522+
523+
### NC_DISPATCH_VERSION Incompatibility
524+
525+
When dynamically adding a dispatch table
526+
-- in nc_def_user_format (see libdispatch/dfile.c) --
527+
the version of the new table is compared with that of the built-in
528+
NC_DISPATCH_VERSION; if they differ, then an error is returned from
529+
that function.
530+
507531
# Appendix B. Inferring the Dispatch Table
508532

509533
As mentioned above, the dispatch table is inferred using the following

0 commit comments

Comments
 (0)