// RUN: %clang_cc1 -emit-llvm %s -o %t // PR1824 int foo(int x, short y) { return x ?: y; } // rdar://6586493 float test(float x, int Y) { return Y != 0 ? : x; } // rdar://8446940 extern void abort(); void test1 () { char x[1]; char *y = x ? : 0; if (x != y) abort(); } // rdar://8453812 _Complex int getComplex(_Complex int val) { static int count; if (count++) abort(); return val; } _Complex int complx() { _Complex int cond; _Complex int rhs; return getComplex(1+2i) ? : rhs; }