Hi zaks.anna, jordan_rose, krememek,

This patch fixes an issue that makes analyzer to create additional symbols for 
pointer variables (binding is not recognized even if it exists).

http://reviews.llvm.org/D4974

Files:
  lib/StaticAnalyzer/Core/RegionStore.cpp

Index: lib/StaticAnalyzer/Core/RegionStore.cpp
===================================================================
--- lib/StaticAnalyzer/Core/RegionStore.cpp
+++ lib/StaticAnalyzer/Core/RegionStore.cpp
@@ -1282,6 +1282,8 @@
         const SymbolicRegion *SR = cast<SymbolicRegion>(MR);
         T = SR->getSymbol()->getType();
       }
+      if (T->isAnyPointerType() || T->isReferenceType())
+        T = T->getPointeeType();
     }
     MR = GetElementZeroRegion(MR, T);
   }
Index: lib/StaticAnalyzer/Core/RegionStore.cpp
===================================================================
--- lib/StaticAnalyzer/Core/RegionStore.cpp
+++ lib/StaticAnalyzer/Core/RegionStore.cpp
@@ -1282,6 +1282,8 @@
         const SymbolicRegion *SR = cast<SymbolicRegion>(MR);
         T = SR->getSymbol()->getType();
       }
+      if (T->isAnyPointerType() || T->isReferenceType())
+        T = T->getPointeeType();
     }
     MR = GetElementZeroRegion(MR, T);
   }
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to