Rename IsPointerType to LVal::IsLValType, and update CFRefCount::EvalSummary to use IsLValType when conjuring symbols for return values (this fixes a bug with an assertion firing in the analyzer when two qualified objective-c types were compared).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50924 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index 7a9d608..fd47f03 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -1230,9 +1230,9 @@
         unsigned Count = Builder.getCurrentBlockCount();
         SymbolID Sym = Eng.getSymbolManager().getConjuredSymbol(Ex, Count);
         
-        RVal X = Ex->getType()->isPointerType() 
-        ? cast<RVal>(lval::SymbolVal(Sym)) 
-        : cast<RVal>(nonlval::SymbolVal(Sym));
+        RVal X = LVal::IsLValType(Ex->getType())
+               ? cast<RVal>(lval::SymbolVal(Sym)) 
+               : cast<RVal>(nonlval::SymbolVal(Sym));
         
         St = StateMgr.SetRVal(St, Ex, X, Eng.getCFG().isBlkExpr(Ex), false);
       }