diff options
author | Anna Zaks <ganna@apple.com> | 2011-12-05 18:58:19 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2011-12-05 18:58:19 +0000 |
commit | 51090d5f7f4246c38d746bbb10642f64c51d2329 (patch) | |
tree | 500c72b371e58647fffdb59d57b9cba5e185a99b /clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h | |
parent | 820e87e928fdc2a3fa1534456a7b53c12888be7f (diff) | |
download | bcm5719-llvm-51090d5f7f4246c38d746bbb10642f64c51d2329.tar.gz bcm5719-llvm-51090d5f7f4246c38d746bbb10642f64c51d2329.zip |
[analyzer] First step toward removing
ConstraintManager::canReasonAbout() from the ExprEngine.
ExprEngine should not care if the constraint solver can reason about
something or not. The solver should be able to handle all the SymExprs.
To do this, the solver should be able to keep track of not only the
SymbolData but of all SymExprs. This is why we change SymbolRef to be an
alias of SymExpr*. When encountering an expression it cannot simplify,
the solver should just add the constraints to it.
llvm-svn: 145831
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h index d4295d42d95..000af439fdd 100644 --- a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h +++ b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h @@ -81,9 +81,17 @@ protected: // Internal implementation. //===------------------------------------------------------------------===// - const ProgramState *assumeAux(const ProgramState *state, Loc Cond,bool Assumption); + const ProgramState *assumeAux(const ProgramState *state, + Loc Cond, + bool Assumption); - const ProgramState *assumeAux(const ProgramState *state, NonLoc Cond, bool Assumption); + const ProgramState *assumeAux(const ProgramState *state, + NonLoc Cond, + bool Assumption); + + const ProgramState *assumeAuxForSymbol(const ProgramState *State, + SymbolRef Sym, + bool Assumption); }; } // end GR namespace |