18fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -emit-llvm -x c++ < %s
2a0abe629SNuno Lopes 
test0(int x)3671fec87SChris Lattner void test0(int x) {
4a0abe629SNuno Lopes           if (x != 0) return;
5a0abe629SNuno Lopes }
6671fec87SChris Lattner 
7671fec87SChris Lattner 
8671fec87SChris Lattner // PR5211
test1()9671fec87SChris Lattner void test1() {
10671fec87SChris Lattner   char *xpto;
11671fec87SChris Lattner   while ( true && xpto[0] );
12671fec87SChris Lattner }
13bb8976e3SChris Lattner 
14bb8976e3SChris Lattner // PR5514
15bb8976e3SChris Lattner int a;
test2()16bb8976e3SChris Lattner void test2() { ++a+=10; }
1700d5141aSChris Lattner 
1800d5141aSChris Lattner // PR7892
1900d5141aSChris Lattner int test3(const char*);
2000d5141aSChris Lattner int test3g = test3(__PRETTY_FUNCTION__);
21b1995dffSChris Lattner 
22b1995dffSChris Lattner 
23b1995dffSChris Lattner // PR7889
24b1995dffSChris Lattner struct test4A {
25b1995dffSChris Lattner   int j : 2;
26b1995dffSChris Lattner };
test4()27b1995dffSChris Lattner int test4() {
28b1995dffSChris Lattner   test4A a;
29b1995dffSChris Lattner   (a.j = 2) = 3;
30b1995dffSChris Lattner }
31*30eb5fa3SDaniel Dunbar 
32*30eb5fa3SDaniel Dunbar // Incomplete type in conditional operator.
33*30eb5fa3SDaniel Dunbar // Check operations on incomplete types.
34*30eb5fa3SDaniel Dunbar struct s5;
f5_0(bool cond,struct s5 & a,struct s5 & b)35*30eb5fa3SDaniel Dunbar struct s5 &f5_0(bool cond, struct s5 &a, struct s5 &b) {
36*30eb5fa3SDaniel Dunbar   return cond ? a : b;
37*30eb5fa3SDaniel Dunbar }
38