Skip to content

Commit bb01a09

Browse files
committed
[libFuzzer] print uncovered functions when doing -print_coverage=1
llvm-svn: 352263
1 parent 2b8b297 commit bb01a09

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

compiler-rt/lib/fuzzer/FuzzerTracePC.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,7 @@ void TracePC::IterateCoveredFunctions(CallBack CB) {
245245
do {
246246
NextFE++;
247247
} while (NextFE < M.Stop && !(NextFE->PCFlags & 1));
248-
if (ObservedFuncs.count(FE->PC))
249-
CB(FE, NextFE, ObservedFuncs[FE->PC]);
248+
CB(FE, NextFE, ObservedFuncs[FE->PC]);
250249
}
251250
}
252251
}
@@ -311,12 +310,13 @@ void TracePC::PrintCoverage() {
311310
for (auto TE = First; TE < Last; TE++)
312311
if (!ObservedPCs.count(TE->PC))
313312
UncoveredPCs.push_back(TE->PC);
314-
Printf("COVERED_FUNC: hits: %zd", Counter);
313+
Printf("%sCOVERED_FUNC: hits: %zd", Counter ? "" : "UN", Counter);
315314
Printf(" edges: %zd/%zd", NumEdges - UncoveredPCs.size(), NumEdges);
316315
Printf(" %s %s:%zd\n", FunctionStr.c_str(), FileStr.c_str(), Line);
317-
for (auto PC: UncoveredPCs)
318-
Printf(" UNCOVERED_PC: %s\n",
319-
DescribePC("%s:%l", GetNextInstructionPc(PC)).c_str());
316+
if (Counter)
317+
for (auto PC : UncoveredPCs)
318+
Printf(" UNCOVERED_PC: %s\n",
319+
DescribePC("%s:%l", GetNextInstructionPc(PC)).c_str());
320320
};
321321

322322
IterateCoveredFunctions(CoveredFunctionCallback);

compiler-rt/test/fuzzer/coverage.test

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ DSO-DAG: COVERED_FUNC:{{.*}}LLVMFuzzerTestOneInput{{.*}}DSOTestMain
1717
DSO-DAG: UNCOVERED_PC:{{.*}}1
1818
DSO-DAG: UNCOVERED_PC:{{.*}}2
1919
DSO-DAG: UNCOVERED_PC:{{.*}}DSOTestMain
20+
DSO-DAG: UNCOVERED_FUNC:{{.*}}Uncovered1

0 commit comments

Comments
 (0)