diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-07-14 23:52:07 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-07-14 23:52:07 +0000 |
commit | aa8bc7e977ad3c53a8472e8d215d21e1dff042de (patch) | |
tree | b910635c3e113c42c829084bfa3fb56a74b6aa71 /lib | |
parent | 29146add4c9952f79b82b7f3d1f0bf0d4cb0e17e (diff) |
Handle cast of 'ObjCObjectRegion' in StoreManager::InvalidateRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Analysis/Store.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Analysis/Store.cpp b/lib/Analysis/Store.cpp index 50d0767f61..2910f49c80 100644 --- a/lib/Analysis/Store.cpp +++ b/lib/Analysis/Store.cpp @@ -225,11 +225,15 @@ const GRState *StoreManager::InvalidateRegion(const GRState *state, if (!R->isBoundable()) return state; - if (isa<AllocaRegion>(R) || isa<SymbolicRegion>(R)) { + if (isa<AllocaRegion>(R) || isa<SymbolicRegion>(R) + || isa<ObjCObjectRegion>(R)) { // Invalidate the alloca region by setting its default value to // conjured symbol. The type of the symbol is irrelavant. SVal V = ValMgr.getConjuredSymbolVal(E, Ctx.IntTy, Count); state = setDefaultValue(state, R, V); + + // FIXME: This form of invalidation is a little bogus; we actually need + // to invalidate all subregions as well. return state; } |