1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/tools/llvm-cov/combine_expansions.cpp
Sean Eveson e2fe4189b2 [llvm-cov] Add an option which maps the location of source directories on another machine to your local copies
Summary:
This patch adds the -path-equivalence option (example: llvm-cov show -path-equivalence=/origin/path,/local/path) which maps the source code path from one machine to another when using `llvm-cov show`. This is similar to the -filename-equivalence option, but doesn't require you to specify all the source files on the command line.

This allows you to generate the coverage data on one machine (e.g. in a CI system), and then use llvm-cov on another machine where you have the same code base on a different path.

Reviewers: vsk

Reviewed By: vsk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36391

llvm-svn: 310827
2017-08-14 10:20:12 +00:00

27 lines
959 B
C++

// Check that we combine expansion regions.
// RUN: llvm-profdata merge %S/Inputs/combine_expansions.proftext -o %t.profdata
// RUN: llvm-cov show %S/Inputs/combine_expansions.covmapping -instr-profile %t.profdata -path-equivalence=/tmp/ec,%S %s | FileCheck %s
#define SIMPLE_OP \
++x
// CHECK: [[@LINE-2]]| |#define SIMPLE_OP
// CHECK-NEXT: [[@LINE-2]]| 2| ++x
#define DO_SOMETHING \
{ \
int x = 0; \
SIMPLE_OP; \
}
// CHECK: [[@LINE-5]]| |#define DO_SOMETHING
// CHECK-NEXT: [[@LINE-5]]| 2| {
// CHECK-NEXT: [[@LINE-5]]| 2| int x = 0;
// CHECK-NEXT: [[@LINE-5]]| 2| SIMPLE_OP;
// CHECK-NEXT: [[@LINE-5]]| 2| }
int main() { // CHECK: [[@LINE]]| 1|int main() {
DO_SOMETHING; // CHECK-NEXT: [[@LINE]]| 1| DO_SOMETHING;
DO_SOMETHING; // CHECK-NEXT: [[@LINE]]| 1| DO_SOMETHING;
return 0; // CHECK-NEXT: [[@LINE]]| 1| return 0;
} // CHECK-NEXT: [[@LINE]]| 1|}