summaryrefslogtreecommitdiffstats
path: root/clang/test/CoverageMapping/loops.cpp
blob: 8d189c2384cabc15aec3d6a8a01d81a2e94120c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// RUN: %clang_cc1 -std=c++11 -fprofile-instr-generate -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s

void rangedFor() {
  int arr[] = { 1, 2, 3, 4, 5 };
  int sum = 0;
  for(auto i : arr) {
    sum += i;
    if(i == 3)
      break;
  }
}

// CHECK: rangedFor
// CHECK-NEXT: File 0, 3:18 -> 11:2 = #0 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 6:21 -> 10:4 = #1 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 9:7 -> 9:12 = #2 (HasCodeBefore = 0)

int main() {
  for(int i = 0; i < 10; ++i)
     ;
  for(int i = 0; i < 0; ++i)
     ;
  for(int i = 0;
      i < 10;
      ++i)
  {
    int x = 0;
  }
  int j = 0;
  while(j < 5) ++j;
  do {
    ++j;
  } while(j < 10);
  j = 0;
  while
   (j < 5)
     ++j;
  do
    ++j;
  while(j < 10);
  rangedFor();
  return 0;
}

// CHECK-NEXT: main
// CHECK-NEXT: File 0, 18:12 -> 43:2 = #0 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 19:18 -> 19:24 = (#0 + #1) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 19:26 -> 19:29 = #1 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 20:6 -> 20:7 = #1 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 21:18 -> 21:23 = (#0 + #2) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 21:25 -> 21:28 = #2 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 22:6 -> 22:7 = #2 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 24:7 -> 24:13 = (#0 + #3) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 25:7 -> 25:10 = #3 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 26:3 -> 28:4 = #3 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 30:9 -> 30:14 = (#0 + #4) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 30:16 -> 30:19 = #4 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 31:6 -> 33:17 = (#0 + #5) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 36:5 -> 36:10 = (#0 + #6) (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 37:6 -> 37:9 = #6 (HasCodeBefore = 0)
// CHECK-NEXT: File 0, 39:5 -> 40:15 = (#0 + #7) (HasCodeBefore = 0)
OpenPOWER on IntegriCloud