1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm -x c++ < %s 2*67e74705SXin Li test0(int x)3*67e74705SXin Livoid test0(int x) { 4*67e74705SXin Li if (x != 0) return; 5*67e74705SXin Li } 6*67e74705SXin Li 7*67e74705SXin Li 8*67e74705SXin Li // PR5211 test1()9*67e74705SXin Livoid test1() { 10*67e74705SXin Li char *xpto; 11*67e74705SXin Li while ( true && xpto[0] ); 12*67e74705SXin Li } 13*67e74705SXin Li 14*67e74705SXin Li // PR5514 15*67e74705SXin Li int a; test2()16*67e74705SXin Livoid test2() { ++a+=10; } 17*67e74705SXin Li 18*67e74705SXin Li // PR7892 19*67e74705SXin Li int test3(const char*); 20*67e74705SXin Li int test3g = test3(__PRETTY_FUNCTION__); 21*67e74705SXin Li 22*67e74705SXin Li 23*67e74705SXin Li // PR7889 24*67e74705SXin Li struct test4A { 25*67e74705SXin Li int j : 2; 26*67e74705SXin Li }; test4()27*67e74705SXin Liint test4() { 28*67e74705SXin Li test4A a; 29*67e74705SXin Li (a.j = 2) = 3; 30*67e74705SXin Li } 31*67e74705SXin Li 32*67e74705SXin Li // Incomplete type in conditional operator. 33*67e74705SXin Li // Check operations on incomplete types. 34*67e74705SXin Li struct s5; f5_0(bool cond,struct s5 & a,struct s5 & b)35*67e74705SXin Listruct s5 &f5_0(bool cond, struct s5 &a, struct s5 &b) { 36*67e74705SXin Li return cond ? a : b; 37*67e74705SXin Li } 38