Re: gcov 4.0 incorrectly marking lines as executable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Martin Reddy wrote:
We are seeing lots of problems with gcov 4.0.1 and were wondering if anyone
else has seen these and can offer some help. We are seeing cases where lines
with no executable code on them are being incorrectly marked as executable
and therefore also marked with zero coverage. For example, a class statement,
or a closing curly brace, or a line of code that is directly after a simple
statement that is marked as covered, or a line that is beyond the end of a
source file. For example, here is a .gcov file snippet (where ##### means the
line is executable but has not been hit):

        -:    7:
    #####:    8:class ClassName {
        -:    9:
        -:   10:  public:

The compiler emits certain implicit functions (like implicit ctors/dtors/assignment op) with the line number of a class's open {. You are probably encountering these.


or this case where the return statement directly after the for loop is marked
as not being covered:

       18:  507:  for (int i = 0; i < 8; i++)
       16:  508:     corners[i] = m.transform(corners[i]);
        -:  509:
    #####:  510:  return corners;

I cannot tell off hand what is going on here.  Please file a bug report.

or the following, where "/*EOF*/" is not in the source file and is added by gcov to indicate that the line is beyond the end of the file:

    #####: /*EOF*/

Various intialization functions have line numbers beyond the end of the file (so you don't confuse their counts with other user-written functions).

Have you tried using the -f option to output function summaries? That might help you disambiguate things.

nathan

--
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@xxxxxxxxxxxxxxxx    ::     http://www.planetfall.pwp.blueyonder.co.uk


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux