[cfe-commits] r91086 - /cfe/trunk/lib/CodeGen/CGExpr.cpp

Anders Carlsson andersca at mac.com
Thu Dec 10 17:00:10 PST 2009


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);





More information about the cfe-commits mailing list