summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2014-03-08 02:22:25 +0000
committerTed Kremenek <kremenek@apple.com>2014-03-08 02:22:25 +0000
commitff909f907cef898e9ba8c137420748968ce6bad0 (patch)
treee35a3b542f033a13cbbc52eb8c42510e99c08016 /clang/lib/Analysis
parent04bfbeea04f722aa2eca6677c90460404a8f71bd (diff)
downloadbcm5719-llvm-ff909f907cef898e9ba8c137420748968ce6bad0.tar.gz
bcm5719-llvm-ff909f907cef898e9ba8c137420748968ce6bad0.zip
[CFG] Record would-be successor for noreturn destructor.
llvm-svn: 203334
Diffstat (limited to 'clang/lib/Analysis')
-rw-r--r--clang/lib/Analysis/CFG.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Analysis/CFG.cpp b/clang/lib/Analysis/CFG.cpp
index f8c8fe4c0a7..a2fa6216a0e 100644
--- a/clang/lib/Analysis/CFG.cpp
+++ b/clang/lib/Analysis/CFG.cpp
@@ -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;
OpenPOWER on IntegriCloud