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