]> granicus.if.org Git - clang/commitdiff
Remove '#if 0' code. Lazy compound values have proven their worth.
authorTed Kremenek <kremenek@apple.com>
Wed, 10 Mar 2010 19:09:34 +0000 (19:09 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 10 Mar 2010 19:09:34 +0000 (19:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98175 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Checker/RegionStore.cpp

index 91c3a15f44735ba00f1fc1d2ccd7f044ce4ec546..b32017032504ade850fe8a30d0a42690c2429c76 100644 (file)
@@ -29,8 +29,6 @@
 
 using namespace clang;
 
-#define USE_EXPLICIT_COMPOUND 0
-
 //===----------------------------------------------------------------------===//
 // Representation of binding keys.
 //===----------------------------------------------------------------------===//
@@ -1341,49 +1339,12 @@ SVal RegionStoreManager::RetrieveStruct(Store store, const TypedRegion* R) {
   RecordDecl* RD = RT->getDecl();
   assert(RD->isDefinition());
   (void)RD;
-#if USE_EXPLICIT_COMPOUND
-  llvm::ImmutableList<SVal> StructVal = getBasicVals().getEmptySValList();
-
-  // FIXME: We shouldn't use a std::vector.  If RecordDecl doesn't have a
-  // reverse iterator, we should implement one.
-  std::vector<FieldDecl *> Fields(RD->field_begin(), RD->field_end());
-
-  for (std::vector<FieldDecl *>::reverse_iterator Field = Fields.rbegin(),
-                                               FieldEnd = Fields.rend();
-       Field != FieldEnd; ++Field) {
-    FieldRegion* FR = MRMgr.getFieldRegion(*Field, R);
-    QualType FTy = (*Field)->getType();
-    SVal FieldValue = Retrieve(store, loc::MemRegionVal(FR), FTy).getSVal();
-    StructVal = getBasicVals().consVals(FieldValue, StructVal);
-  }
-
-  return ValMgr.makeCompoundVal(T, StructVal);
-#else
   return ValMgr.makeLazyCompoundVal(store, R);
-#endif
 }
 
 SVal RegionStoreManager::RetrieveArray(Store store, const TypedRegion * R) {
-#if USE_EXPLICIT_COMPOUND
-  QualType T = R->getValueType(getContext());
-  ConstantArrayType* CAT = cast<ConstantArrayType>(T.getTypePtr());
-
-  llvm::ImmutableList<SVal> ArrayVal = getBasicVals().getEmptySValList();
-  uint64_t size = CAT->getSize().getZExtValue();
-  for (uint64_t i = 0; i < size; ++i) {
-    SVal Idx = ValMgr.makeArrayIndex(i);
-    ElementRegion* ER = MRMgr.getElementRegion(CAT->getElementType(), Idx, R,
-                                               getContext());
-    QualType ETy = ER->getElementType();
-    SVal ElementVal = Retrieve(store, loc::MemRegionVal(ER), ETy).getSVal();
-    ArrayVal = getBasicVals().consVals(ElementVal, ArrayVal);
-  }
-
-  return ValMgr.makeCompoundVal(T, ArrayVal);
-#else
   assert(isa<ConstantArrayType>(R->getValueType(getContext())));
   return ValMgr.makeLazyCompoundVal(store, R);
-#endif
 }
 
 //===----------------------------------------------------------------------===//