diff --git a/clang/lib/Analysis/BugReporter.cpp b/clang/lib/Analysis/BugReporter.cpp index f5ba3275b9b9..a240062ef719 100644 --- a/clang/lib/Analysis/BugReporter.cpp +++ b/clang/lib/Analysis/BugReporter.cpp @@ -537,18 +537,11 @@ public: PathDiagnostic& pd, BugReporter& br) : Sym(sym), PrevSt(prevst), S(s), VMgr(vmgr), Pred(pred), PD(pd), BR(br) {} - bool HandleBinding(StoreManager& SMgr, Store store, - const MemRegion* R, SVal V) { + bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R, + SVal V) { + + SymbolRef ScanSym = V.getAsSymbol(); - SymbolRef ScanSym = 0; - - if (loc::SymbolVal* SV = dyn_cast(&V)) - ScanSym = SV->getSymbol(); - else if (nonloc::SymbolVal* SV = dyn_cast(&V)) - ScanSym = SV->getSymbol(); - else - return true; - if (ScanSym != Sym) return true;