diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-05-09 23:45:33 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-05-09 23:45:33 +0000 |
commit | acdde6f099e797ecc366cf39381fae632f2eff2e (patch) | |
tree | da1d54ae9eb38e1c13c987d2f3c81d4e37efc6b3 /clang/lib/Analysis/CFRefCount.cpp | |
parent | fa8e15bfa5341a06b5cd1042a49e04708d6e2140 (diff) | |
download | bcm5719-llvm-acdde6f099e797ecc366cf39381fae632f2eff2e.tar.gz bcm5719-llvm-acdde6f099e797ecc366cf39381fae632f2eff2e.zip |
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).
llvm-svn: 50924
Diffstat (limited to 'clang/lib/Analysis/CFRefCount.cpp')
-rw-r--r-- | clang/lib/Analysis/CFRefCount.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Analysis/CFRefCount.cpp b/clang/lib/Analysis/CFRefCount.cpp index 7a9d608b71c..fd47f03d3e1 100644 --- a/clang/lib/Analysis/CFRefCount.cpp +++ b/clang/lib/Analysis/CFRefCount.cpp @@ -1230,9 +1230,9 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<ValueState>& Dst, 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); } |