Add handling for complex->int, int->complex float, and float->complex 
int.  Note that constant int->complex float and float->complex int casts
were being miscompiled.

llvm-svn: 69821
diff --git a/clang/test/Sema/const-eval.c b/clang/test/Sema/const-eval.c
index 08daa5f..ce1aacd 100644
--- a/clang/test/Sema/const-eval.c
+++ b/clang/test/Sema/const-eval.c
@@ -61,3 +61,5 @@
 struct a { int x, y };
 static struct a V2 = (struct a)(struct a){ 1, 2};
 static const struct a V1 = (struct a){ 1, 2};
+
+EVAL_EXPR(30, (int)(_Complex float)((1<<30)-1) == (1<<30) ? 1 : -1)