]> granicus.if.org Git - clang/commitdiff
CXXBaseObjectRegion is like FieldRegion. Need to blast through it when
authorZhongxing Xu <xuzhongxing@gmail.com>
Thu, 13 Jan 2011 12:46:31 +0000 (12:46 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Thu, 13 Jan 2011 12:46:31 +0000 (12:46 +0000)
getting the base region. This makes the RemoveDeadBindings() correct.

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

lib/StaticAnalyzer/MemRegion.cpp
test/Analysis/base-init.cpp

index e465224f4270546e38901ee21df30f7e4907c655..d3d72b51a73a2987f86243a48b47661e10987d57 100644 (file)
@@ -770,6 +770,7 @@ const MemRegion *MemRegion::getBaseRegion() const {
       case MemRegion::ElementRegionKind:
       case MemRegion::FieldRegionKind:
       case MemRegion::ObjCIvarRegionKind:
+      case MemRegion::CXXBaseObjectRegionKind:
         R = cast<SubRegion>(R)->getSuperRegion();
         continue;
       default:
index e82f443ced94d9297fde2130077973fd50d29efc..800763b25b4990c8bcd96a67378526de59d39b05 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -analyze -analyzer-check-objc-mem -analyzer-store region -analyzer-inline-call -cfg-add-initializers -verify -analyzer-no-purge-dead %s
+// RUN: %clang_cc1 -analyze -analyzer-check-objc-mem -analyzer-store region -analyzer-inline-call -cfg-add-initializers -verify %s
 
 class A {
   int x;