]> granicus.if.org Git - clang/commitdiff
[CFG] Record would-be successor for noreturn destructor.
authorTed Kremenek <kremenek@apple.com>
Sat, 8 Mar 2014 02:22:25 +0000 (02:22 +0000)
committerTed Kremenek <kremenek@apple.com>
Sat, 8 Mar 2014 02:22:25 +0000 (02:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203334 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFG.cpp

index f8c8fe4c0a7254c3074b164b61bfa5a783331c7e..a2fa6216a0e8f7f1d0c82ed90a3a77fc6577e7b7 100644 (file)
@@ -3351,10 +3351,12 @@ CFGBlock *CFGBuilder::VisitCXXBindTemporaryExprForTemporaryDtors(
     // a new block for the destructor which does not have as a successor
     // anything built thus far. Control won't flow out of this block.
     const CXXDestructorDecl *Dtor = E->getTemporary()->getDestructor();
-    if (Dtor->isNoReturn())
+    if (Dtor->isNoReturn()) {
+      Succ = B;
       Block = createNoReturnBlock();
-    else
+    } else {
       autoCreateBlock();
+    }
 
     appendTemporaryDtor(Block, E);
     B = Block;