From 9890fb5bf6d3b2f5b1ce3072acacd78f3813cc76 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Fri, 10 Jul 2009 23:48:10 +0000 Subject: Remove some unused code from an experiment that I didn't like. llvm-svn: 75315 --- clang/lib/Sema/SemaExprCXX.cpp | 41 ----------------------------------------- 1 file changed, 41 deletions(-) (limited to 'clang/lib/Sema/SemaExprCXX.cpp') diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index d522bf29dc5..ac3afa8b755 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -1579,47 +1579,6 @@ Sema::OwningExprResult Sema::MaybeBindToTemporary(Expr *E) { return Owned(CXXBindTemporaryExpr::Create(Context, Temp, E)); } -// FIXME: This doesn't handle casts yet. -Expr *Sema::RemoveOutermostTemporaryBinding(Expr *E) { - const RecordType *RT = E->getType()->getAsRecordType(); - if (!RT) - return E; - - CXXRecordDecl *RD = cast(RT->getDecl()); - if (RD->hasTrivialDestructor()) - return E; - - /// The expr passed in must be a CXXExprWithTemporaries. - CXXExprWithTemporaries *TempExpr = dyn_cast(E); - if (!TempExpr) - return E; - - Expr *SubExpr = TempExpr->getSubExpr(); - if (CXXBindTemporaryExpr *BE = dyn_cast(SubExpr)) { - assert(BE->getTemporary() == - TempExpr->getTemporary(TempExpr->getNumTemporaries() - 1) && - "Found temporary is not last in list!"); - - Expr *BindSubExpr = BE->getSubExpr(); - BE->setSubExpr(0); - - if (TempExpr->getNumTemporaries() == 1) { - // There's just one temporary left, so we don't need the TempExpr node. - TempExpr->Destroy(Context); - return BindSubExpr; - } else { - TempExpr->removeLastTemporary(); - TempExpr->setSubExpr(BindSubExpr); - BE->Destroy(Context); - } - - return E; - } - - // FIXME: We might need to handle other expressions here. - return E; -} - Expr *Sema::MaybeCreateCXXExprWithTemporaries(Expr *SubExpr, bool ShouldDestroyTemps) { assert(SubExpr && "sub expression can't be null!"); -- cgit v1.2.3