mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-12 15:04:59 +08:00
850d6c8f06
An internal capability that's similar to the H5E_BEGIN_TRY / H5E_END_TRY macros in H5Epublic.h, but more efficient since we can avoid pushing errors on the stack entirely (and those macros use public API routines). This capability (and other techniques) can be used to remove use of H5E_clear_stack() and H5E_BEGIN_TRY / H5E_END_TRY within library routines. We want to remove H5E_clear_stack() because it can trigger calls to the H5I interface from within the H5E code, which creates a great deal of complexity for threadsafe code. And we want to remove H5E_BEGIN_TRY / H5E_END_TRY's because they make public API calls from within the library code. Also some other minor tidying in routines related to removing the use of H5E_clear_stack() and H5E_BEGIN_TRY / H5E_END_TRY from H5Fint.c |
||
---|---|---|
.. | ||
batch | ||
pkgscrpts | ||
buildhdf5 | ||
checkapi | ||
chkcopyright | ||
cmakehdf5 | ||
debug-ohdr | ||
format_source | ||
genparser | ||
h5cc.in | ||
h5redeploy.in | ||
h5vers | ||
iostats | ||
make_err | ||
make_overflow | ||
make_vers | ||
Makefile.am | ||
makehelp | ||
output_filter.sh | ||
README.md | ||
release | ||
restore.sh | ||
runbkgprog | ||
switch_maint_mode | ||
trace | ||
warnhist |
Scripts in bin
and their purpose
Programs run via autogen.sh
(or the equivalent in CMake) are indicated.
Program | Purpose |
---|---|
buildhdf5 |
Convenience script to build HDF5 using the Autotools |
checkapi |
Checks if public API calls are used in internal functions |
chkcopyright |
Checks if files have appropriate copyright statements |
cmakehdf5 |
Convenience script to build HDF5 using CMake |
debug-ohdr |
Examines debug output from H5O_open/close to look for open objects |
format_source |
Runs clang-format over the source files, applying our rules |
genparser |
Creates the flex/bison-based parser files in the high-level library |
h5cc.in |
Input file from which h5cc is created |
h5redeploy.in |
Input file from which h5redeploy is created |
h5vers |
Updates the library version number |
make_err |
Generates the H5E header files (called in autogen.sh ) |
make_vers |
Generates H5version.h (called in autogen.sh ) |
make_overflow |
Generates H5overflow.h (called in autogen.sh ) |
output_filter |
Used in the tools test code to strip extraneous output before we diff files |
restore.sh |
Removes files generated by autogen.sh |
runbkprog |
Used by CMake to run test programs in the background |
switch_maint_mode |
Switches maintainer mode on/off in configure.ac |
trace |
Updates H5ARG_TRACE macros in H5ES_insert() calls (run by autogen.sh ) |
warnhist |
Generates compiler warning statistics for gcc/clang when fed output of make |
TODO
- chkcopyright is currently semi-broken as it doesn't handle the full variety of copyright headers we need. We're leaving it in place, though, in the hopes that someone will update it in the future.
- Extending warnhist to better understand the output of additional compilers/languages would be nice.