xref: /llvm-project/clang/test/CodeGen/whilestmt.c (revision 46b0d0eef9e0a7290851cce0d44002b750584f1b)
1 // RUN: %clang_cc1 %s -emit-llvm -o -
2 
3 int bar(void);
foo(void)4 int foo(void) {
5   int i;
6   i = 1 + 2;
7   while(1) {
8     i = bar();
9     i = bar();
10   };
11   return i;
12 }
13 
14 
foo1(void)15 int foo1(void) {
16   int i;
17   i = 1 + 2;
18   while(1) {
19     i = bar();
20     if (i == 42)
21       break;
22     i = bar();
23   };
24   return i;
25 }
26 
27 
foo2(void)28 int foo2(void) {
29   int i;
30   i = 1 + 2;
31   while(1) {
32     i = bar();
33     if (i == 42)
34       continue;
35     i = bar();
36   };
37   return i;
38 }
39 
40 
foo3(void)41 int foo3(void) {
42   int i;
43   i = 1 + 2;
44   while(1) {
45     i = bar();
46     if (i == 42)
47       break;
48   };
49   return i;
50 }
51 
52 
foo4(void)53 int foo4(void) {
54   int i;
55   i = 1 + 2;
56   while(1) {
57     i = bar();
58     if (i == 42)
59       continue;
60   };
61   return i;
62 }
63