[cfe-commits] r69577 - in /cfe/trunk: include/clang/Analysis/PathSensitive/SVals.h lib/Analysis/BasicStore.cpp lib/Analysis/GRSimpleVals.cpp lib/Analysis/RegionStore.cpp lib/Analysis/SVals.cpp lib/Analysis/SimpleConstraintManager.cpp
Ted Kremenek
kremenek at apple.com
Tue Apr 21 13:11:38 PDT 2009
Awesome!
On Apr 19, 2009, at 11:35 PM, Zhongxing Xu wrote:
> Author: zhongxingxu
> Date: Mon Apr 20 01:35:22 2009
> New Revision: 69577
>
> URL: http://llvm.org/viewvc/llvm-project?rev=69577&view=rev
> Log:
> Remove loc::FuncVal.
>
> Modified:
> cfe/trunk/include/clang/Analysis/PathSensitive/SVals.h
> cfe/trunk/lib/Analysis/BasicStore.cpp
> cfe/trunk/lib/Analysis/GRSimpleVals.cpp
> cfe/trunk/lib/Analysis/RegionStore.cpp
> cfe/trunk/lib/Analysis/SVals.cpp
> cfe/trunk/lib/Analysis/SimpleConstraintManager.cpp
>
> Modified: cfe/trunk/include/clang/Analysis/PathSensitive/SVals.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/PathSensitive/SVals.h?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/include/clang/Analysis/PathSensitive/SVals.h (original)
> +++ cfe/trunk/include/clang/Analysis/PathSensitive/SVals.h Mon Apr
> 20 01:35:22 2009
> @@ -362,7 +362,7 @@
>
> namespace loc {
>
> -enum Kind { GotoLabelKind, MemRegionKind, FuncValKind,
> ConcreteIntKind };
> +enum Kind { GotoLabelKind, MemRegionKind, ConcreteIntKind };
>
> class GotoLabel : public Loc {
> public:
> @@ -415,33 +415,6 @@
> }
> };
>
> -class FuncVal : public Loc {
> -public:
> - FuncVal(const FunctionDecl* fd) : Loc(FuncValKind, fd) {}
> -
> - FunctionDecl* getDecl() const {
> - return static_cast<FunctionDecl*>(Data);
> - }
> -
> - inline bool operator==(const FuncVal& R) const {
> - return getDecl() == R.getDecl();
> - }
> -
> - inline bool operator!=(const FuncVal& R) const {
> - return getDecl() != R.getDecl();
> - }
> -
> - // Implement isa<T> support.
> - static inline bool classof(const SVal* V) {
> - return V->getBaseKind() == LocKind &&
> - V->getSubKind() == FuncValKind;
> - }
> -
> - static inline bool classof(const Loc* V) {
> - return V->getSubKind() == FuncValKind;
> - }
> -};
> -
> class ConcreteInt : public Loc {
> public:
> ConcreteInt(const llvm::APSInt& V) : Loc(ConcreteIntKind, &V) {}
>
> Modified: cfe/trunk/lib/Analysis/BasicStore.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/BasicStore.cpp?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/Analysis/BasicStore.cpp (original)
> +++ cfe/trunk/lib/Analysis/BasicStore.cpp Mon Apr 20 01:35:22 2009
> @@ -200,8 +200,6 @@
>
> switch(BaseL.getSubKind()) {
> case loc::GotoLabelKind:
> - case loc::FuncValKind:
> - // Technically we can get here if people do funny things with
> casts.
> return UndefinedVal();
>
> case loc::MemRegionKind:
> @@ -234,7 +232,6 @@
>
> switch(BaseL.getSubKind()) {
> case loc::GotoLabelKind:
> - case loc::FuncValKind:
> // Technically we can get here if people do funny things with
> casts.
> return UndefinedVal();
>
> @@ -338,8 +335,6 @@
> // they are doing a quick scan through their Locs (potentially
> to
> // invalidate their bindings). Just return Undefined.
> return UndefinedVal();
> - case loc::FuncValKind:
> - return loc;
>
> default:
> assert (false && "Invalid Loc.");
>
> Modified: cfe/trunk/lib/Analysis/GRSimpleVals.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRSimpleVals.cpp?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/Analysis/GRSimpleVals.cpp (original)
> +++ cfe/trunk/lib/Analysis/GRSimpleVals.cpp Mon Apr 20 01:35:22 2009
> @@ -307,7 +307,6 @@
>
> // Fall-through.
>
> - case loc::FuncValKind:
> case loc::GotoLabelKind:
> return NonLoc::MakeIntTruthVal(BasicVals, L == R);
> }
> @@ -356,7 +355,6 @@
> // Fall through:
> }
>
> - case loc::FuncValKind:
> case loc::GotoLabelKind:
> return NonLoc::MakeIntTruthVal(BasicVals, L != R);
> }
>
> Modified: cfe/trunk/lib/Analysis/RegionStore.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/RegionStore.cpp?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/Analysis/RegionStore.cpp (original)
> +++ cfe/trunk/lib/Analysis/RegionStore.cpp Mon Apr 20 01:35:22 2009
> @@ -365,7 +365,6 @@
> break;
>
> case loc::GotoLabelKind:
> - case loc::FuncValKind:
> // These are anormal cases. Flag an undefined value.
> return UndefinedVal();
>
> @@ -662,11 +661,6 @@
> if (isa<loc::ConcreteInt>(L))
> return UndefinedVal();
>
> - // FIXME: Should this be refactored into GRExprEngine or
> GRStateManager?
> - // It seems that all StoreManagers would do the same thing here.
> - if (isa<loc::FuncVal>(L))
> - return L;
> -
> const MemRegion* MR = cast<loc::MemRegionVal>(L).getRegion();
>
> // We return unknown for symbolic region for now. This might be
> improved.
>
> Modified: cfe/trunk/lib/Analysis/SVals.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/SVals.cpp?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/Analysis/SVals.cpp (original)
> +++ cfe/trunk/lib/Analysis/SVals.cpp Mon Apr 20 01:35:22 2009
> @@ -31,10 +31,6 @@
> //
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
>
> const FunctionDecl* SVal::getAsFunctionDecl() const {
> - if (const loc::FuncVal* FV = dyn_cast<loc::FuncVal>(this)) {
> - return FV->getDecl();
> - }
> -
> if (const loc::MemRegionVal* X = dyn_cast<loc::MemRegionVal>
> (this)) {
> const MemRegion* R = X->getRegion();
> if (const CodeTextRegion* CTR = dyn_cast<CodeTextRegion>(R)) {
> @@ -481,11 +477,6 @@
> Out << '&' << cast<loc::MemRegionVal>(this)->getRegion()-
> >getString();
> break;
>
> - case loc::FuncValKind:
> - Out << "function "
> - << cast<loc::FuncVal>(this)->getDecl()->getIdentifier()-
> >getName();
> - break;
> -
> default:
> assert (false && "Pretty-printing not implemented for this
> Loc.");
> break;
>
> Modified: cfe/trunk/lib/Analysis/SimpleConstraintManager.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/SimpleConstraintManager.cpp?rev=69577&r1=69576&r2=69577&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/Analysis/SimpleConstraintManager.cpp (original)
> +++ cfe/trunk/lib/Analysis/SimpleConstraintManager.cpp Mon Apr 20
> 01:35:22 2009
> @@ -116,7 +116,6 @@
> // FALL-THROUGH.
> }
>
> - case loc::FuncValKind:
> case loc::GotoLabelKind:
> isFeasible = Assumption;
> return St;
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list