From 3b227bd6294e00952131ab08d2812caa8f6cfb45 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Wed, 3 Feb 2010 16:38:03 +0000 Subject: Revert the new reference binding code; I came up with a way simpler solution for the reference binding bug that is preventing self-hosting. llvm-svn: 95223 --- clang/lib/CodeGen/CGDecl.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'clang/lib/CodeGen/CGDecl.cpp') diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp index 6ba537e528c..e27c5e4e51a 100644 --- a/clang/lib/CodeGen/CGDecl.cpp +++ b/clang/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(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); -- cgit v1.2.3