1 // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
2 
3 int bar();
test0()4 int test0() {
5   int i;
6   i = 1 + 2;
7   do {
8     i = bar();
9     i = bar();
10   } while(0);
11   return i;
12 }
13 
14 
test1()15 int test1() {
16   int i;
17   i = 1 + 2;
18   do {
19     i = bar();
20     if (i == 42)
21       break;
22     i = bar();
23   } while(1);
24   return i;
25 }
26 
27 
test2()28 int test2() {
29   int i;
30   i = 1 + 2;
31   do {
32     i = bar();
33     if (i == 42)
34       continue;
35     i = bar();
36   } while(1);
37   return i;
38 }
39 
40 
test3()41 int test3() {
42   int i;
43   i = 1 + 2;
44   do {
45     i = bar();
46     if (i == 42)
47       break;
48   } while(0);
49   return i;
50 }
51 
52 
test4()53 int test4() {
54   int i;
55   i = 1 + 2;
56   do {
57     i = bar();
58     if (i == 42)
59       continue;
60   } while(0);
61   return i;
62 }
63 
64 // rdar://6103124
test5()65 void test5() {
66   do { break; } while(0);
67 }
68 
69 // PR14191
70 void test6f(void);
test6()71 void test6() {
72   do {
73   } while (test6f(), 0);
74   // CHECK: call void @test6f()
75 }
76 
77