diff options
author | Jan Korous <jkorous@apple.com> | 2019-09-24 03:21:22 +0000 |
---|---|---|
committer | Jan Korous <jkorous@apple.com> | 2019-09-24 03:21:22 +0000 |
commit | b26e9e2a8f1865711c4e9b9aa7be712589169b3d (patch) | |
tree | 5e69d4d247aacee5662eb2bc4d9b513daaa1fa35 | |
parent | 5e61895aed1dd08b1183d4528a50be2bf1051eda (diff) | |
download | llvm-b26e9e2a8f1865711c4e9b9aa7be712589169b3d.zip llvm-b26e9e2a8f1865711c4e9b9aa7be712589169b3d.tar.gz llvm-b26e9e2a8f1865711c4e9b9aa7be712589169b3d.tar.bz2 |
Revert "[static analyzer] Define __clang_analyzer__ macro in driver"
This reverts commit fbd13570b0d5f92ef2cf6bcfe7cc2f6178500187.
llvm-svn: 372687
-rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 4 | ||||
-rw-r--r-- | clang/test/Analysis/misc-driver.c | 5 | ||||
-rw-r--r-- | clang/test/Analysis/misc-ps.m | 4 |
4 files changed, 9 insertions, 8 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 6453af7..aa17efb 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3896,10 +3896,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (Args.hasArg(options::OPT_municode)) CmdArgs.push_back("-DUNICODE"); - if (isa<AnalyzeJobAction>(JA)) { + if (isa<AnalyzeJobAction>(JA)) RenderAnalyzerOptions(Args, CmdArgs, Triple, Input); - CmdArgs.push_back("-D__clang_analyzer__"); - } // Enable compatilibily mode to avoid analyzer-config related errors. // Since we can't access frontend flags through hasArg, let's manually iterate diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 9da37e0..95d9f62 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -990,6 +990,10 @@ static void InitializePredefinedMacros(const TargetInfo &TI, else if (LangOpts.getStackProtector() == LangOptions::SSPReq) Builder.defineMacro("__SSP_ALL__", "3"); + // Define a macro that exists only when using the static analyzer. + if (FEOpts.ProgramAction == frontend::RunAnalysis) + Builder.defineMacro("__clang_analyzer__"); + if (LangOpts.FastRelaxedMath) Builder.defineMacro("__FAST_RELAXED_MATH__"); diff --git a/clang/test/Analysis/misc-driver.c b/clang/test/Analysis/misc-driver.c deleted file mode 100644 index f9e7fe3..0000000 --- a/clang/test/Analysis/misc-driver.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %clang --analyze %s - -#ifndef __clang_analyzer__ -#error __clang_analyzer__ not defined -#endif diff --git a/clang/test/Analysis/misc-ps.m b/clang/test/Analysis/misc-ps.m index 1cfd2eb..9a75cfd 100644 --- a/clang/test/Analysis/misc-ps.m +++ b/clang/test/Analysis/misc-ps.m @@ -2,6 +2,10 @@ // RUN: %clang_analyze_cc1 -triple i386-apple-darwin10 -analyzer-checker=core,alpha.core,osx.cocoa.AtSync -analyzer-store=region -verify -fblocks -Wno-unreachable-code -Wno-null-dereference -Wno-objc-root-class %s // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,alpha.core,osx.cocoa.AtSync -analyzer-store=region -verify -fblocks -Wno-unreachable-code -Wno-null-dereference -Wno-objc-root-class %s +#ifndef __clang_analyzer__ +#error __clang_analyzer__ not defined +#endif + typedef struct objc_ivar *Ivar; typedef struct objc_selector *SEL; typedef signed char BOOL; |