Address some comments on the name lookup/DeclContext patch from Chris

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60897 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index f8fc886..e065c5c 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -433,13 +433,12 @@
 
   llvm::ImmutableList<SVal> StructVal = getBasicVals().getEmptySValList();
 
-  for (DeclContext::reverse_decl_iterator Mem = RD->decls_rbegin();
-       Mem != RD->decls_rend(); ++Mem) {
-    FieldDecl *FD = dyn_cast<FieldDecl>(*Mem);
-    if (!FD)
-      continue;
+  std::vector<FieldDecl *> Fields(RD->field_begin(), RD->field_end());
 
-    FieldRegion* FR = MRMgr.getFieldRegion(FD, R);
+  for (std::vector<FieldDecl *>::reverse_iterator Field = Fields.rbegin(),
+                                               FieldEnd = Fields.rend();
+       Field != FieldEnd; ++Field) {
+    FieldRegion* FR = MRMgr.getFieldRegion(*Field, R);
     RegionBindingsTy B(static_cast<const RegionBindingsTy::TreeTy*>(store));
     RegionBindingsTy::data_type* data = B.lookup(FR);