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