summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains
diff options
context:
space:
mode:
authorJan Korous <jkorous@apple.com>2019-10-14 20:15:01 +0000
committerJan Korous <jkorous@apple.com>2019-10-14 20:15:01 +0000
commitc5d14b5c6fa9e003ef2037dcd3601c8339b1e42f (patch)
treea57626e41231766bbe747d3df24cb04f6928e7bd /clang/lib/Driver/ToolChains
parent7e385bd2f526cc04b4a7cc6af1f39744f304d31a (diff)
downloadbcm5719-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.cpp4
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.
OpenPOWER on IntegriCloud