Fixed bug in RemoveDeadBindings when performing the mark-and-sweep over the
symbolic store: VarDecl's inserted into the sweep may not always bind to
anything; handle this special case just like bindings to uninitialized values.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47550 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/ValueState.cpp b/Analysis/ValueState.cpp
index 3cbcd88..75f719a 100644
--- a/Analysis/ValueState.cpp
+++ b/Analysis/ValueState.cpp
@@ -95,11 +95,9 @@
     
     if (V->getType()->isPointerType()) {
       
-      RVal X = GetRVal(St, lval::DeclVal(cast<VarDecl>(V)));
+      RVal X = GetRVal(St, lval::DeclVal(cast<VarDecl>(V)));      
       
-      assert (!X.isUnknown());
-      
-      if (X.isUninit())
+      if (X.isUnknownOrUninit())
         continue;
       
       LVal LV = cast<LVal>(X);