Implement FIXME: GRStateManager::scanReachableSymbols now supports scanning MemRegions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65919 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index 0671a80..6238ff2 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -121,18 +121,20 @@
     
   ~RegionStoreSubRegionMap() {}
   
-  void iterSubRegions(const MemRegion* Parent, Visitor& V) const {
+  bool iterSubRegions(const MemRegion* Parent, Visitor& V) const {
     Map::iterator I = M.find(Parent);
 
     if (I == M.end())
-      return;
+      return true;
     
     llvm::ImmutableSet<const MemRegion*> S = I->second;
     for (llvm::ImmutableSet<const MemRegion*>::iterator SI=S.begin(),SE=S.end();
          SI != SE; ++SI) {
       if (!V.Visit(Parent, *SI))
-        return;
+        return false;
     }
+    
+    return true;
   }
 };  
 
@@ -600,10 +602,8 @@
 
 SVal RegionStoreManager::EvalBinOp(BinaryOperator::Opcode Op, Loc L, NonLoc R) {
   // Assume the base location is MemRegionVal(ElementRegion).
-
-  if (!isa<loc::MemRegionVal>(L)) {
+  if (!isa<loc::MemRegionVal>(L))
     return UnknownVal();
-  }
 
   const MemRegion* MR = cast<loc::MemRegionVal>(L).getRegion();
 
@@ -621,8 +621,9 @@
                                                     ER->getArrayRegion());
     return Loc::MakeVal(NewER);
 
-  } else
-    return UnknownVal();
+  }
+  
+  return UnknownVal();
 }
 
 SVal RegionStoreManager::Retrieve(const GRState* St, Loc L, QualType T) {