Rong Xu | 9837ef5 | 2016-02-04 18:39:09 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -std=c++11 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 2 | |
| 3 | // CHECK: rangedFor |
Justin Bogner | 1587432 | 2015-04-30 21:31:02 +0000 | [diff] [blame] | 4 | void rangedFor() { // CHECK-NEXT: File 0, [[@LINE]]:18 -> {{[0-9]+}}:2 = #0 |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 5 | int arr[] = { 1, 2, 3, 4, 5 }; |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 6 | int sum = 0; // CHECK: Gap,File 0, [[@LINE+1]]:20 -> [[@LINE+1]]:21 = #1 |
Justin Bogner | 1587432 | 2015-04-30 21:31:02 +0000 | [diff] [blame] | 7 | for(auto i : arr) { // CHECK: File 0, [[@LINE]]:21 -> [[@LINE+6]]:4 = #1 |
| 8 | if (i == 3) |
| 9 | continue; // CHECK: File 0, [[@LINE]]:7 -> [[@LINE]]:15 = #2 |
| 10 | sum += i; // CHECK: File 0, [[@LINE]]:5 -> {{[0-9]+}}:4 = (#1 - #2) |
| 11 | if (sum >= 7) |
| 12 | break; // CHECK: File 0, [[@LINE]]:7 -> [[@LINE]]:12 = #3 |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 13 | } |
Justin Bogner | 1587432 | 2015-04-30 21:31:02 +0000 | [diff] [blame] | 14 | |
| 15 | // CHECK: File 0, [[@LINE+1]]:7 -> [[@LINE+1]]:10 = #0 |
| 16 | if (sum) {} |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 17 | } |
| 18 | |
Justin Bogner | 1587432 | 2015-04-30 21:31:02 +0000 | [diff] [blame] | 19 | // CHECK: main: |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 20 | int main() { // CHECK-NEXT: File 0, [[@LINE]]:12 -> {{.*}}:2 = #0 |
Justin Bogner | 4da909b | 2015-02-03 21:35:49 +0000 | [diff] [blame] | 21 | // CHECK-NEXT: File 0, [[@LINE+1]]:18 -> [[@LINE+1]]:24 = (#0 + #1) |
| 22 | for(int i = 0; i < 10; ++i) // CHECK-NEXT: File 0, [[@LINE]]:26 -> [[@LINE]]:29 = #1 |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 23 | ; // CHECK-NEXT: Gap,File 0, [[@LINE-1]]:30 -> [[@LINE]]:6 = #1 |
| 24 | // CHECK-NEXT: File 0, [[@LINE-1]]:6 -> [[@LINE-1]]:7 = #1 |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 25 | for(int i = 0; |
Justin Bogner | 4da909b | 2015-02-03 21:35:49 +0000 | [diff] [blame] | 26 | i < 10; // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:13 = (#0 + #2) |
| 27 | ++i) // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:10 = #2 |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 28 | { // CHECK-NEXT: Gap,File 0, [[@LINE-1]]:11 -> [[@LINE]]:3 = #2 |
| 29 | int x = 0; // CHECK-NEXT: File 0, [[@LINE-1]]:3 -> [[@LINE+1]]:4 = #2 |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 30 | } |
Justin Bogner | 4da909b | 2015-02-03 21:35:49 +0000 | [diff] [blame] | 31 | int j = 0; // CHECK-NEXT: File 0, [[@LINE+1]]:9 -> [[@LINE+1]]:14 = (#0 + #3) |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 32 | while(j < 5) ++j; // CHECK-NEXT: Gap,File 0, [[@LINE]]:15 -> [[@LINE]]:16 = #3 |
| 33 | // CHECK-NEXT: File 0, [[@LINE-1]]:16 -> [[@LINE-1]]:19 = #3 |
| 34 | |
Justin Bogner | bf42cfd | 2015-02-18 21:24:51 +0000 | [diff] [blame] | 35 | do { // CHECK-NEXT: File 0, [[@LINE]]:6 -> [[@LINE+2]]:4 = (#0 + #4) |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 36 | ++j; |
Justin Bogner | bf42cfd | 2015-02-18 21:24:51 +0000 | [diff] [blame] | 37 | } while(j < 10); // CHECK-NEXT: File 0, [[@LINE]]:11 -> [[@LINE]]:17 = (#0 + #4) |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 38 | j = 0; |
Vedant Kumar | fa8fa04 | 2017-11-29 22:25:14 +0000 | [diff] [blame^] | 39 | while // CHECK-NEXT: File 0, [[@LINE+1]]:5 -> [[@LINE+1]]:10 = (#0 + #5) |
| 40 | (j < 5) // CHECK-NEXT: Gap,File 0, [[@LINE]]:11 -> [[@LINE+1]]:6 = #5 |
Justin Bogner | 4da909b | 2015-02-03 21:35:49 +0000 | [diff] [blame] | 41 | ++j; // CHECK-NEXT: File 0, [[@LINE]]:6 -> [[@LINE]]:9 = #5 |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 42 | do |
Justin Bogner | bf42cfd | 2015-02-18 21:24:51 +0000 | [diff] [blame] | 43 | ++j; // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE]]:8 = (#0 + #6) |
| 44 | while(j < 10); // CHECK-NEXT: File 0, [[@LINE]]:9 -> [[@LINE]]:15 = (#0 + #6) |
Alex Lorenz | 34ac9b5 | 2014-08-19 17:32:30 +0000 | [diff] [blame] | 45 | rangedFor(); |
| 46 | return 0; |
| 47 | } |