1*9880d681SAndroid Build Coastguard Worker // RUN: llvm-cov show %S/Inputs/highlightedRanges.covmapping -instr-profile %S/Inputs/highlightedRanges.profdata -dump -filename-equivalence %s 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
func()3*9880d681SAndroid Build Coastguard Worker void func() {
4*9880d681SAndroid Build Coastguard Worker return;
5*9880d681SAndroid Build Coastguard Worker int i = 0; // CHECK: Highlighted line [[@LINE]], 3 -> ?
6*9880d681SAndroid Build Coastguard Worker } // CHECK: Highlighted line [[@LINE]], 1 -> 2
7*9880d681SAndroid Build Coastguard Worker
func2(int x)8*9880d681SAndroid Build Coastguard Worker void func2(int x) {
9*9880d681SAndroid Build Coastguard Worker if(x > 5) {
10*9880d681SAndroid Build Coastguard Worker while(x >= 9) {
11*9880d681SAndroid Build Coastguard Worker return;
12*9880d681SAndroid Build Coastguard Worker --x; // CHECK: Highlighted line [[@LINE]], 7 -> ?
13*9880d681SAndroid Build Coastguard Worker } // CHECK: Highlighted line [[@LINE]], 1 -> 6
14*9880d681SAndroid Build Coastguard Worker int i = 0; // CHECK: Highlighted line [[@LINE]], 5 -> ?
15*9880d681SAndroid Build Coastguard Worker } // CHECK: Highlighted line [[@LINE]], 1 -> 4
16*9880d681SAndroid Build Coastguard Worker }
17*9880d681SAndroid Build Coastguard Worker
test()18*9880d681SAndroid Build Coastguard Worker void test() {
19*9880d681SAndroid Build Coastguard Worker int x = 0;
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker if (x) { // CHECK: Highlighted line [[@LINE]], 10 -> ?
22*9880d681SAndroid Build Coastguard Worker x = 0; // CHECK: Highlighted line [[@LINE]], 1 -> ?
23*9880d681SAndroid Build Coastguard Worker } else { // CHECK: Highlighted line [[@LINE]], 1 -> 4
24*9880d681SAndroid Build Coastguard Worker x = 1;
25*9880d681SAndroid Build Coastguard Worker }
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker // CHECK: Highlighted line [[@LINE+1]], 26 -> 29
28*9880d681SAndroid Build Coastguard Worker for (int i = 0; i < 0; ++i) { // CHECK: Highlighted line [[@LINE]], 31 -> ?
29*9880d681SAndroid Build Coastguard Worker x = 1; // CHECK: Highlighted line [[@LINE]], 1 -> ?
30*9880d681SAndroid Build Coastguard Worker } // CHECK: Highlighted line [[@LINE]], 1 -> 4
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Worker x = x < 10 ? x +
33*9880d681SAndroid Build Coastguard Worker 1
34*9880d681SAndroid Build Coastguard Worker : x - 1; // CHECK: Highlighted line [[@LINE]], 16 -> 21
35*9880d681SAndroid Build Coastguard Worker x = x > 10 ? x + // CHECK: Highlighted line [[@LINE]], 16 -> ?
36*9880d681SAndroid Build Coastguard Worker 1 // CHECK: Highlighted line [[@LINE]], 1 -> 17
37*9880d681SAndroid Build Coastguard Worker : x - 1;
38*9880d681SAndroid Build Coastguard Worker }
39*9880d681SAndroid Build Coastguard Worker
main()40*9880d681SAndroid Build Coastguard Worker int main() {
41*9880d681SAndroid Build Coastguard Worker test();
42*9880d681SAndroid Build Coastguard Worker func();
43*9880d681SAndroid Build Coastguard Worker func2(9);
44*9880d681SAndroid Build Coastguard Worker return 0;
45*9880d681SAndroid Build Coastguard Worker }
46