aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGExpr.cpp')
-rw-r--r--lib/CodeGen/CGExpr.cpp25
1 files changed, 0 insertions, 25 deletions
diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp
index ab4f8f1935..2ceefae0a0 100644
--- a/lib/CodeGen/CGExpr.cpp
+++ b/lib/CodeGen/CGExpr.cpp
@@ -92,31 +92,8 @@ RValue CodeGenFunction::EmitAnyExprToTemp(const Expr *E,
IsInitializer);
}
-llvm::Value *
-CodeGenFunction::EmitCXXBindReferenceExpr(const CXXBindReferenceExpr *E) {
- QualType T = E->getType();
- assert(T->isAnyComplexType() && "FIXME: Unhandled bind expression!");
-
- const Expr *SubExpr = E->getSubExpr();
-
- if (!E->requiresTemporaryCopy())
- return EmitLValue(SubExpr).getAddress();
-
- llvm::Value *Value = CreateTempAlloca(ConvertTypeForMem(T), "reftmp");
-
- if (T->isAnyComplexType())
- EmitComplexExprIntoAddr(SubExpr, Value, /*DestIsVolatile=*/false);
- else
- assert(false && "Unhandled bind expression");
-
- return Value;
-}
-
RValue CodeGenFunction::EmitReferenceBindingToExpr(const Expr* E,
- QualType DestType,
bool IsInitializer) {
- assert(!E->getType()->isAnyComplexType() &&
- "Should not use this function for complex types!");
bool ShouldDestroyTemporaries = false;
unsigned OldNumLiveTemporaries = 0;
@@ -478,8 +455,6 @@ LValue CodeGenFunction::EmitLValue(const Expr *E) {
return EmitCXXConstructLValue(cast<CXXConstructExpr>(E));
case Expr::CXXBindTemporaryExprClass:
return EmitCXXBindTemporaryLValue(cast<CXXBindTemporaryExpr>(E));
- case Expr::CXXBindReferenceExprClass:
- return EmitLValue(cast<CXXBindReferenceExpr>(E)->getSubExpr());
case Expr::CXXExprWithTemporariesClass:
return EmitCXXExprWithTemporariesLValue(cast<CXXExprWithTemporaries>(E));
case Expr::CXXZeroInitValueExprClass: