summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMax Moroz <mmoroz@chromium.org>2019-06-28 15:38:25 +0000
committerMax Moroz <mmoroz@chromium.org>2019-06-28 15:38:25 +0000
commit176b9f651685c52bce25e700a758bd33e6a5354d (patch)
tree667ec6449f714806ea21e97a966c8e718dec65a0 /llvm
parent9f1dffdb024f4caa4aace4804aa4ac46dba523da (diff)
downloadbcm5719-llvm-176b9f651685c52bce25e700a758bd33e6a5354d.tar.gz
bcm5719-llvm-176b9f651685c52bce25e700a758bd33e6a5354d.zip
[llvm-cov[ Fix lcov coverage report contains functions from other compilation units.
Summary: Patch by Chuan Qiu (@eagleonhill). Reviewers: Dor1s Reviewed By: Dor1s Subscribers: lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63571 llvm-svn: 364653
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/tools/llvm-cov/multiple-files.test12
-rw-r--r--llvm/tools/llvm-cov/CoverageExporterLcov.cpp2
2 files changed, 13 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-cov/multiple-files.test b/llvm/test/tools/llvm-cov/multiple-files.test
index d0dbdd8c0fc..37df8d2b8ed 100644
--- a/llvm/test/tools/llvm-cov/multiple-files.test
+++ b/llvm/test/tools/llvm-cov/multiple-files.test
@@ -1,6 +1,7 @@
// RUN: llvm-profdata merge %S/Inputs/multiple-files.proftext -o %t.profdata
// RUN: llvm-cov report %S/Inputs/multiple-files.covmapping -instr-profile %t.profdata | FileCheck %s -check-prefix=MANY_COMPONENTS
// RUN: llvm-cov report %S/Inputs/multiple-files2.covmapping -instr-profile %t.profdata | FileCheck %s -check-prefix=ONE_COMPONENT
+// RUN: llvm-cov export %S/Inputs/multiple-files.covmapping -instr-profile %t.profdata -format=lcov | FileCheck %s -check-prefix=LCOV
// MANY_COMPONENTS: Filename
// MANY_COMPONENTS-NEXT: ---
@@ -13,3 +14,14 @@
// ONE_COMPONENT-NEXT: ---
// ONE_COMPONENT-NEXT: {{^}}cov.c
// ONE_COMPONENT-NEXT: {{^}}cov.h
+
+// LCOV-LABEL: SF:{{.*}}a{{[/\\]}}f2.c
+// LCOV: FN:1,f2
+// No extra funcs
+// LCOV-NOT: FN:
+// LCOV-LABEL: SF:{{.*}}b{{[/\\]}}c{{[/\\]}}f4.c
+// LCOV: FN:1,f4
+// LCOV-LABEL: SF:{{.*}}b{{[/\\]}}f3.c
+// LCOV: FN:1,f3
+// LCOV-LABEL: SF:{{.*}}f1.c
+// LCOV: FN:1,f1
diff --git a/llvm/tools/llvm-cov/CoverageExporterLcov.cpp b/llvm/tools/llvm-cov/CoverageExporterLcov.cpp
index 6e017743eec..d9b0c3b0d7a 100644
--- a/llvm/tools/llvm-cov/CoverageExporterLcov.cpp
+++ b/llvm/tools/llvm-cov/CoverageExporterLcov.cpp
@@ -82,7 +82,7 @@ void renderFile(raw_ostream &OS, const coverage::CoverageMapping &Coverage,
OS << "SF:" << Filename << '\n';
if (!ExportSummaryOnly) {
- renderFunctions(OS, Coverage.getCoveredFunctions());
+ renderFunctions(OS, Coverage.getCoveredFunctions(Filename));
}
renderFunctionSummary(OS, FileReport);
OpenPOWER on IntegriCloud