https://bugs.kde.org/show_bug.cgi?id=497723
Bug ID: 497723 Summary: Enabling Ada demangling breaks callgrind differentiation between overloaded functions and procedures Classification: Developer tools Product: valgrind Version: 3.24 GIT Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: callgrind Assignee: josef.weidendor...@gmx.de Reporter: philippe.waroqui...@skynet.be Target Milestone: --- Ada demangling has been enabled in 27fe47bd8a. Ada allows to overload function and procedures such as e.g. package P is procedure Proc (I : Integer); procedure Proc (B : Boolean); procedure Proc; end P; Such procedure will get mangled names such as P_Proc, P__Proc__1 and P__Proc__2. Demangled names will all be be P.Proc. When running an executable calling the above 3 procedures, kcachegrind then shows the calls to the 3 procedures as being calls to one single procedure P.Proc. In other words, it glues all the procedures, their calls and their costs in one single procedure. Using --demangle=no goes back to the 3.23 behaviour as it disables the Ada demangling (and not only the C++ demangling as wrongly indicated by the --help). Wondering if this callgrind behaviour is specific to Ada or if some other languages supporting overloading have the same behaviour. It might then be worth investigating if there is a solution to that and/or indicate in the user manual that using --demangle=no might be a good idea when using callgrind. Alternatively, callgrind should automatically disable demangling and kcachegrind and similar visualisation tools should do the demangling. In any case, the --help and likely user manual should indicate --demangle impact Ada, C++ and likely other demangling. -- You are receiving this mail because: You are watching all bug changes.