summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-04-29 01:31:49 +0000
committerVedant Kumar <vsk@apple.com>2016-04-29 01:31:49 +0000
commit78b8bc29db8177ad133a4d04de45fe14bcf220bd (patch)
tree947cd12698310c9620ba664cbdd33b58b1aa12c1
parent1b66f7e3c8374aa39e51f47d4e0742a5ba15f894 (diff)
downloadbcm5719-llvm-78b8bc29db8177ad133a4d04de45fe14bcf220bd.tar.gz
bcm5719-llvm-78b8bc29db8177ad133a4d04de45fe14bcf220bd.zip
[llvm-cov] Don't emit 'nan%' in reports
llvm-svn: 267971
-rw-r--r--llvm/test/tools/llvm-cov/prevent_false_instantiations.h6
-rw-r--r--llvm/tools/llvm-cov/CoverageSummaryInfo.h6
2 files changed, 10 insertions, 2 deletions
diff --git a/llvm/test/tools/llvm-cov/prevent_false_instantiations.h b/llvm/test/tools/llvm-cov/prevent_false_instantiations.h
index 667ebde6d16..a8c72076d16 100644
--- a/llvm/test/tools/llvm-cov/prevent_false_instantiations.h
+++ b/llvm/test/tools/llvm-cov/prevent_false_instantiations.h
@@ -1,9 +1,11 @@
// Checks that function instantiations don't go to a wrong file.
-// CHECK-NOT: {{_Z5func[1,2]v}}
+// INSTANTIATION-NOT: {{_Z5func[1,2]v}}
+// NAN-NOT: 0{{[ \t]+}}nan%{{[ \t]+}}0{{[ \t]+}}nan%
// RUN: llvm-profdata merge %S/Inputs/prevent_false_instantiations.proftext -o %t.profdata
-// RUN: llvm-cov show %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %t.profdata -filename-equivalence %s | FileCheck %s
+// RUN: llvm-cov show %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %t.profdata -filename-equivalence %s | FileCheck %s -check-prefix=INSTANTIATION
+// RUN: llvm-cov report %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %t.profdata | FileCheck %s -check-prefix=NAN
#define DO_SOMETHING() \
do { \
diff --git a/llvm/tools/llvm-cov/CoverageSummaryInfo.h b/llvm/tools/llvm-cov/CoverageSummaryInfo.h
index c393b00d32a..a8902042403 100644
--- a/llvm/tools/llvm-cov/CoverageSummaryInfo.h
+++ b/llvm/tools/llvm-cov/CoverageSummaryInfo.h
@@ -47,6 +47,8 @@ struct RegionCoverageInfo {
bool isFullyCovered() const { return Covered == NumRegions; }
double getPercentCovered() const {
+ if (NumRegions == 0)
+ return 0.0;
return double(Covered) / double(NumRegions) * 100.0;
}
};
@@ -83,6 +85,8 @@ struct LineCoverageInfo {
bool isFullyCovered() const { return Covered == (NumLines - NonCodeLines); }
double getPercentCovered() const {
+ if (NumLines - NonCodeLines == 0)
+ return 0.0;
return double(Covered) / double(NumLines - NonCodeLines) * 100.0;
}
};
@@ -109,6 +113,8 @@ struct FunctionCoverageInfo {
bool isFullyCovered() const { return Executed == NumFunctions; }
double getPercentCovered() const {
+ if (NumFunctions == 0)
+ return 0.0;
return double(Executed) / double(NumFunctions) * 100.0;
}
};
OpenPOWER on IntegriCloud