diff options
author | Anna Zaks <ganna@apple.com> | 2012-08-06 23:25:39 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-08-06 23:25:39 +0000 |
commit | 472dbcf15673dc67d03b463845635784f41847a2 (patch) | |
tree | d8e1dc44ada2d58877bf9ed5daabd4dd4d2ac2ea /clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp | |
parent | 45f74e313b96994cacc689e122412c61afcd0e5c (diff) | |
download | bcm5719-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.cpp | 3 |
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; |