blocks: Support capturing complex variable in block.
// rdar://10033896


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139020 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGExprComplex.cpp b/lib/CodeGen/CGExprComplex.cpp
index 672721e..24d0115 100644
--- a/lib/CodeGen/CGExprComplex.cpp
+++ b/lib/CodeGen/CGExprComplex.cpp
@@ -311,11 +311,7 @@
 //===----------------------------------------------------------------------===//
 
 ComplexPairTy ComplexExprEmitter::VisitExpr(Expr *E) {
-  CGF.ErrorUnsupported(E, "complex expression");
-  llvm::Type *EltTy =
-    CGF.ConvertType(E->getType()->getAs<ComplexType>()->getElementType());
-  llvm::Value *U = llvm::UndefValue::get(EltTy);
-  return ComplexPairTy(U, U);
+  return EmitLoadOfLValue(E);
 }
 
 ComplexPairTy ComplexExprEmitter::