Remove 'StoreManager::OldCastRegion()', TypedViewRegion (which only
OldCastRegion used), and the associated command line option
'-analyzer-store=old-basic-cast'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77509 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Analysis/PathSensitive/MemRegion.h b/include/clang/Analysis/PathSensitive/MemRegion.h
index a65c71b..3cfcc5c 100644
--- a/include/clang/Analysis/PathSensitive/MemRegion.h
+++ b/include/clang/Analysis/PathSensitive/MemRegion.h
@@ -46,7 +46,6 @@
                CodeTextRegionKind,
                CompoundLiteralRegionKind,
                StringRegionKind, ElementRegionKind,
-               TypedViewRegionKind,
                // Decl Regions.
                  BEG_DECL_REGIONS,
                   VarRegionKind, FieldRegionKind,
@@ -340,46 +339,6 @@
   }
 };
 
-class TypedViewRegion : public TypedRegion {
-  friend class MemRegionManager;
-  QualType LValueType;
-
-  TypedViewRegion(QualType lvalueType, const MemRegion* sreg)
-    : TypedRegion(sreg, TypedViewRegionKind), LValueType(lvalueType) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, QualType T, 
-                            const MemRegion* superRegion);
-
-public:
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-  
-  QualType getLocationType(ASTContext&) const {
-    return LValueType;
-  }
-
-  QualType getValueType(ASTContext&) const {
-    const PointerType* PTy = LValueType->getAsPointerType();
-    assert(PTy);
-    return PTy->getPointeeType();
-  }
-  
-  bool isBoundable() const {
-    return isa<PointerType>(LValueType);
-  }  
-
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    ProfileRegion(ID, LValueType, superRegion);
-  }
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == TypedViewRegionKind;
-  }
-  
-  const MemRegion *removeViews() const;
-};
-  
-
 /// CompoundLiteralRegion - A memory region representing a compound literal.
 ///   Compound literals are essentially temporaries that are stack allocated
 ///   or in the global constant pool.
@@ -575,22 +534,10 @@
   
 template<typename RegionTy>
 const RegionTy* MemRegion::getAs() const {
-  const MemRegion *R = this;
+  if (const RegionTy* RT = dyn_cast<RegionTy>(this))
+    return RT;
   
-  do {
-    if (const RegionTy* RT = dyn_cast<RegionTy>(R))
-      return RT;
-    
-    if (const TypedViewRegion *TR = dyn_cast<TypedViewRegion>(R)) {
-      R = TR->getSuperRegion();
-      continue;
-    }
-    
-    break;
-  }
-  while (R);
-  
-  return 0;
+  return NULL;
 }
 
 //===----------------------------------------------------------------------===//
@@ -680,10 +627,6 @@
   ///   object).
   ObjCIvarRegion* getObjCIvarRegion(const ObjCIvarDecl* ivd,
                                     const MemRegion* superRegion);
-
-  TypedViewRegion* getTypedViewRegion(QualType LValueType,
-                                      const MemRegion* superRegion);
-
   CodeTextRegion* getCodeTextRegion(SymbolRef sym, QualType t);
   CodeTextRegion* getCodeTextRegion(const FunctionDecl* fd, QualType t);
   
diff --git a/include/clang/Analysis/PathSensitive/Store.h b/include/clang/Analysis/PathSensitive/Store.h
index c0409d0..c897b37 100644
--- a/include/clang/Analysis/PathSensitive/Store.h
+++ b/include/clang/Analysis/PathSensitive/Store.h
@@ -37,12 +37,11 @@
 protected:
   ValueManager &ValMgr;
   GRStateManager &StateMgr;
-  const bool UseNewCastRegion;
 
   /// MRMgr - Manages region objects associated with this StoreManager.
   MemRegionManager &MRMgr;
 
-  StoreManager(GRStateManager &stateMgr, bool useNewCastRegion = false);
+  StoreManager(GRStateManager &stateMgr);
 
 protected:
   virtual const GRState *AddRegionView(const GRState *state,
@@ -135,10 +134,7 @@
   ///  a MemRegion* to a specific location type.  'R' is the region being
   ///  casted and 'CastToTy' the result type of the cast.
   CastResult CastRegion(const GRState *state, const MemRegion *region,
-                                QualType CastToTy) {
-    return UseNewCastRegion ? NewCastRegion(state, region, CastToTy)
-                            : OldCastRegion(state, region, CastToTy);
-  }
+                        QualType CastToTy);
   
   virtual const GRState *setCastType(const GRState *state, const MemRegion* R,
                                      QualType T) {
@@ -203,12 +199,6 @@
 private:
   CastResult MakeElementRegion(const GRState *state, const MemRegion *region,
                                QualType pointeeTy, QualType castToTy);
-  
-  CastResult NewCastRegion(const GRState *state, const MemRegion *region,
-                           QualType CastToTy);
-  
-  CastResult OldCastRegion(const GRState *state, const MemRegion *region,
-                           QualType CastToTy);  
 };
 
 // FIXME: Do we still need this?
