37 lines
		
	
	
		
			526 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			526 B
		
	
	
	
		
			C
		
	
	
	
// 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;
 | 
						|
}
 |