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