@@ -229,7 +219,6 @@
 
 // FIXME: Do we need to pass GRStateManager anymore?
 StoreManager *CreateBasicStoreManager(GRStateManager& StMgr);
-StoreManager *CreateBasicStoreOldCastManager(GRStateManager& StMgr);
 StoreManager *CreateRegionStoreManager(GRStateManager& StMgr);
 StoreManager *CreateFieldsOnlyRegionStoreManager(GRStateManager& StMgr);
 
diff --git a/include/clang/Frontend/Analyses.def b/include/clang/Frontend/Analyses.def
index 8974998..173ed13 100644
--- a/include/clang/Frontend/Analyses.def
+++ b/include/clang/Frontend/Analyses.def
@@ -53,7 +53,6 @@
 #endif
 
 ANALYSIS_STORE(BasicStore, "basic", "Use basic analyzer store", CreateBasicStoreManager)
-ANALYSIS_STORE(BasicStoreOldCast, "basic-old-cast", "Use basic analyzer store with the old CastRegion", CreateBasicStoreOldCastManager)
 ANALYSIS_STORE(RegionStore, "region", "Use region-based analyzer store", CreateRegionStoreManager)
 
 #ifndef ANALYSIS_CONSTRAINTS
diff --git a/lib/Analysis/BasicStore.cpp b/lib/Analysis/BasicStore.cpp
index b84bdf4..a898147 100644
--- a/lib/Analysis/BasicStore.cpp
+++ b/lib/Analysis/BasicStore.cpp
@@ -38,10 +38,8 @@
   const MemRegion* SelfRegion;
   
 public:
-  BasicStoreManager(GRStateManager& mgr, bool useNewCastRegion = true)
-    : StoreManager(mgr, useNewCastRegion),
-      VBFactory(mgr.getAllocator()), 
-      SelfRegion(0) {}
+  BasicStoreManager(GRStateManager& mgr)
+    : StoreManager(mgr), VBFactory(mgr.getAllocator()), SelfRegion(0) {}
   
   ~BasicStoreManager() {}
 
@@ -130,10 +128,6 @@
   return new BasicStoreManager(StMgr);
 }
 
-StoreManager* clang::CreateBasicStoreOldCastManager(GRStateManager& StMgr) {
-  return new BasicStoreManager(StMgr, false);
-}
-
 SVal BasicStoreManager::getLValueVar(const GRState *state, const VarDecl* VD) {
   return ValMgr.makeLoc(MRMgr.getVarRegion(VD));
 }
diff --git a/lib/Analysis/MemRegion.cpp b/lib/Analysis/MemRegion.cpp
index a708bd3..3c174df 100644
--- a/lib/Analysis/MemRegion.cpp
+++ b/lib/Analysis/MemRegion.cpp
@@ -74,13 +74,6 @@
   ProfileRegion(ID, Ex, Cnt, superRegion);
 }
 
-void TypedViewRegion::ProfileRegion(llvm::FoldingSetNodeID& ID, QualType T, 
-                                    const MemRegion* superRegion) {
-  ID.AddInteger((unsigned) TypedViewRegionKind);
-  ID.Add(T);
-  ID.AddPointer(superRegion);
-}
-
 void CompoundLiteralRegion::Profile(llvm::FoldingSetNodeID& ID) const {
   CompoundLiteralRegion::ProfileRegion(ID, CL, superRegion);
 }
@@ -197,11 +190,6 @@
   os << "SymRegion{" << sym << '}';
 }
 
-void TypedViewRegion::dumpToStream(llvm::raw_ostream& os) const {
-  os << "typed_view{" << LValueType.getAsString() << ',' 
-     << getSuperRegion() << '}';
-}
-
 void VarRegion::dumpToStream(llvm::raw_ostream& os) const {
   os << cast<VarDecl>(D)->getNameAsString();
 }
@@ -314,11 +302,6 @@
   return getSubRegion<ObjCObjectRegion>(d, superRegion);
 }
 
-TypedViewRegion* 
-MemRegionManager::getTypedViewRegion(QualType t, const MemRegion* superRegion) {
-  return getSubRegion<TypedViewRegion>(t, superRegion);
-}
-
 AllocaRegion* MemRegionManager::getAllocaRegion(const Expr* E, unsigned cnt) {
   return getRegion<AllocaRegion>(E, cnt);
 }
