Demangle C++ function names in coverage reports
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!