blob: 2e32d3a01669a4c2738e6d1b7d91f2474a20e74b [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -emit-llvm %s -o %t
Chris Lattnera21ddb32007-11-26 01:40:58 +00002// PR1824
3
4int foo(int x, short y) {
5 return x ?: y;
6}
Chris Lattner12d152f2009-02-13 23:35:32 +00007
8// rdar://6586493
9float test(float x, int Y) {
10 return Y != 0 ? : x;
11}
12
Fariborz Jahanian1fb019b2010-09-18 19:38:38 +000013// rdar://8446940
14extern void abort();
15void test1 () {
16 char x[1];
17 char *y = x ? : 0;
18
19 if (x != y)
20 abort();
21}
Fariborz Jahanianaa3b57e2010-09-20 23:50:22 +000022
23// rdar://8453812
24_Complex int getComplex(_Complex int val) {
25 static int count;
26 if (count++)
27 abort();
28 return val;
29}
30
31_Complex int complx() {
32 _Complex int cond;
33 _Complex int rhs;
34
35 return getComplex(1+2i) ? : rhs;
36}