@@ -389,16 +372,6 @@
 // View handling.
 //===----------------------------------------------------------------------===//
 
-const MemRegion *TypedViewRegion::removeViews() const {
-  const SubRegion *SR = this;
-  const MemRegion *R = SR;
-  while (SR && isa<TypedViewRegion>(SR)) {
-    R = SR->getSuperRegion();
-    SR = dyn_cast<SubRegion>(R);
-  }
-  return R;
-}
-
 const MemRegion *MemRegion::getBaseRegion() const {
   const MemRegion *R = this;
   while (true) {
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index c533a7e..ccfbb27 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -170,7 +170,7 @@
 
 public:
   RegionStoreManager(GRStateManager& mgr, const RegionStoreFeatures &f) 
-    : StoreManager(mgr, true),
+    : StoreManager(mgr),
       Features(f),
       RBFactory(mgr.getAllocator()),
       RVFactory(mgr.getAllocator()),
@@ -679,10 +679,6 @@
       return ValMgr.makeIntVal(Str->getByteLength()+1, false);
     }
       
-      // TypedViewRegion will soon be removed.
-    case MemRegion::TypedViewRegionKind:
-      return UnknownVal();
-
     case MemRegion::VarRegionKind: {
       const VarRegion* VR = cast<VarRegion>(R);
       // Get the type of the variable.
@@ -823,10 +819,6 @@
     case MemRegion::ObjCIvarRegionKind:
       return UnknownVal();
             
-    // TypedViewRegion will soon be removed.
-    case MemRegion::TypedViewRegionKind:
-      return UnknownVal();
-    
     case MemRegion::CodeTextRegionKind:
       // Technically this can happen if people do funny things with casts.
       return UnknownVal();
diff --git a/lib/Analysis/SVals.cpp b/lib/Analysis/SVals.cpp
index 6f480e8..5ac18a1 100644
--- a/lib/Analysis/SVals.cpp
+++ b/lib/Analysis/SVals.cpp
@@ -73,21 +73,10 @@
 SymbolRef SVal::getAsLocSymbol() const {
   if (const loc::MemRegionVal *X = dyn_cast<loc::MemRegionVal>(this)) {
     const MemRegion *R = X->getBaseRegion();
-    
-    while (R) {
-      // Blast through region views.
-      if (const TypedViewRegion *View = dyn_cast<TypedViewRegion>(R)) {
-        R = View->getSuperRegion();
-        continue;
-      }
-      if (const SymbolicRegion *SymR = dyn_cast<SymbolicRegion>(R))
-        return SymR->getSymbol();
-      
-      break;
-    }
+    if (const SymbolicRegion *SymR = dyn_cast<SymbolicRegion>(R))
+      return SymR->getSymbol();
   }
-  
-  return 0;
+  return NULL;
 }
 
 /// getAsSymbol - If this Sval wraps a symbol return that SymbolRef.
diff --git a/lib/Analysis/SValuator.cpp b/lib/Analysis/SValuator.cpp
index 787c926..079481a 100644
--- a/lib/Analysis/SValuator.cpp
+++ b/lib/Analysis/SValuator.cpp
@@ -73,10 +73,6 @@
   
   // Check for casts from a region to a specific type.
   if (const MemRegion *R = val.getAsRegion()) {
-    // FIXME: For TypedViewRegions, we should handle the case where the
-    //  underlying symbolic pointer is a function pointer or
-    //  block pointer.
-    
     // FIXME: We should handle the case where we strip off view layers to get
     //  to a desugared type.
     
diff --git a/lib/Analysis/Store.cpp b/lib/Analysis/Store.cpp
index 1149421..4341abd 100644
--- a/lib/Analysis/Store.cpp
+++ b/lib/Analysis/Store.cpp
@@ -16,10 +16,8 @@
 
 using namespace clang;
 
-StoreManager::StoreManager(GRStateManager &stateMgr, bool useNewCastRegion)
-  : ValMgr(stateMgr.getValueManager()),
-    StateMgr(stateMgr),
-    UseNewCastRegion(useNewCastRegion),
+StoreManager::StoreManager(GRStateManager &stateMgr)
+  : ValMgr(stateMgr.getValueManager()), StateMgr(stateMgr),
     MRMgr(ValMgr.getRegionManager()) {}
 
 StoreManager::CastResult
@@ -46,8 +44,8 @@
 }
 
 StoreManager::CastResult
-StoreManager::NewCastRegion(const GRState *state, const MemRegion* R,
-                            QualType CastToTy) {
+StoreManager::CastRegion(const GRState *state, const MemRegion* R,
+                         QualType CastToTy) {
   
   ASTContext& Ctx = StateMgr.getContext();
   
@@ -87,8 +85,7 @@
     case MemRegion::MemSpaceRegionKind:
     case MemRegion::BEG_DECL_REGIONS:
     case MemRegion::END_DECL_REGIONS:
-    case MemRegion::END_TYPED_REGIONS:
-    case MemRegion::TypedViewRegionKind: {
+    case MemRegion::END_TYPED_REGIONS: {
       assert(0 && "Invalid region cast");
       break;
     }
@@ -147,90 +144,3 @@
   
   return CastResult(state, R);
 }
-
-
-StoreManager::CastResult
-StoreManager::OldCastRegion(const GRState* state, const MemRegion* R,
-                         QualType CastToTy) {
-  
-  ASTContext& Ctx = StateMgr.getContext();
-
-  // We need to know the real type of CastToTy.
-  QualType ToTy = Ctx.getCanonicalType(CastToTy);
-
-  // Return the same region if the region types are compatible.
-  if (const TypedRegion* TR = dyn_cast<TypedRegion>(R)) {
-    QualType Ta = Ctx.getCanonicalType(TR->getLocationType(Ctx));
-
-    if (Ta == ToTy)
-      return CastResult(state, R);
-  }
-  
-  if (const PointerType* PTy = dyn_cast<PointerType>(ToTy.getTypePtr())) {
-    // Check if we are casting to 'void*'.
-    // FIXME: Handle arbitrary upcasts.
-    QualType Pointee = PTy->getPointeeType();
-    if (Pointee->isVoidType()) {
-      while (true) {
-        if (const TypedViewRegion *TR = dyn_cast<TypedViewRegion>(R)) {
-          // Casts to void* removes TypedViewRegion. This happens when:
-          //
-          // void foo(void*);
-          // ...
-          // void bar() {
-          //   int x;
-          //   foo(&x);
-          // }
-          //
-          R = TR->removeViews();
-          continue;
-        }
-        else if (const ElementRegion *ER = dyn_cast<ElementRegion>(R)) {
-          // Casts to void* also removes ElementRegions. This happens when:
-          //
-          // void foo(void*);
-          // ...
-          // void bar() {
-          //   int x;
-          //   foo((char*)&x);
-          // }                
-          //
-          R = ER->getSuperRegion();
-          continue;
-        }
-
-        break;
-      }
-      
-      return CastResult(state, R);
-    }
-    else if (Pointee->isIntegerType()) {
-      // FIXME: At some point, it stands to reason that this 'dyn_cast' should
-      //  become a 'cast' and that 'R' will always be a TypedRegion.
-      if (const TypedRegion *TR = dyn_cast<TypedRegion>(R)) {
-        // Check if we are casting to a region with an integer type.  We now
-        // the types aren't the same, so we construct an ElementRegion.
-        SVal Idx = ValMgr.makeZeroArrayIndex();
-        
-        // If the super region is an element region, strip it away.
-        // FIXME: Is this the right thing to do in all cases?
-        const MemRegion *Base = isa<ElementRegion>(TR) ? TR->getSuperRegion()
-                                                       : TR;
-        ElementRegion* ER = MRMgr.getElementRegion(Pointee, Idx, Base, 
-                                                   StateMgr.getContext());
-        return CastResult(state, ER);
-      }
-    }
-  }
-
-  // FIXME: Need to handle arbitrary downcasts.
-  // FIXME: Handle the case where a TypedViewRegion (layering a SymbolicRegion
-  //         or an AllocaRegion is cast to another view, thus causing the memory
-  //         to be re-used for a different purpose.
-  if (isa<SymbolicRegion>(R) || isa<AllocaRegion>(R)) {
-    const MemRegion* ViewR = MRMgr.getTypedViewRegion(CastToTy, R);  
-    return CastResult(AddRegionView(state, ViewR, R), ViewR);
-  }
-  
-  return CastResult(state, R);
-}
diff --git a/test/Analysis/CFDateGC.m b/test/Analysis/CFDateGC.m
index 240089e..557e7e8 100644
--- a/test/Analysis/CFDateGC.m
+++ b/test/Analysis/CFDateGC.m
@@ -1,9 +1,6 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=basic %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify -fobjc-gc -analyzer-constraints=basic %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -analyzer-constraints=range %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify -fobjc-gc -analyzer-constraints=range %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc -disable-free %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify -fobjc-gc -disable-free %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -fobjc-gc %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -fobjc-gc %s
 
diff --git a/test/Analysis/CFNumber.c b/test/Analysis/CFNumber.c
index 9cabf86..f62d2ab 100644
--- a/test/Analysis/CFNumber.c
+++ b/test/Analysis/CFNumber.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
 
diff --git a/test/Analysis/CFRetainRelease_NSAssertionHandler.m b/test/Analysis/CFRetainRelease_NSAssertionHandler.m
index 2191b7f..1ff9507 100644
--- a/test/Analysis/CFRetainRelease_NSAssertionHandler.m
+++ b/test/Analysis/CFRetainRelease_NSAssertionHandler.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic &&
-// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic-old-cast &&
 // RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic &&
-// RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic-old-cast &&
 // RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=region &&
 // RUN: clang-cc -analyze -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=region
 
diff --git a/test/Analysis/CGColorSpace.c b/test/Analysis/CGColorSpace.c
index 10b5150..2887d47 100644
--- a/test/Analysis/CGColorSpace.c
+++ b/test/Analysis/CGColorSpace.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/CheckNSError.m b/test/Analysis/CheckNSError.m
index d6fc3b3..779b865 100644
--- a/test/Analysis/CheckNSError.m
+++ b/test/Analysis/CheckNSError.m
@@ -1,8 +1,6 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
 
diff --git a/test/Analysis/NSPanel.m b/test/Analysis/NSPanel.m
index 3851267..801620a 100644
--- a/test/Analysis/NSPanel.m
+++ b/test/Analysis/NSPanel.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/NSString.m b/test/Analysis/NSString.m
index 594508c..0ba3cda 100644
--- a/test/Analysis/NSString.m
+++ b/test/Analysis/NSString.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -triple i386-pc-linux-gnu -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/NSWindow.m b/test/Analysis/NSWindow.m
index 83669eb..9609c52 100644
--- a/test/Analysis/NSWindow.m
+++ b/test/Analysis/NSWindow.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -warn-dead-stores -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/NoReturn.m b/test/Analysis/NoReturn.m
index 03dae92..5f5ce28 100644
--- a/test/Analysis/NoReturn.m
+++ b/test/Analysis/NoReturn.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/ObjCProperties.m b/test/Analysis/ObjCProperties.m
index 8347cc0..3ad2569 100644
--- a/test/Analysis/ObjCProperties.m
+++ b/test/Analysis/ObjCProperties.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic %s -verify &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic %s -verify &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range %s -verify &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range %s -verify &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic %s -verify &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range %s -verify
 
diff --git a/test/Analysis/PR2599.m b/test/Analysis/PR2599.m
index 9e5bf21..098bfe8 100644
--- a/test/Analysis/PR2599.m
+++ b/test/Analysis/PR2599.m
@@ -1,9 +1,6 @@
 // RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
-// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic-old-cast -checker-cfref -fobjc-gc -verify %s &&
 // RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
-// RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=basic-old-cast -checker-cfref -fobjc-gc -verify %s &&
 // RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic -checker-cfref -fobjc-gc -verify %s &&
-// RUN: clang-cc -analyze -analyzer-constraints=basic -analyzer-store=basic-old-cast -checker-cfref -fobjc-gc -verify %s &&
 // RUN: clang-cc -analyze -analyzer-constraints=range -analyzer-store=region -checker-cfref -fobjc-gc -verify %s
 
 typedef const void * CFTypeRef;
diff --git a/test/Analysis/PR3991.m b/test/Analysis/PR3991.m
index 9354acb..bbc1377 100644
--- a/test/Analysis/PR3991.m
+++ b/test/Analysis/PR3991.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify -triple x86_64-apple-darwin9 %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify -triple x86_64-apple-darwin9 %s
 
diff --git a/test/Analysis/array-struct.c b/test/Analysis/array-struct.c
index bc831e1..ba6781e 100644
--- a/test/Analysis/array-struct.c
+++ b/test/Analysis/array-struct.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/casts.m b/test/Analysis/casts.m
index e5eea19..82c29fa 100644
--- a/test/Analysis/casts.m
+++ b/test/Analysis/casts.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast --verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s
 
 // Test function pointer casts.  Currently we track function addresses using
diff --git a/test/Analysis/cfref_PR2519.c b/test/Analysis/cfref_PR2519.c
index 32de79d..695123b 100644
--- a/test/Analysis/cfref_PR2519.c
+++ b/test/Analysis/cfref_PR2519.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/cfref_rdar6080742.c b/test/Analysis/cfref_rdar6080742.c
index 44ae72e..5d95761 100644
--- a/test/Analysis/cfref_rdar6080742.c
+++ b/test/Analysis/cfref_rdar6080742.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/complex.c b/test/Analysis/complex.c
index e1e60bb..3633b21 100644
--- a/test/Analysis/complex.c
+++ b/test/Analysis/complex.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/concrete-address.c b/test/Analysis/concrete-address.c
index c90dec0..84ebb21 100644
--- a/test/Analysis/concrete-address.c
+++ b/test/Analysis/concrete-address.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast --verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s
 
 void foo() {
diff --git a/test/Analysis/dead-stores.c b/test/Analysis/dead-stores.c
index fb4f73a..d19e8c4 100644
--- a/test/Analysis/dead-stores.c
+++ b/test/Analysis/dead-stores.c
@@ -1,8 +1,6 @@
 // RUN: clang-cc -analyze -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -warn-dead-stores -verify %s
 
diff --git a/test/Analysis/dead-stores.cpp b/test/Analysis/dead-stores.cpp
index ec7aebb..9ddb797 100644
--- a/test/Analysis/dead-stores.cpp
+++ b/test/Analysis/dead-stores.cpp
@@ -1,8 +1,6 @@
 // RUN: clang-cc -analyze -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=basic -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -warn-dead-stores -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -analyzer-constraints=range -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -warn-dead-stores -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -warn-dead-stores -verify %s
 
diff --git a/test/Analysis/delegates.m b/test/Analysis/delegates.m
index 6c58ae4..440f311 100644
--- a/test/Analysis/delegates.m
+++ b/test/Analysis/delegates.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 
diff --git a/test/Analysis/exercise-ps.c b/test/Analysis/exercise-ps.c
index 75b3de2..1e31b18 100644
--- a/test/Analysis/exercise-ps.c
+++ b/test/Analysis/exercise-ps.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 //
 // Just exercise the analyzer on code that has at one point caused issues
diff --git a/test/Analysis/fields.c b/test/Analysis/fields.c
index 34b5bd8..900a6d6 100644
--- a/test/Analysis/fields.c
+++ b/test/Analysis/fields.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify &&
-// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic-old-cast -verify &&
 // RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify
 
 unsigned foo();
diff --git a/test/Analysis/func.c b/test/Analysis/func.c
index b8a4227..2b4e7b0 100644
--- a/test/Analysis/func.c
+++ b/test/Analysis/func.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 void f(void) {
diff --git a/test/Analysis/misc-ps-64.m b/test/Analysis/misc-ps-64.m
index 67cbe9c..163da4b 100644
--- a/test/Analysis/misc-ps-64.m
+++ b/test/Analysis/misc-ps-64.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=range --verify -fblocks %s &&
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
 
diff --git a/test/Analysis/misc-ps-basic-store.m b/test/Analysis/misc-ps-basic-store.m
index 8e089d5..c6ae20c 100644
--- a/test/Analysis/misc-ps-basic-store.m
+++ b/test/Analysis/misc-ps-basic-store.m
@@ -1,5 +1,4 @@
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast --verify -fblocks %s
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic --verify -fblocks %s
 
 //---------------------------------------------------------------------------
 // Test case 'checkaccess_union' differs for region store and basic store.
diff --git a/test/Analysis/misc-ps-ranges.m b/test/Analysis/misc-ps-ranges.m
index 50cda89..a191bec 100644
--- a/test/Analysis/misc-ps-ranges.m
+++ b/test/Analysis/misc-ps-ranges.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=range --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
 
 // <rdar://problem/6776949>
diff --git a/test/Analysis/misc-ps-xfail.m b/test/Analysis/misc-ps-xfail.m
index 9598645..267abb3 100644
--- a/test/Analysis/misc-ps-xfail.m
+++ b/test/Analysis/misc-ps-xfail.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=range --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
 // XFAIL
diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m
index e2c0e05..e49cdb0 100644
--- a/test/Analysis/misc-ps.m
+++ b/test/Analysis/misc-ps.m
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
-// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic-old-cast -analyzer-constraints=range --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s &&
 // RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
 
diff --git a/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m b/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
index f926a9f..87faab6 100644
--- a/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
+++ b/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify &&
-// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic-old-cast %s -verify &&
 // RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region %s -verify
 
 @interface MyClass {}
diff --git a/test/Analysis/no-exit-cfg.c b/test/Analysis/no-exit-cfg.c
index 606a1d9..cad2127 100644
--- a/test/Analysis/no-exit-cfg.c
+++ b/test/Analysis/no-exit-cfg.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s 
 
 // This is a test case for the issue reported in PR 2819:
diff --git a/test/Analysis/no-outofbounds.c b/test/Analysis/no-outofbounds.c
index 7aeae7e..9405280 100644
--- a/test/Analysis/no-outofbounds.c
+++ b/test/Analysis/no-outofbounds.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -checker-cfref -analyze -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -checker-cfref -analyze -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -checker-cfref -analyze -analyzer-store=region -verify %s
 
 //===----------------------------------------------------------------------===//
diff --git a/test/Analysis/null-deref-ps.c b/test/Analysis/null-deref-ps.c
index 52ed8cd..4db3633 100644
--- a/test/Analysis/null-deref-ps.c
+++ b/test/Analysis/null-deref-ps.c
@@ -1,7 +1,5 @@
 // RUN: clang-cc -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic &&
-// RUN: clang-cc -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=basic -analyzer-store=basic-old-cast &&
 // RUN: clang-cc -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic &&
-// RUN: clang-cc -analyze -std=gnu99 -checker-cfref -verify %s -analyzer-constraints=range -analyzer-store=basic-old-cast &&
 // RUN: clang-cc -analyze -std=gnu99 -checker-cfref -analyzer-store=region -analyzer-constraints=range -analyzer-purge-dead=false -verify %s &&
 // RUN: clang-cc -analyze -std=gnu99 -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s
 
diff --git a/test/Analysis/override-werror.c b/test/Analysis/override-werror.c
index 13adbfc..f928ee0 100644
--- a/test/Analysis/override-werror.c
+++ b/test/Analysis/override-werror.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=basic -verify &&
-// RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=basic-old-cast -verify &&
 // RUN: clang-cc -analyze -checker-cfref -Werror %s -analyzer-store=region -verify
 
 // This test case illustrates that using '-analyze' overrides the effect of
diff --git a/test/Analysis/pr4209.m b/test/Analysis/pr4209.m
index 403b211..991d0d6 100644
--- a/test/Analysis/pr4209.m
+++ b/test/Analysis/pr4209.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=region -verify %s
 
 // This test case was crashing due to how CFRefCount.cpp resolved the
diff --git a/test/Analysis/pr_2542_rdar_6793404.m b/test/Analysis/pr_2542_rdar_6793404.m
index 2e143cb..82a028d 100644
--- a/test/Analysis/pr_2542_rdar_6793404.m
+++ b/test/Analysis/pr_2542_rdar_6793404.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -pedantic -analyzer-store=region -verify %s
 
 // BEGIN delta-debugging reduced header stuff
diff --git a/test/Analysis/pr_4164.c b/test/Analysis/pr_4164.c
index b30ba4b..cc2479c 100644
--- a/test/Analysis/pr_4164.c
+++ b/test/Analysis/pr_4164.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -triple x86_64-apple-darwin9 -analyze -checker-cfref -analyzer-store=region -verify %s
 
 // PR 4164: http://llvm.org/bugs/show_bug.cgi?id=4164
diff --git a/test/Analysis/rdar-6442306-1.m b/test/Analysis/rdar-6442306-1.m
index ab6d070..bfda115 100644
--- a/test/Analysis/rdar-6442306-1.m
+++ b/test/Analysis/rdar-6442306-1.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify &&
-// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic-old-cast -verify &&
 // RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify
 
 typedef int bar_return_t;
diff --git a/test/Analysis/rdar-6539791.c b/test/Analysis/rdar-6539791.c
index d564cd4..c1c9891 100644
--- a/test/Analysis/rdar-6539791.c
+++ b/test/Analysis/rdar-6539791.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 typedef const struct __CFAllocator * CFAllocatorRef;
diff --git a/test/Analysis/rdar-6541136.c b/test/Analysis/rdar-6541136.c
index 62ae3be..6e6a479 100644
--- a/test/Analysis/rdar-6541136.c
+++ b/test/Analysis/rdar-6541136.c
@@ -1,5 +1,4 @@
-// RUN: clang-cc -verify -analyze -checker-cfref -analyzer-store=basic %s &&
-// RUN: clang-cc -verify -analyze -checker-cfref -analyzer-store=basic-old-cast %s
+// RUN: clang-cc -verify -analyze -checker-cfref -analyzer-store=basic %s
 
 struct tea_cheese { unsigned magic; };
 typedef struct tea_cheese kernel_tea_cheese_t;
diff --git a/test/Analysis/rdar-6562655.m b/test/Analysis/rdar-6562655.m
index 1588e9e..3c1c281 100644
--- a/test/Analysis/rdar-6562655.m
+++ b/test/Analysis/rdar-6562655.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region -verify %s
 //
 // This test case mainly checks that the retain/release checker doesn't crash
diff --git a/test/Analysis/rdar-6582778-basic-store.c b/test/Analysis/rdar-6582778-basic-store.c
index c8ae311..9ec38ef 100644
--- a/test/Analysis/rdar-6582778-basic-store.c
+++ b/test/Analysis/rdar-6582778-basic-store.c
@@ -1,5 +1,4 @@
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
 
 typedef const void * CFTypeRef;
 typedef double CFTimeInterval;
diff --git a/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m b/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
index e92575b..49ef7c3 100644
--- a/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
+++ b/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic %s -verify &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=basic-old-cast %s -verify &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-constraints=basic -analyzer-store=region %s -verify
 
 typedef struct Foo { int x; } Bar;
diff --git a/test/Analysis/refcnt_naming.m b/test/Analysis/refcnt_naming.m
index 180b5e1..bea4047 100644
--- a/test/Analysis/refcnt_naming.m
+++ b/test/Analysis/refcnt_naming.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 typedef const struct __CFString * CFStringRef;
diff --git a/test/Analysis/region-1.m b/test/Analysis/region-1.m
index 21a7f47..68a375b 100644
--- a/test/Analysis/region-1.m
+++ b/test/Analysis/region-1.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 //
 // This test case simply should not crash.  It evaluates the logic of not
diff --git a/test/Analysis/retain-release-basic-store.m b/test/Analysis/retain-release-basic-store.m
index 1b9d5d6..b16c231 100644
--- a/test/Analysis/retain-release-basic-store.m
+++ b/test/Analysis/retain-release-basic-store.m
@@ -1,5 +1,4 @@
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s
 
 //===----------------------------------------------------------------------===//
 // The following code is reduced using delta-debugging from
diff --git a/test/Analysis/retain-release-gc-only.m b/test/Analysis/retain-release-gc-only.m
index bee515a..48d54f9 100644
--- a/test/Analysis/retain-release-gc-only.m
+++ b/test/Analysis/retain-release-gc-only.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify -fobjc-gc-only %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify -fobjc-gc-only %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -fobjc-gc-only -verify %s
 
 //===----------------------------------------------------------------------===//
diff --git a/test/Analysis/retain-release.m b/test/Analysis/retain-release.m
index dc3f990..e77e3d3 100644
--- a/test/Analysis/retain-release.m
+++ b/test/Analysis/retain-release.m
@@ -1,6 +1,5 @@
 //>>SLICER
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 #if __has_feature(attribute_ns_returns_retained)
diff --git a/test/Analysis/stack-addr-ps.c b/test/Analysis/stack-addr-ps.c
index f2b829d..0d7a703 100644
--- a/test/Analysis/stack-addr-ps.c
+++ b/test/Analysis/stack-addr-ps.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 #include <stdlib.h>
diff --git a/test/Analysis/uninit-msg-expr.m b/test/Analysis/uninit-msg-expr.m
index dbc89e2..5ec878e 100644
--- a/test/Analysis/uninit-msg-expr.m
+++ b/test/Analysis/uninit-msg-expr.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 //===----------------------------------------------------------------------===//
diff --git a/test/Analysis/uninit-ps-rdar6145427.m b/test/Analysis/uninit-ps-rdar6145427.m
index 05a387a..49eb269 100644
--- a/test/Analysis/uninit-ps-rdar6145427.m
+++ b/test/Analysis/uninit-ps-rdar6145427.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -verify -analyzer-store=basic -checker-cfref %s &&
-// RUN: clang-cc -analyze -verify -analyzer-store=basic-old-cast -checker-cfref %s &&
 // RUN: clang-cc -analyze -verify -analyzer-store=region -checker-cfref %s
 
 // Delta-Debugging reduced preamble.
diff --git a/test/Analysis/uninit-vals-ps.c b/test/Analysis/uninit-vals-ps.c
index 5f402ee..bf19d6b 100644
--- a/test/Analysis/uninit-vals-ps.c
+++ b/test/Analysis/uninit-vals-ps.c
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 struct FPRec {
diff --git a/test/Analysis/uninit-vals.m b/test/Analysis/uninit-vals.m
index 7a63c06..7be247e 100644
--- a/test/Analysis/uninit-vals.m
+++ b/test/Analysis/uninit-vals.m
@@ -1,5 +1,4 @@
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -verify %s &&
-// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
 // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
 
 typedef unsigned int NSUInteger;