aboutsummaryrefslogtreecommitdiff
path: root/Analysis/ValueState.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-02-18 22:57:02 +0000
committerTed Kremenek <kremenek@apple.com>2008-02-18 22:57:02 +0000
commit692416c214a3b234236dedcf875735a9cc29e90b (patch)
tree32571c1bf44115b4ae1666f14e12cc3be674efdb /Analysis/ValueState.cpp
parent305762c08975cd6e0bebd684ca910fa208792483 (diff)
Added more assertions and checks in transfer function logic to check for
UninitializedVals and UnknownVals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47288 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Analysis/ValueState.cpp')
-rw-r--r--Analysis/ValueState.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Analysis/ValueState.cpp b/Analysis/ValueState.cpp
index 9b2ed9686a..016b070547 100644
--- a/Analysis/ValueState.cpp
+++ b/Analysis/ValueState.cpp
@@ -129,6 +129,8 @@ RValue ValueStateManager::GetValue(ValueState St, const LValue& LV,
if (isa<UnknownVal>(LV))
return UnknownVal();
+ assert (!isa<UninitializedVal>(LV));
+
switch (LV.getSubKind()) {
case lval::DeclValKind: {
ValueState::VarBindingsTy::TreeTy* T =
@@ -327,6 +329,9 @@ ValueStateManager::SetValue(ValueState St, Expr* E, bool isBlkExpr,
ValueState
ValueStateManager::SetValue(ValueState St, const LValue& LV, const RValue& V) {
+ assert (!isa<UnknownVal>(LV));
+ assert (!isa<UninitializedVal>(LV));
+
switch (LV.getSubKind()) {
case lval::DeclValKind:
return V.isKnown() // FIXME: Have DeclVal only contain VarDecl