GRStateRef:
- Rename SetSVal to BindLoc
- Add BindDecl
- Add BindExpr

GRState:
- Environment now binds to Stmt* instead of Expr*.  This is needed for processing ObjCForCollectionStmt (essentially the declaration of the the 'element' variable can have an SVal attached to it).
- BindDecl no longer accepts Expr* for the initialization value; use SVal* instead.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59152 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/GRState.cpp b/lib/Analysis/GRState.cpp
index 57f9c6b..dd296e0 100644
--- a/lib/Analysis/GRState.cpp
+++ b/lib/Analysis/GRState.cpp
@@ -73,15 +73,10 @@
 }
 
 const GRState* GRStateManager::BindDecl(const GRState* St, const VarDecl* VD, 
-                                        Expr* Ex, unsigned Count) {
+                                        SVal* InitVal, unsigned Count) {
   Store OldStore = St->getStore();
-  Store NewStore;
+  Store NewStore = StoreMgr->BindDecl(OldStore, VD, InitVal, Count);
 
-  if (Ex)
-    NewStore = StoreMgr->BindDecl(OldStore, VD, Ex, GetSVal(St, Ex), Count);
-  else
-    NewStore = StoreMgr->BindDecl(OldStore, VD, Ex);
-                              
   if (NewStore == OldStore)
     return St;