From: Ted Kremenek Date: Mon, 30 Mar 2009 21:27:41 +0000 (+0000) Subject: Remove dead code. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be65d908d6da886a03cd2b3a47605e10ee0645f2;p=clang Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68063 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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(D), true, SubKind) {} + : SVal(const_cast(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(R)) { - bool b = cast(this)->getValue() == - cast(R).getValue(); - - return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b); - } - else if (isa(R)) { - const SymIntExpr *SE = - SymMgr.getSymIntExpr(cast(R).getSymbol(), - BinaryOperator::EQ, - cast(this)->getValue(), - SymMgr.getContext().IntTy); - - return nonloc::SymExprVal(SE); - } - - break; - - case loc::SymbolValKind: { - if (isa(R)) { - const SymIntExpr *SE = - SymMgr.getSymIntExpr(cast(this)->getSymbol(), - BinaryOperator::EQ, - cast(R).getValue(), - SymMgr.getContext().IntTy); - - return nonloc::SymExprVal(SE); - } - - assert (!isa(R) && "FIXME: Implement unification."); - break; - } - - case loc::MemRegionKind: - if (isa(R)) { - bool b = cast(*this) == cast(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(R)) { - bool b = cast(this)->getValue() != - cast(R).getValue(); - - return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b); - } - else if (isa(R)) { - const SymIntExpr *SE = - SymMgr.getSymIntExpr(cast(R).getSymbol(), - BinaryOperator::NE, - cast(this)->getValue(), - SymMgr.getContext().IntTy); - return nonloc::SymExprVal(SE); - } - break; - - case loc::SymbolValKind: { - if (isa(R)) { - const SymIntExpr *SE = - SymMgr.getSymIntExpr(cast(this)->getSymbol(), - BinaryOperator::NE, - cast(R).getValue(), - SymMgr.getContext().IntTy); - - return nonloc::SymExprVal(SE); - } - - assert (!isa(R) && "FIXME: Implement sym !=."); - break; - } - - case loc::MemRegionKind: - if (isa(R)) { - bool b = cast(*this)==cast(R); - return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), b); - } - - break; - } - - return NonLoc::MakeIntTruthVal(SymMgr.getBasicVals(), true); -} - //===----------------------------------------------------------------------===// // Utility methods for constructing Non-Locs. //===----------------------------------------------------------------------===//