diff options
| author | Jan Korous <jkorous@apple.com> | 2019-10-14 20:15:01 +0000 |
|---|---|---|
| committer | Jan Korous <jkorous@apple.com> | 2019-10-14 20:15:01 +0000 |
| commit | c5d14b5c6fa9e003ef2037dcd3601c8339b1e42f (patch) | |
| tree | a57626e41231766bbe747d3df24cb04f6928e7bd /clang/lib/Driver/ToolChains | |
| parent | 7e385bd2f526cc04b4a7cc6af1f39744f304d31a (diff) | |
| download | bcm5719-llvm-c5d14b5c6fa9e003ef2037dcd3601c8339b1e42f.tar.gz bcm5719-llvm-c5d14b5c6fa9e003ef2037dcd3601c8339b1e42f.zip | |
[clang-scan-deps] Support for clang --analyze in clang-scan-deps
The goal is to have 100% fidelity in clang-scan-deps behavior when
--analyze is present in compilation command.
At the same time I don't want to break clang-tidy which expects
__static_analyzer__ macro defined as built-in.
I introduce new cc1 options (-setup-static-analyzer) that controls
the macro definition and is conditionally set in driver.
Differential Revision: https://reviews.llvm.org/D68093
llvm-svn: 374815
Diffstat (limited to 'clang/lib/Driver/ToolChains')
| -rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index e35408876b4..52fe20c3a90 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3803,6 +3803,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (isa<AnalyzeJobAction>(JA)) RenderAnalyzerOptions(Args, CmdArgs, Triple, Input); + if (isa<AnalyzeJobAction>(JA) || + (isa<PreprocessJobAction>(JA) && Args.hasArg(options::OPT__analyze))) + CmdArgs.push_back("-setup-static-analyzer"); + // Enable compatilibily mode to avoid analyzer-config related errors. // Since we can't access frontend flags through hasArg, let's manually iterate // through them. |

