diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-02-14 17:08:39 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-02-14 17:08:39 +0000 |
commit | 4502195fecf399fdbbb9ee2393ad08148c394179 (patch) | |
tree | d82ef4dcd0e9bf66b87e423b96733f0843e48636 /include/clang/Analysis/PathSensitive/ConstraintManager.h | |
parent | 2793bda429909d0c5c73334342ac69672754d801 (diff) |
Patch by Ben Laurie:
ConstraintManager:
- constify getSymVal()
BasicConstraintManager:
- Pull out logic that would be common to ConstraintManagers of a similar nature
and put them in a parent class called 'SimpleConstraintManager'.
RangeConstraintManager:
- Added a new prototype ConstraintManager to track ranges of variables! This
ConstraintManager keeps tracks of ranges of concrete integers that a symbolic
integer may have.
AnalysisConsumer:
- Add driver option to use RangeConstraintManager with GRExprEngine-based
analyses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/PathSensitive/ConstraintManager.h')
-rw-r--r-- | include/clang/Analysis/PathSensitive/ConstraintManager.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/clang/Analysis/PathSensitive/ConstraintManager.h b/include/clang/Analysis/PathSensitive/ConstraintManager.h index 6b69a1020c..f526d7819e 100644 --- a/include/clang/Analysis/PathSensitive/ConstraintManager.h +++ b/include/clang/Analysis/PathSensitive/ConstraintManager.h @@ -38,7 +38,8 @@ public: SVal UpperBound, bool Assumption, bool& isFeasible) = 0; - virtual const llvm::APSInt* getSymVal(const GRState* St, SymbolRef sym) = 0; + virtual const llvm::APSInt* getSymVal(const GRState* St, SymbolRef sym) + const = 0; virtual bool isEqual(const GRState* St, SymbolRef sym, const llvm::APSInt& V) const = 0; @@ -53,6 +54,7 @@ public: }; ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr); +ConstraintManager* CreateRangeConstraintManager(GRStateManager& statemgr); } // end clang namespace |