summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/SimpleConstraintManager.h
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-09-11 22:07:28 +0000
committerTed Kremenek <kremenek@apple.com>2009-09-11 22:07:28 +0000
commit7020eae07673210f88e0e7b382284427db555548 (patch)
tree524fb7e6a407d21529618741a95c9f10817ecb6f /clang/lib/Analysis/SimpleConstraintManager.h
parentc74e09f6546490dfd4be03dff06a81c8fa45b08e (diff)
downloadbcm5719-llvm-7020eae07673210f88e0e7b382284427db555548.tar.gz
bcm5719-llvm-7020eae07673210f88e0e7b382284427db555548.zip
Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a way
to statically type various methods in SValuator/GRState as required either a defined value or a defined-but-possibly-unknown value. This leads to various logic cleanups in GRExprEngine, and lets the compiler enforce via type checking our assumptions about what symbolic values are possibly undefined and what are not. Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values. llvm-svn: 81579
Diffstat (limited to 'clang/lib/Analysis/SimpleConstraintManager.h')
-rw-r--r--clang/lib/Analysis/SimpleConstraintManager.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Analysis/SimpleConstraintManager.h b/clang/lib/Analysis/SimpleConstraintManager.h
index d626dfec8cb..0c58440ac0b 100644
--- a/clang/lib/Analysis/SimpleConstraintManager.h
+++ b/clang/lib/Analysis/SimpleConstraintManager.h
@@ -30,7 +30,8 @@ public:
bool canReasonAbout(SVal X) const;
- const GRState *Assume(const GRState *state, SVal Cond, bool Assumption);
+ const GRState *Assume(const GRState *state, DefinedSVal Cond,
+ bool Assumption);
const GRState *Assume(const GRState *state, Loc Cond, bool Assumption);
@@ -39,7 +40,8 @@ public:
const GRState *AssumeSymInt(const GRState *state, bool Assumption,
const SymIntExpr *SE);
- const GRState *AssumeInBound(const GRState *state, SVal Idx, SVal UpperBound,
+ const GRState *AssumeInBound(const GRState *state, DefinedSVal Idx,
+ DefinedSVal UpperBound,
bool Assumption);
protected:
OpenPOWER on IntegriCloud