diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-24 08:42:20 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-24 08:42:20 +0000 |
commit | c08d89e6c22aa47f0d7c6310324a24ef7fbb48a1 (patch) | |
tree | 9125b785b2cf66e9e4b330e5795dac62d8e52a6a /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | dd407f423b14a56eadf6518d78b1d7c569968863 (diff) | |
download | bcm5719-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.cpp | 9 |
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)); } } |