diff options
Diffstat (limited to 'lib/Analysis/BugReporter.cpp')
-rw-r--r-- | lib/Analysis/BugReporter.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/Analysis/BugReporter.cpp b/lib/Analysis/BugReporter.cpp index a240062ef7..36515870b8 100644 --- a/lib/Analysis/BugReporter.cpp +++ b/lib/Analysis/BugReporter.cpp @@ -635,17 +635,12 @@ public: bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R, SVal V) { - SymbolRef ScanSym = 0; - - if (loc::SymbolVal* SV = dyn_cast<loc::SymbolVal>(&V)) - ScanSym = SV->getSymbol(); - else if (nonloc::SymbolVal* SV = dyn_cast<nonloc::SymbolVal>(&V)) - ScanSym = SV->getSymbol(); - else + + SymbolRef ScanSym = V.getAsSymbol(); + + if (!ScanSym) return true; - assert (ScanSym); - if (!BR.isNotable(ScanSym)) return true; |