diff options
author | ed <ed@FreeBSD.org> | 2009-06-03 21:11:25 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-06-03 21:11:25 +0000 |
commit | 9e262ca77e924f9d84a864b031a1b931d03c5e38 (patch) | |
tree | f0e24d4185187f7d15274dee4bc53908e30f5b76 /lib/CodeGen/CGCXX.cpp | |
parent | 48ecc7affef226b2bac1e08bdfdc059306a1734c (diff) | |
download | FreeBSD-src-9e262ca77e924f9d84a864b031a1b931d03c5e38.zip FreeBSD-src-9e262ca77e924f9d84a864b031a1b931d03c5e38.tar.gz |
Import Clang, at r72805.
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 731e38c..4f9a4ca 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -189,43 +189,6 @@ CodeGenFunction::EmitCXXConstructExpr(llvm::Value *Dest, E->arg_begin(), E->arg_end()); } -void CodeGenFunction::PushCXXTemporary(const CXXTemporary *Temporary, - llvm::Value *Ptr) { - LiveTemporaries.push_back(Temporary); - - // Make a cleanup scope and emit the destructor. - { - CleanupScope Scope(*this); - - EmitCXXDestructorCall(Temporary->getDestructor(), Dtor_Complete, Ptr); - } -} - -RValue -CodeGenFunction::EmitCXXExprWithTemporaries(const CXXExprWithTemporaries *E, - llvm::Value *AggLoc, - bool isAggLocVolatile) { - // Keep track of the current cleanup stack depth. - size_t CleanupStackDepth = CleanupEntries.size(); - - unsigned OldNumLiveTemporaries = LiveTemporaries.size(); - - RValue RV = EmitAnyExpr(E->getSubExpr(), AggLoc, isAggLocVolatile); - - // Go through the temporaries backwards. - for (unsigned i = E->getNumTemporaries(); i != 0; --i) { - assert(LiveTemporaries.back() == E->getTemporary(i - 1)); - LiveTemporaries.pop_back(); - } - - assert(OldNumLiveTemporaries == LiveTemporaries.size() && - "Live temporary stack mismatch!"); - - EmitCleanupBlocks(CleanupStackDepth); - - return RV; -} - llvm::Value *CodeGenFunction::EmitCXXNewExpr(const CXXNewExpr *E) { if (E->isArray()) { ErrorUnsupported(E, "new[] expression"); |