summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-24 08:42:20 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-24 08:42:20 +0000
commitc08d89e6c22aa47f0d7c6310324a24ef7fbb48a1 (patch)
tree9125b785b2cf66e9e4b330e5795dac62d8e52a6a /clang/lib/Frontend/CompilerInvocation.cpp
parentdd407f423b14a56eadf6518d78b1d7c569968863 (diff)
downloadbcm5719-llvm-c08d89e6c22aa47f0d7c6310324a24ef7fbb48a1.tar.gz
bcm5719-llvm-c08d89e6c22aa47f0d7c6310324a24ef7fbb48a1.zip
Allow passing a list of comma separated checker names to -analyzer-checker, e.g:
-analyzer-checker=cocoa,unix llvm-svn: 126372
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 026508ac0ea..c90ac70628d 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -891,8 +891,13 @@ static void ParseAnalyzerArgs(AnalyzerOptions &Opts, ArgList &Args,
const Arg *A = *it;
A->claim();
bool enable = (A->getOption().getID() == OPT_analyzer_checker);
- Opts.CheckersControlList.push_back(std::make_pair(A->getValue(Args),
- enable));
+ // We can have a list of comma separated checker names, e.g:
+ // '-analyzer-checker=cocoa,unix'
+ llvm::StringRef checkerList = A->getValue(Args);
+ llvm::SmallVector<llvm::StringRef, 4> checkers;
+ checkerList.split(checkers, ",");
+ for (unsigned i = 0, e = checkers.size(); i != e; ++i)
+ Opts.CheckersControlList.push_back(std::make_pair(checkers[i], enable));
}
}
OpenPOWER on IntegriCloud