]> granicus.if.org Git - clang/commitdiff
Remove dead code.
authorTed Kremenek <kremenek@apple.com>
Mon, 30 Mar 2009 21:27:41 +0000 (21:27 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 30 Mar 2009 21:27:41 +0000 (21:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68063 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/SVals.h
lib/Analysis/SVals.cpp

index a02532559089032ead92cd6880ea849dcf0eb635..264d8898e282259ab2b0bd23ff84fd04d0bb2c01 100644 (file)
@@ -208,15 +208,18 @@ public:
 class Loc : public SVal {
 protected:
   Loc(unsigned SubKind, const void* D)
-    : SVal(const_cast<void*>(D), true, SubKind) {}
+  : SVal(const_cast<void*>(D), true, SubKind) {}
   
-  // Equality operators.
-  NonLoc EQ(SymbolManager& SM, const Loc& R) const;
-  NonLoc NE(SymbolManager& SM, const Loc& R) const;
+//  // Equality operators.
+//  NonLoc EQ(SymbolManager& SM, Loc R) const;
+//  NonLoc NE(SymbolManager& SM, Loc R) const;
   
 public:
   void print(llvm::raw_ostream& Out) const;
 
+  Loc(const Loc& X) : SVal(X.Data, true, X.getSubKind()) {}
+  Loc& operator=(const Loc& X) { memcpy(this, &X, sizeof(Loc)); return *this; }
+    
   static Loc MakeVal(const MemRegion* R);
     
   static Loc MakeVal(AddrLabelExpr* E);
index 9225f994d3f0f0412b8bf698938d1a5767a32e3b..850e65e3b63d9cdf70a29c18ba3fddaf0c2735a1 100644 (file)
@@ -201,109 +201,6 @@ SVal loc::ConcreteInt::EvalBinOp(BasicValueFactory& BasicVals,
     return UndefinedVal();
 }
 
-NonLoc Loc::EQ(SymbolManager& SymMgr, const Loc& R) const {
-  
-  switch (getSubKind()) {
-    default:
-      assert(false && "EQ not implemented for this Loc.");
-      break;
-      
-    case loc::ConcreteIntKind:
-      if (isa<loc::ConcreteInt>(R)) {
-        bool b = cast<loc::ConcreteInt>(this)->getValue() ==
-                 cast<loc::ConcreteInt>(R).getValue();
-        
-        return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b);
-      }
-      else if (isa<loc::SymbolVal>(R)) {
-        const SymIntExpr *SE =
-          SymMgr.getSymIntExpr(cast<loc::SymbolVal>(R).getSymbol(),
-                               BinaryOperator::EQ,
-                               cast<loc::ConcreteInt>(this)->getValue(),
-                               SymMgr.getContext().IntTy);
-        
-        return nonloc::SymExprVal(SE);        
-      }
-      
-      break;
-      
-      case loc::SymbolValKind: {
-        if (isa<loc::ConcreteInt>(R)) {
-          const SymIntExpr *SE =
-            SymMgr.getSymIntExpr(cast<loc::SymbolVal>(this)->getSymbol(),
-                                 BinaryOperator::EQ,
-                                 cast<loc::ConcreteInt>(R).getValue(),
-                                 SymMgr.getContext().IntTy);
-          
-          return nonloc::SymExprVal(SE);
-        }
-                                 
-        assert (!isa<loc::SymbolVal>(R) && "FIXME: Implement unification.");        
-        break;
-      }
-      
-      case loc::MemRegionKind:
-      if (isa<loc::MemRegionVal>(R)) {        
-        bool b = cast<loc::MemRegionVal>(*this) == cast<loc::MemRegionVal>(R);
-        return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b);
-      }
-      
-      break;
-  }
-  
-  return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), false);
-}
-
-NonLoc Loc::NE(SymbolManager& SymMgr, const Loc& R) const {
-  switch (getSubKind()) {
-    default:
-      assert(false && "NE not implemented for this Loc.");
-      break;
-      
-    case loc::ConcreteIntKind:
-      if (isa<loc::ConcreteInt>(R)) {
-        bool b = cast<loc::ConcreteInt>(this)->getValue() !=
-                 cast<loc::ConcreteInt>(R).getValue();
-        
-        return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b);
-      }
-      else if (isa<loc::SymbolVal>(R)) {
-        const SymIntExpr *SE =
-          SymMgr.getSymIntExpr(cast<loc::SymbolVal>(R).getSymbol(),
-                               BinaryOperator::NE,
-                               cast<loc::ConcreteInt>(this)->getValue(),
-                               SymMgr.getContext().IntTy);
-        return nonloc::SymExprVal(SE);
-      }
-      break;
-      
-      case loc::SymbolValKind: {
-        if (isa<loc::ConcreteInt>(R)) {
-          const SymIntExpr *SE =
-            SymMgr.getSymIntExpr(cast<loc::SymbolVal>(this)->getSymbol(),
-                                 BinaryOperator::NE,
-                                 cast<loc::ConcreteInt>(R).getValue(),
-                                 SymMgr.getContext().IntTy);
-          
-          return nonloc::SymExprVal(SE);
-        }
-        
-        assert (!isa<loc::SymbolVal>(R) && "FIXME: Implement sym !=.");
-        break;
-      }
-      
-      case loc::MemRegionKind:
-        if (isa<loc::MemRegionVal>(R)) {        
-          bool b = cast<loc::MemRegionVal>(*this)==cast<loc::MemRegionVal>(R);
-          return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b);
-        }
-      
-        break;
-  }
-  
-  return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), true);
-}
-
 //===----------------------------------------------------------------------===//
 // Utility methods for constructing Non-Locs.
 //===----------------------------------------------------------------------===//