diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-03-30 21:27:41 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-03-30 21:27:41 +0000 |
commit | be65d908d6da886a03cd2b3a47605e10ee0645f2 (patch) | |
tree | 022176ed26ce62ccaca226d95a910471557e0ea8 | |
parent | 757e0dd411c8b6c9c13a310883457a3372b1795a (diff) |
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68063 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Analysis/PathSensitive/SVals.h | 11 | ||||
-rw-r--r-- | lib/Analysis/SVals.cpp | 103 |
2 files changed, 7 insertions, 107 deletions
diff --git a/include/clang/Analysis/PathSensitive/SVals.h b/include/clang/Analysis/PathSensitive/SVals.h index a025325590..264d8898e2 100644 --- a/include/clang/Analysis/PathSensitive/SVals.h +++ b/include/clang/Analysis/PathSensitive/SVals.h @@ -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); diff --git a/lib/Analysis/SVals.cpp b/lib/Analysis/SVals.cpp index 9225f994d3..850e65e3b6 100644 --- a/lib/Analysis/SVals.cpp +++ b/lib/Analysis/SVals.cpp @@ -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. //===----------------------------------------------------------------------===// |