https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106251
Bug ID: 106251
Summary: gcov indicates actually executed line as not covered
by the test
Product: gcc
Version: 9.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: olgierd.sobinski at nokia dot com
Target Milestone: ---
Created attachment 53285
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53285&action=edit
false miscoverage
Hello,
Using gcov we found an incorrect detection of 'missing line coverage':
If the "return std::tie(" is separate line it is not detected as covered by the
test(even though it is in fact).
It the "return std::tie(" is followed by arguments in the same line then all is
fine. Please also see the attachment.
// false 'miscoverage' case:
inline bool operator==(const DrbInfo& lhs, const DrbInfo& rhs)
{
return std::tie(
lhs.drbIdentity, lhs.pduSessionFwdTunnelStatus, lhs.bearerIndex,
lhs.pdcpBearerGroup, lhs.defaultDrb) ==
std::tie(rhs.drbIdentity, rhs.pduSessionFwdTunnelStatus,
rhs.bearerIndex, rhs.pdcpBearerGroup, rhs.defaultDrb);
}
// OK case
inline bool operator==(const DrbInfo& lhs, const DrbInfo& rhs)
{
return std::tie(lhs.drbIdentity, lhs.pduSessionFwdTunnelStatus,
lhs.bearerIndex, lhs.pdcpBearerGroup, lhs.defaultDrb) ==
std::tie(rhs.drbIdentity, rhs.pduSessionFwdTunnelStatus,
rhs.bearerIndex, rhs.pdcpBearerGroup, rhs.defaultDrb);
}
Thx in advance for checking/info if fixed in subsequent gcc versions!
br,
Olgierd