diff options
author | Devin Coughlin <dcoughlin@apple.com> | 2016-01-21 20:09:49 +0000 |
---|---|---|
committer | Devin Coughlin <dcoughlin@apple.com> | 2016-01-21 20:09:49 +0000 |
commit | 65c7708b019ff23f0103f87dd758235b8b01c6ed (patch) | |
tree | d298874ae58672f9ed33a60cbe1a457cba94f2cd /clang/lib/Driver/Tools.cpp | |
parent | 46a04bb5a8f0e73012d67907180b199e064aedee (diff) | |
download | llvm-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.cpp | 13 |
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) { |