diff options
author | Ted Kremenek <kremenek@apple.com> | 2014-03-08 02:22:25 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2014-03-08 02:22:25 +0000 |
commit | ff909f907cef898e9ba8c137420748968ce6bad0 (patch) | |
tree | e35a3b542f033a13cbbc52eb8c42510e99c08016 /clang/lib/Analysis | |
parent | 04bfbeea04f722aa2eca6677c90460404a8f71bd (diff) | |
download | bcm5719-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.cpp | 6 |
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; |