diff options
author | Tom Care <tom.care@uqconnect.edu.au> | 2010-08-27 22:46:32 +0000 |
---|---|---|
committer | Tom Care <tom.care@uqconnect.edu.au> | 2010-08-27 22:46:32 +0000 |
commit | 6d0e6ce200aa06b06f0e9b493ed365bbe2982cee (patch) | |
tree | c2d0c6d0090e202cc61a170a7de5c069fc244850 /lib/Checker/SymbolManager.cpp | |
parent | aaca011f78ce4d1ce08d4320da1326d4ae31609a (diff) |
Enabled relaxed LiveVariables analysis in the path-sensitive engine to increase the coverage of bugs. Primarily affects IdempotentOperationChecker.
- Migrated a temporarily separated test back to its original file (bug has been fixed, null-deref-ps-temp.c -> null-deref-ps.c)
- Changed SymbolManager to use relaxed LiveVariables
- Updated several test cases that the IdempotentOperationChecker class now flags
- Added test case to test relaxed LiveVariables use by the IdempotentOperationChecker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112312 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/SymbolManager.cpp')
-rw-r--r-- | lib/Checker/SymbolManager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Checker/SymbolManager.cpp b/lib/Checker/SymbolManager.cpp index 7ab356d473..3b1bb6d98d 100644 --- a/lib/Checker/SymbolManager.cpp +++ b/lib/Checker/SymbolManager.cpp @@ -324,7 +324,8 @@ bool SymbolReaper::isLive(SymbolRef sym) { } bool SymbolReaper::isLive(const Stmt* ExprVal) const { - return LCtx->getLiveVariables()->isLive(Loc, ExprVal); + return LCtx->getAnalysisContext()->getRelaxedLiveVariables()-> + isLive(Loc, ExprVal); } bool SymbolReaper::isLive(const VarRegion *VR) const { @@ -332,7 +333,8 @@ bool SymbolReaper::isLive(const VarRegion *VR) const { const StackFrameContext *CurrentContext = LCtx->getCurrentStackFrame(); if (VarContext == CurrentContext) - return LCtx->getLiveVariables()->isLive(Loc, VR->getDecl()); + return LCtx->getAnalysisContext()->getRelaxedLiveVariables()-> + isLive(Loc, VR->getDecl()); return VarContext->isParentOf(CurrentContext); } |