xref: /aosp_15_r20/external/llvm/test/tools/llvm-cov/showHighlightedRanges.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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