summaryrefslogtreecommitdiffstats
path: root/clang/test/CoverageMapping/break.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CoverageMapping/break.c')
-rw-r--r--clang/test/CoverageMapping/break.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/clang/test/CoverageMapping/break.c b/clang/test/CoverageMapping/break.c
new file mode 100644
index 00000000000..e1e02a0e9b0
--- /dev/null
+++ b/clang/test/CoverageMapping/break.c
@@ -0,0 +1,48 @@
+// RUN: %clang_cc1 -fprofile-instr-generate -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name break.c %s | FileCheck %s
+
+int main() {
+ int cnt = 0;
+ while(cnt < 100) {
+ break;
+ ++cnt;
+ }
+ while(cnt < 100) {
+ {
+ break;
+ ++cnt;
+ }
+ ++cnt;
+ }
+ while(cnt < 100) {
+ if(cnt == 0) {
+ break;
+ ++cnt;
+ }
+ ++cnt;
+ }
+ while(cnt < 100) {
+ if(cnt == 0) {
+ ++cnt;
+ } else {
+ break;
+ }
+ ++cnt;
+ }
+}
+
+// CHECK: File 0, 3:12 -> 31:2 = #0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 5:9 -> 5:18 = #0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 5:20 -> 8:4 = #1 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 7:5 -> 7:10 = 0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 9:9 -> 9:18 = #0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 9:20 -> 15:4 = #2 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 12:7 -> 14:10 = 0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 16:9 -> 16:18 = ((#0 + #3) - #4) (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 16:20 -> 22:4 = #3 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 17:18 -> 20:6 = #4 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 19:7 -> 19:12 = 0 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 21:5 -> 21:10 = (#3 - #4) (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 23:9 -> 23:18 = (#0 + #6) (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 23:20 -> 30:4 = #5 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 24:18 -> 29:10 = #6 (HasCodeBefore = 0)
+// CHECK-NEXT: File 0, 26:12 -> 28:6 = (#5 - #6) (HasCodeBefore = 0)
OpenPOWER on IntegriCloud