Fixes the "multiple @param documentation sections" doxygen warnings #6195
+63
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses the "multiple @ param documentation sections" warnings are caused by the interaction of three things:
MACRO_EXPANSION = YES with EXPAND_ONLY_PREDEF = NO in Doxyfile.in
Versioned API macros in H5version.h like:
\def documentation in APIVersions.dox like:
Because Doxygen expands all macros, it sees H5Tarray_create as an alias for H5Tarray_create1. It then associates documentation from both the \def block (for the macro) and the function's own doc block (with \param entries) with the same function — resulting in "multiple @ param documentation sections."
Important
Fix Doxygen warnings by adding predefined macros in
CMakeLists.txtand adjusting Fortran code for conditional compilation.DOXYGEN_PREDEFINEDinCMakeLists.txtto prevent Doxygen from expanding macros inH5version.h, avoiding multiple@paramwarnings.#ifdef H5_DOXYGENcondition inH5FDff.F90to handle Doxygen-specific documentation sections.h5fdsubfiling_get_file_mapping_fto conditionally compile based onH5_DOXYGENandH5_FORTRAN_HAVE_CHAR_ALLOC.This description was created by
for c65e24b. You can customize this summary. It will automatically update as commits are pushed.