From: Anna Zaks Date: Thu, 13 Sep 2012 00:37:12 +0000 (+0000) Subject: [analyzer] Don't reimplement an existing function. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f7c0add1ea1d8e1d2f920d77fd1a7b6160c2d93;p=clang [analyzer] Don't reimplement an existing function. Thanks Jordan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163762 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h b/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h index e54b3f039d..8484aefdc3 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h @@ -141,7 +141,7 @@ public: const MemRegion *getBaseRegion() const; /// Check if the region is a subregion of the given region. - bool isSubRegionOf(const MemRegion *PR) const; + virtual bool isSubRegionOf(const MemRegion *R) const; const MemRegion *StripCasts(bool StripBaseCasts = true) const; @@ -419,7 +419,7 @@ public: MemRegionManager* getMemRegionManager() const; - bool isSubRegionOf(const MemRegion* R) const; + virtual bool isSubRegionOf(const MemRegion* R) const; static bool classof(const MemRegion* R) { return R->getKind() > END_MEMSPACES; diff --git a/lib/StaticAnalyzer/Core/MemRegion.cpp b/lib/StaticAnalyzer/Core/MemRegion.cpp index 6d6bb20818..8c3c1250e6 100644 --- a/lib/StaticAnalyzer/Core/MemRegion.cpp +++ b/lib/StaticAnalyzer/Core/MemRegion.cpp @@ -990,23 +990,7 @@ const MemRegion *MemRegion::getBaseRegion() const { return R; } -bool MemRegion::isSubRegionOf(const MemRegion *PR) const { - const MemRegion *R = this; - while (true) { - switch (R->getKind()) { - case MemRegion::ElementRegionKind: - case MemRegion::FieldRegionKind: - case MemRegion::ObjCIvarRegionKind: - case MemRegion::CXXBaseObjectRegionKind: - R = cast(R)->getSuperRegion(); - if (R == PR) - return true; - continue; - default: - break; - } - break; - } +bool MemRegion::isSubRegionOf(const MemRegion *R) const { return false; }