18fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -emit-llvm -x c++ < %s 2a0abe629SNuno Lopes test0(int x)3671fec87SChris Lattnervoid test0(int x) { 4a0abe629SNuno Lopes if (x != 0) return; 5a0abe629SNuno Lopes } 6671fec87SChris Lattner 7671fec87SChris Lattner 8671fec87SChris Lattner // PR5211 test1()9671fec87SChris Lattnervoid test1() { 10671fec87SChris Lattner char *xpto; 11671fec87SChris Lattner while ( true && xpto[0] ); 12671fec87SChris Lattner } 13bb8976e3SChris Lattner 14bb8976e3SChris Lattner // PR5514 15bb8976e3SChris Lattner int a; test2()16bb8976e3SChris Lattnervoid 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 Lattnerint 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 Dunbarstruct s5 &f5_0(bool cond, struct s5 &a, struct s5 &b) { 36*30eb5fa3SDaniel Dunbar return cond ? a : b; 37*30eb5fa3SDaniel Dunbar } 38