diff options
-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 6453af73b0a..aa17efbee32 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 9da37e0a446..95d9f62c608 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 f9e7fe373d3..00000000000 --- 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 1cfd2eb1caf..9a75cfd87b6 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; |