IAP GITLAB

Skip to content

Demangle C++ function names in coverage reports

Remy Prechelt requested to merge rprechelt-demangle-cpp into master

Debugging the extraneous destructors in !211 (merged) was a little awkward since the current CI pipeline does not demangle C++ function names in the coverage reports. lcov actually has native support for C++ name demangling (using c++filt provided by GNU binutils) that converts fully mangled function names into their source names (i.e converting _ZN7corsika11environment15FlatExponentialINS0_12IMediumModelEED2Ev to corsika::environment::FlatExponential<corsika::environment::IMediumModel>::~FlatExponential()).

This MR just adds the --demangle-cpp flag to genhtml so that the coverage reports have nicely demangled function names. The latest coverage artifacts are available here.

NB: The difference between C-* and D-* constructors/destructors is still available with demangled names as lcov will append a .0, .1, .2, etc. for the corresponding C-* and D-* symbols which is useful!

Edited by Remy Prechelt

Merge request reports