Martin, Richard,
I've read up on the thread, but I'm not sure where you guys are with an
actual patch. From what I Richard nailed it in BZ with the comment that
the BB should not be associated with any source line. That's a new
thing, so I think the gcov format needs extending (at least).
gcov must associate every BB with source line, so that it can present
data to users. That's a conflict with the above observation.
I don't understand why gcov does NOT think the line is executed when -a
is not used:
-: 29: /* Following line falsely marked as covered when
parameter "--rc lcov_branch_coverage=1" is set */
#####: 30: ReturnStatus_t = 0;
At least one block associated with line 30 is executed. Why's it not
being counted?
But that does seem to be the right output -- we shouldn't count this
'artificial' block. So then the question morphs into the -a case:
1: 30: ReturnStatus_t = 0;
$$$$$: 30-block 0
1: 30-block 1
We do count the artificial block. Which is inconsistent.
Sorry, at this point I'm lost as to what is being suggested as a solution.
nathan
--
Nathan Sidwell