summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-11-26 02:32:19 +0000
committerTed Kremenek <kremenek@apple.com>2009-11-26 02:32:19 +0000
commit705fd953ef3374e7799d834765fcc0966a60177a (patch)
tree234f2cb6d5b0a02c627c85152866b9697fed12f6 /clang/lib
parentc778540f9a43d3e9c0a123c2bf202d6d656adbbe (diff)
downloadbcm5719-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.cpp21
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.
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud