]> granicus.if.org Git - clang/commitdiff
[analyzer] Don't reimplement an existing function.
authorAnna Zaks <ganna@apple.com>
Thu, 13 Sep 2012 00:37:12 +0000 (00:37 +0000)
committerAnna Zaks <ganna@apple.com>
Thu, 13 Sep 2012 00:37:12 +0000 (00:37 +0000)
Thanks Jordan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163762 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
lib/StaticAnalyzer/Core/MemRegion.cpp

index e54b3f039d32c5b1435c31473263f502c6e2da1d..8484aefdc36d0df2d79ff915b380799002a9f333 100644 (file)
@@ -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;
index 6d6bb2081850e21d3cefc800ae97598513fab94e..8c3c1250e69bd12525dbcdcaeeafb07ee38525cb 100644 (file)
@@ -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<SubRegion>(R)->getSuperRegion();
-        if (R == PR)
-          return true;
-        continue;
-      default:
-        break;
-    }
-    break;
-  }
+bool MemRegion::isSubRegionOf(const MemRegion *R) const {
   return false;
 }