On 10/26/2017 04:11 AM, marxin wrote:
gcc/ChangeLog:
+++ b/gcc/doc/gcov.texi
@@ -327,6 +327,11 @@ non-exceptional paths or only exceptional paths such as
C++ exception
handlers, respectively. Given @samp{-a} option, unexecuted blocks are
marked @samp{$$$$$} or @samp{%%%%%}, depending on whether a basic block
is reachable via non-exceptional or exceptional paths.
+Note that GCC can perform function removal for functions obviously not
+used in a compilation unit. Such functions are marked with @samp{-}
+even though they contain a code. Use @option{-fkeep-inline-functions} and
+@option{-fkeep-static-functions} in order to properly
+record @var{execution_count} of such functions.
This reads a little oddly. How about:
Note that GCC can completely remove the bodies of functions that are not
needed -- for instance if they are inlined everywhere. Such functions
are marked with @samp{-}, which can be confusing. Use the
@option{-fkeep-inline-functions} and @option{-fkeep-static-functions}
options to retain these functions and allow gcov to properly show their
@var{execution_count}.
Ok with that (or something approximating it).
nathan
--
Nathan Sidwell