diff options
author | Rui Ueyama <ruiu@google.com> | 2014-08-06 22:01:54 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-08-06 22:01:54 +0000 |
commit | a89f9c8fdb77aefeaebd4d0bf956e09927f89f08 (patch) | |
tree | 9da1a8328739c13786e2aab9d5a8abcafdf749c7 /clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | |
parent | 3d7162b1cc33f1126ab3c05ebfea19ffed82c699 (diff) | |
download | bcm5719-llvm-a89f9c8fdb77aefeaebd4d0bf956e09927f89f08.tar.gz bcm5719-llvm-a89f9c8fdb77aefeaebd4d0bf956e09927f89f08.zip |
Revert "Fix modelling of non-lifetime-extended temporary destructors in the analyzer."
This reverts commit r214962 because after the change the
following code doesn't compile with -Wreturn-type -Werror.
#include <cstdlib>
class NoReturn {
public:
~NoReturn() __attribute__((noreturn)) { exit(1); }
};
int check() {
true ? NoReturn() : NoReturn();
}
llvm-svn: 214998
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/CoreEngine.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp index 2a7c8e170d8..4623c358a9e 100644 --- a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp +++ b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp @@ -14,7 +14,6 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h" #include "clang/AST/Expr.h" -#include "clang/AST/ExprCXX.h" #include "clang/AST/StmtCXX.h" #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" @@ -347,11 +346,6 @@ void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { default: llvm_unreachable("Analysis for this terminator not implemented."); - case Stmt::CXXBindTemporaryExprClass: - HandleCleanupTemporaryBranch( - cast<CXXBindTemporaryExpr>(B->getTerminator().getStmt()), B, Pred); - return; - // Model static initializers. case Stmt::DeclStmtClass: HandleStaticInit(cast<DeclStmt>(Term), B, Pred); @@ -467,17 +461,6 @@ void CoreEngine::HandleBranch(const Stmt *Cond, const Stmt *Term, enqueue(Dst); } -void CoreEngine::HandleCleanupTemporaryBranch(const CXXBindTemporaryExpr *BTE, - const CFGBlock *B, - ExplodedNode *Pred) { - assert(B->succ_size() == 2); - NodeBuilderContext Ctx(*this, B, Pred); - ExplodedNodeSet Dst; - SubEng.processCleanupTemporaryBranch(BTE, Ctx, Pred, Dst, *(B->succ_begin()), - *(B->succ_begin() + 1)); - // Enqueue the new frontier onto the worklist. - enqueue(Dst); -} void CoreEngine::HandleStaticInit(const DeclStmt *DS, const CFGBlock *B, ExplodedNode *Pred) { |