aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDevin Coughlin <dcoughlin@apple.com>2016-01-21 20:09:49 +0000
committerDevin Coughlin <dcoughlin@apple.com>2016-01-21 20:09:49 +0000
commit65c7708b019ff23f0103f87dd758235b8b01c6ed (patch)
treed298874ae58672f9ed33a60cbe1a457cba94f2cd /clang/lib/Driver/Tools.cpp
parent46a04bb5a8f0e73012d67907180b199e064aedee (diff)
downloadllvm-65c7708b019ff23f0103f87dd758235b8b01c6ed.zip
llvm-65c7708b019ff23f0103f87dd758235b8b01c6ed.tar.gz
llvm-65c7708b019ff23f0103f87dd758235b8b01c6ed.tar.bz2
[driver] Enable some static analyzer "unix" checkers on Windows.
Many of the "unix" checkers are not actually unix-specific and would be valuable to run on Windows. This commit explicitly enables those checkers on Windows. A patch by Alexander Riccio! Differential Revision: http://reviews.llvm.org/D16245 llvm-svn: 258426
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index b440d4c..24a726b 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3642,8 +3642,17 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) {
CmdArgs.push_back("-analyzer-checker=core");
- if (!IsWindowsMSVC)
- CmdArgs.push_back("-analyzer-checker=unix");
+ if (!IsWindowsMSVC) {
+ CmdArgs.push_back("-analyzer-checker=unix");
+ } else {
+ // Enable "unix" checkers that also work on Windows.
+ CmdArgs.push_back("-analyzer-checker=unix.API");
+ CmdArgs.push_back("-analyzer-checker=unix.Malloc");
+ CmdArgs.push_back("-analyzer-checker=unix.MallocSizeof");
+ CmdArgs.push_back("-analyzer-checker=unix.MismatchedDeallocator");
+ CmdArgs.push_back("-analyzer-checker=unix.cstring.BadSizeArg");
+ CmdArgs.push_back("-analyzer-checker=unix.cstring.NullArg");
+ }
// Disable some unix checkers for PS4.
if (IsPS4CPU) {