1 | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s |
---|---|
2 | |
3 | int bar(); |
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 | |
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 | |
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 | |
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 | |
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 |
65 | void test5() { |
66 | do { break; } while(0); |
67 | } |
68 | |
69 | // PR14191 |
70 | void test6f(void); |
71 | void test6() { |
72 | do { |
73 | } while (test6f(), 0); |
74 | // CHECK: call {{.*}}void @test6f() |
75 | } |
76 | |
77 |