[cfe-commits] r123375 - in /cfe/trunk: lib/StaticAnalyzer/MemRegion.cpp test/Analysis/base-init.cpp

Zhongxing Xu xuzhongxing at gmail.com
Thu Jan 13 04:46:31 PST 2011


Author: zhongxingxu
Date: Thu Jan 13 06:46:31 2011
New Revision: 123375

URL: http://llvm.org/viewvc/llvm-project?rev=123375&view=rev
Log:
CXXBaseObjectRegion is like FieldRegion. Need to blast through it when
getting the base region. This makes the RemoveDeadBindings() correct.

Modified:
    cfe/trunk/lib/StaticAnalyzer/MemRegion.cpp
    cfe/trunk/test/Analysis/base-init.cpp

Modified: cfe/trunk/lib/StaticAnalyzer/MemRegion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/MemRegion.cpp?rev=123375&r1=123374&r2=123375&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/MemRegion.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/MemRegion.cpp Thu Jan 13 06:46:31 2011
@@ -770,6 +770,7 @@
       case MemRegion::ElementRegionKind:
       case MemRegion::FieldRegionKind:
       case MemRegion::ObjCIvarRegionKind:
+      case MemRegion::CXXBaseObjectRegionKind:
         R = cast<SubRegion>(R)->getSuperRegion();
         continue;
       default:

Modified: cfe/trunk/test/Analysis/base-init.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/base-init.cpp?rev=123375&r1=123374&r2=123375&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/base-init.cpp (original)
+++ cfe/trunk/test/Analysis/base-init.cpp Thu Jan 13 06:46:31 2011
@@ -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;





More information about the cfe-commits mailing list