diff options
Diffstat (limited to 'lib/Analysis/Store.cpp')
-rw-r--r-- | lib/Analysis/Store.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Analysis/Store.cpp b/lib/Analysis/Store.cpp index bbda565cec..c7f9eecc73 100644 --- a/lib/Analysis/Store.cpp +++ b/lib/Analysis/Store.cpp @@ -248,7 +248,8 @@ const GRState *StoreManager::InvalidateRegion(const GRState *state, // The only exception is if the original region had a location type as its // value type we always want to treat the region as binding to a location. // This issue can arise when pointers are casted to integers and back. - if (!Loc::IsLocType(T) || Loc::IsLocType(NewT)) + + if (!(Loc::IsLocType(T) && !Loc::IsLocType(NewT))) T = NewT; } |