From: Fariborz Jahanian Date: Fri, 2 Sep 2011 20:03:16 +0000 (+0000) Subject: revert patch in r139020 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=776b790fe404360b691f2dd477877a1112db7ad2;p=clang revert patch in r139020 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139029 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGExprComplex.cpp b/lib/CodeGen/CGExprComplex.cpp index 24d0115028..1a27d1322b 100644 --- a/lib/CodeGen/CGExprComplex.cpp +++ b/lib/CodeGen/CGExprComplex.cpp @@ -311,7 +311,11 @@ void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, llvm::Value *Ptr, //===----------------------------------------------------------------------===// ComplexPairTy ComplexExprEmitter::VisitExpr(Expr *E) { - return EmitLoadOfLValue(E); + CGF.ErrorUnsupported(E, "complex expression"); + llvm::Type *EltTy = + CGF.ConvertType(E->getType()->getAs()->getElementType()); + llvm::Value *U = llvm::UndefValue::get(EltTy); + return ComplexPairTy(U, U); } ComplexPairTy ComplexExprEmitter:: diff --git a/test/CodeGen/capture-complex-expr-block.c b/test/CodeGen/capture-complex-expr-block.c deleted file mode 100644 index 17d3cc5a0c..0000000000 --- a/test/CodeGen/capture-complex-expr-block.c +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks -triple x86_64-apple-darwin10 | FileCheck %s -// rdar://10033986 - -int main () -{ - _Complex double c; - ^() { - _Complex double z; - z = z + c; - }; - return 0; -} - -// CHECK: define internal void @__main_block_invoke_0 -// CHECK: [[C1:%.*]] = alloca { double, double }, align 8 -// CHECK: [[C1]].realp = getelementptr inbounds { double, double }* [[C1]], i32 0, i32 0 -// CHECK-NEXT: [[C1]].real = load double* [[C1]].realp -// CHECK-NEXT: [[C1]].imagp = getelementptr inbounds { double, double }* [[C1]], i32 0, i32 1 -// CHECK-NEXT: [[C1]].imag = load double* [[C1]].imagp