Handle cast of 'ObjCObjectRegion' in StoreManager::InvalidateRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75713 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/Store.cpp b/lib/Analysis/Store.cpp
index 50d0767..2910f49 100644
--- a/lib/Analysis/Store.cpp
+++ b/lib/Analysis/Store.cpp
@@ -225,11 +225,15 @@
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;
}