summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-08-06 23:25:39 +0000
committerAnna Zaks <ganna@apple.com>2012-08-06 23:25:39 +0000
commit472dbcf15673dc67d03b463845635784f41847a2 (patch)
treed8e1dc44ada2d58877bf9ed5daabd4dd4d2ac2ea /clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
parent45f74e313b96994cacc689e122412c61afcd0e5c (diff)
downloadbcm5719-llvm-472dbcf15673dc67d03b463845635784f41847a2.tar.gz
bcm5719-llvm-472dbcf15673dc67d03b463845635784f41847a2.zip
[analyzer] Add a checker to manage dynamic type propagation.
Instead of sprinkling dynamic type info propagation throughout ExprEngine, the added checker would add the more precise type information on known APIs (Ex: ObjC alloc, new) and propagate the type info in other cases (ex: ObjC init method, casts (the second is not implemented yet)). Add handling of ObjC alloc, new and init to the checker. llvm-svn: 161357
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
index 740dec5ec41..7ec151ef6d7 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
@@ -308,9 +308,6 @@ void ExprEngine::VisitCast(const CastExpr *CastE, const Expr *Ex,
const LocationContext *LCtx = Pred->getLocationContext();
SVal V = state->getSVal(Ex, LCtx);
V = svalBuilder.evalCast(V, T, ExTy);
- if (const MemRegion *R = V.getAsRegion()) {
- state = state->addDynamicTypeInfo(R, T);
- }
state = state->BindExpr(CastE, LCtx, V);
Bldr.generateNode(CastE, Pred, state);
continue;
OpenPOWER on IntegriCloud