When both the HDF5 library and the application are built and installed with no specific compatibility flags, H5E_SET_AUTO is mapped to the most recent version of the function, currently H5E_SET_AUTO2. If the library and/or application is compiled for Release 1.6 emulation, H5E_SET_AUTO will be mapped to H5E_SET_AUTO1. Function-specific flags are available to override these settings on a function-by-function basis when the application is compiled.
Specific compile-time compatibility flags and the resulting mappings are as follows:
If a C routine that takes a function pointer as an argument is called from within C++ code, the C routine should be returned from normally.
Examples of this kind of routine include callbacks such as H5P_SET_ELINK_CB and H5P_SET_TYPE_CONV_CB and functions such as H5T_CONVERT and H5E_WALK2.
Exiting the routine in its normal fashion allows the HDF5 C library to clean up its work properly. In other words, if the C++ application jumps out of the routine back to the C++ “catch” statement, the library is not given the opportunity to close any temporary data structures that were set up when the routine was called. The C++ application should save some state as the routine is started so that any problem that occurs might be diagnosed.
The function H5Eset_auto renamed to H5Eset_auto1 and deprecated in this release. The macro H5Eset_auto and the function H5Eset_auto2 introduced in this release.
Fortran 2003 version of Fortran subroutine added in this release.