diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-11-26 02:32:19 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-11-26 02:32:19 +0000 |
commit | 705fd953ef3374e7799d834765fcc0966a60177a (patch) | |
tree | 234f2cb6d5b0a02c627c85152866b9697fed12f6 /clang/lib | |
parent | c778540f9a43d3e9c0a123c2bf202d6d656adbbe (diff) | |
download | bcm5719-llvm-705fd953ef3374e7799d834765fcc0966a60177a.tar.gz bcm5719-llvm-705fd953ef3374e7799d834765fcc0966a60177a.zip |
Added batch versions of GRState::scanReachableSymbols() so that clients can scan a collection of SVals or MemRegions all at once.
llvm-svn: 89926
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Analysis/GRState.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/lib/Analysis/GRState.cpp b/clang/lib/Analysis/GRState.cpp index 23ee0b2258b..5284d65e9ad 100644 --- a/clang/lib/Analysis/GRState.cpp +++ b/clang/lib/Analysis/GRState.cpp @@ -308,6 +308,27 @@ bool GRState::scanReachableSymbols(SVal val, SymbolVisitor& visitor) const { return S.scan(val); } +bool GRState::scanReachableSymbols(const SVal *I, const SVal *E, + SymbolVisitor &visitor) const { + ScanReachableSymbols S(this, visitor); + for ( ; I != E; ++I) { + if (S.scan(*I)) + return true; + } + return false; +} + +bool GRState::scanReachableSymbols(const MemRegion * const *I, + const MemRegion * const *E, + SymbolVisitor &visitor) const { + ScanReachableSymbols S(this, visitor); + for ( ; I != E; ++I) { + if (S.scan(*I)) + return true; + } + return false; +} + //===----------------------------------------------------------------------===// // Queries. //===----------------------------------------------------------------------===// |