Inconsistent coverage data from gcov-8

DescriptionI believe codecov is not full processing the data coming from gcov (C++).

E.g. in Codecov
the function constexpr uint128 operator+(uint128 x, uint128 y) noexcept
is reported to have 0 coverage,
but if you see the raw data https://codecov.io/codecov/v4/raw/2019-05-14/20CE07DB6EA3EB015A7C8ACDD82C7D5A/923487e2e210a721c3b2b0c223eac32df6313652/f70fe7d7-4f1e-46ce-adaa-77c8d8c313eb.txt
you will find

 8403889*:   74:constexpr uint128 operator+(uint128 x, uint128 y) noexcept
        -:   75:{
 8403889*:   76:    const auto lo = x.lo + y.lo;
 8403889*:   77:    const auto carry = x.lo > lo;
 8403889*:   78:    const auto hi = x.hi + y.hi + carry;
 8403889*:   79:    return {hi, lo};
        -:   80:}

Maybe the * confuses codecov. This function for whatever reason is reported multiple times with most counters being #### and ones having meaningful values (without *).

Repository

Versions

Linux, GCC8, gcov-8

1 Like