Changing of type checking order on InitListExpr
- UnionType is checked eariler than RecordType.

llvm-svn: 163202
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp
index 8a2a586..6aa9a8a 100644
--- a/clang/lib/CodeGen/CGExprConstant.cpp
+++ b/clang/lib/CodeGen/CGExprConstant.cpp
@@ -830,12 +830,12 @@
     if (ILE->getType()->isArrayType())
       return EmitArrayInitialization(ILE);
 
-    if (ILE->getType()->isRecordType())
-      return EmitStructInitialization(ILE);
-
     if (ILE->getType()->isUnionType())
       return EmitUnionInitialization(ILE);
 
+    if (ILE->getType()->isRecordType())
+      return EmitStructInitialization(ILE);
+
     return 0;
   }