1 | // RUN: %clang_cc1 -emit-llvm %s -o %t |
2 | // PR1824 |
3 | |
4 | int foo(int x, short y) { |
5 | return x ?: y; |
6 | } |
7 | |
8 | // rdar://6586493 |
9 | float test(float x, int Y) { |
10 | return Y != 0 ? : x; |
11 | } |
12 | |
13 | // rdar://8446940 |
14 | extern void abort(); |
15 | void test1 () { |
16 | char x[1]; |
17 | char *y = x ? : 0; |
18 | |
19 | if (x != y) |
20 | abort(); |
21 | } |
22 | |
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 | } |
37 | |