diff options
Diffstat (limited to 'Source/CTest/cmParseCacheCoverage.cxx')
-rw-r--r-- | Source/CTest/cmParseCacheCoverage.cxx | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/CTest/cmParseCacheCoverage.cxx b/Source/CTest/cmParseCacheCoverage.cxx index 85e07ae..d17f169 100644 --- a/Source/CTest/cmParseCacheCoverage.cxx +++ b/Source/CTest/cmParseCacheCoverage.cxx @@ -215,7 +215,19 @@ bool cmParseCacheCoverage::ReadCMCovFile(const char* file) { coverageVector.push_back(-1); } - coverageVector[linenumber] += count; + // Accounts for lines that were previously marked + // as non-executable code (-1). if the parser comes back with + // a non-zero count, increase the count by 1 to push the line + // into the executable code set in addition to the count found. + if(coverageVector[linenumber] == -1 && + count > 0) + { + coverageVector[linenumber] += count+1; + } + else + { + coverageVector[linenumber] += count; + } } return true; } |