[llvm] r364653 - [llvm-cov[ Fix lcov coverage report contains functions from other compilation units.

Max Moroz via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 08:38:25 PDT 2019


Author: dor1s
Date: Fri Jun 28 08:38:25 2019
New Revision: 364653

URL: http://llvm.org/viewvc/llvm-project?rev=364653&view=rev
Log:
[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

Modified:
    llvm/trunk/test/tools/llvm-cov/multiple-files.test
    llvm/trunk/tools/llvm-cov/CoverageExporterLcov.cpp

Modified: llvm/trunk/test/tools/llvm-cov/multiple-files.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/multiple-files.test?rev=364653&r1=364652&r2=364653&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-cov/multiple-files.test (original)
+++ llvm/trunk/test/tools/llvm-cov/multiple-files.test Fri Jun 28 08:38:25 2019
@@ -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

Modified: llvm/trunk/tools/llvm-cov/CoverageExporterLcov.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/CoverageExporterLcov.cpp?rev=364653&r1=364652&r2=364653&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-cov/CoverageExporterLcov.cpp (original)
+++ llvm/trunk/tools/llvm-cov/CoverageExporterLcov.cpp Fri Jun 28 08:38:25 2019
@@ -82,7 +82,7 @@ void renderFile(raw_ostream &OS, const c
   OS << "SF:" << Filename << '\n';
 
   if (!ExportSummaryOnly) {
-    renderFunctions(OS, Coverage.getCoveredFunctions());
+    renderFunctions(OS, Coverage.getCoveredFunctions(Filename));
   }
   renderFunctionSummary(OS, FileReport);
 




More information about the llvm-commits mailing list