diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-09-02 20:03:16 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-09-02 20:03:16 +0000 |
commit | 776b790fe404360b691f2dd477877a1112db7ad2 (patch) | |
tree | 0a6bafbf0d01f916a267f018c4d0235ed460b6c4 | |
parent | 6f27542da8843b5c1c579b86e342385bcc43d5f0 (diff) |
revert patch in r139020
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139029 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGExprComplex.cpp | 6 | ||||
-rw-r--r-- | test/CodeGen/capture-complex-expr-block.c | 19 |
2 files changed, 5 insertions, 20 deletions
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<ComplexType>()->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 |