rewrite the logic to make it follow the comments more closely.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75750 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/Store.cpp b/lib/Analysis/Store.cpp
index bbda565..c7f9eec 100644
--- a/lib/Analysis/Store.cpp
+++ b/lib/Analysis/Store.cpp
@@ -248,7 +248,8 @@
     // 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;
   }