diff options
author | Anders Carlsson <andersca@mac.com> | 2010-02-03 16:38:03 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-02-03 16:38:03 +0000 |
commit | a64a869312066ff6119d1d7ae03f88ce499e3f82 (patch) | |
tree | 5ff2531884f675da36cc3d8f41779a9d36cee6ba /lib/CodeGen/CGDecl.cpp | |
parent | ef6e0f3218b64d8ea3b8b57ee657fec8da228a43 (diff) |
Revert the new reference binding code; I came up with a way simpler solution for the reference binding bug that is preventing self-hosting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95223 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDecl.cpp')
-rw-r--r-- | lib/CodeGen/CGDecl.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index 6ba537e528..e27c5e4e51 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/lib/CodeGen/CGDecl.cpp @@ -507,12 +507,8 @@ void CodeGenFunction::EmitLocalBlockVarDecl(const VarDecl &D) { Builder.CreateCall4(CGM.getMemCpyFn(), Loc, SrcPtr, SizeVal, AlignVal); } - } else if (const CXXBindReferenceExpr *BE = - dyn_cast<CXXBindReferenceExpr>(Init)) { - llvm::Value *V = EmitCXXBindReferenceExpr(BE); - EmitStoreOfScalar(V, Loc, /*Volatile=*/false, Ty); } else if (Ty->isReferenceType()) { - RValue RV = EmitReferenceBindingToExpr(Init, Ty, /*IsInitializer=*/true); + RValue RV = EmitReferenceBindingToExpr(Init, /*IsInitializer=*/true); EmitStoreOfScalar(RV.getScalarVal(), Loc, false, Ty); } else if (!hasAggregateLLVMType(Init->getType())) { llvm::Value *V = EmitScalarExpr(Init); |