blob: 8a496ea425b0d37f056aeb1fb73a98bc293195d3 [file] [log] [blame]
Gabor Greiff7b1f662007-07-13 22:15:44 +00001// RUN: clang -emit-llvm %s
Gabor Greiff7b1f662007-07-13 22:15:44 +00002
Gabor Greif03a00732007-07-13 23:40:27 +00003int main(void)
Gabor Greiff7b1f662007-07-13 22:15:44 +00004{
5 double _Complex a = 5;
6 double _Complex b = 42;
7
Gabor Greif03a00732007-07-13 23:40:27 +00008 return a * b != b * a;
Gabor Greiff7b1f662007-07-13 22:15:44 +00009}
Chris Lattnere9a91ae2007-08-10 17:02:59 +000010
11_Complex double bar(int);
12void test(_Complex double*);
Chris Lattnerafd455c2007-08-23 23:49:47 +000013void takecomplex(_Complex double);
Chris Lattnere9a91ae2007-08-10 17:02:59 +000014
15void test2(int c) {
16 _Complex double X;
17 X = bar(1);
18 test(&X);
Chris Lattnerafd455c2007-08-23 23:49:47 +000019 takecomplex(X);
Chris Lattnere9a91ae2007-08-10 17:02:59 +000020}
21
Chris Lattnerafd455c2007-08-23 23:49:47 +000022_Complex double g1, g2;
23
24void test3() {
25 g1 = g1 + g2;
26 g1 = g1 - g2;
27 g1 = g1 * g2;
28 g1 = +-~g1;
Chris Lattner9f0ad962007-08-24 21:20:17 +000029
30 double Gr = __real g1;
Chris Lattnerafd455c2007-08-23 23:49:47 +000031}