Author: andersca
Date: Thu Dec 10 19:00:09 2009
New Revision: 91086
URL: http://llvm.org/viewvc/llvm-project?rev=91086&view=rev
Log:
When extending the lifetime of a temporary, make sure to emit a branch to the
cleanup exit block. This fixes a broken module error in
LLVMCConfigurationEmitter.cpp.
Modified:
cfe/trunk/lib/CodeGen/CGExpr.cpp
Modified: cfe/trunk/lib/CodeGen/CGExpr.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExpr.cpp?rev=91086&r1=91085&r2=91086&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExpr.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExpr.cpp Thu Dec 10 19:00:09 2009
@@ -138,9 +138,12 @@
ClassDecl->getDestructor(getContext());
{
- DelayedCleanupBlock scope(*this);
+ DelayedCleanupBlock Scope(*this);
EmitCXXDestructorCall(Dtor, Dtor_Complete,
Val.getAggregateAddr());
+
+ // Make sure to jump to the exit block.
+ EmitBranch(Scope.getCleanupExitBlock());
}
if (Exceptions) {
EHCleanupBlock Cleanup(*this);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits