<div dir="ltr">Sorry folks, please ignore this email.  I'm working on the GitHub email hooks.  My apologies for any confusion.<div><br></div><div>-Mike</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 16, 2019 at 7:07 PM Jan Korous via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
    Author: Jan Korous<br>
    Date: 2019-09-24T03:21:22Z<br>
    New Revision: b26e9e2a8f1865711c4e9b9aa7be712589169b3d<br>
<br>
    URL: <a href="https://github.com/llvm/llvm-project/commit/b26e9e2a8f1865711c4e9b9aa7be712589169b3d" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/b26e9e2a8f1865711c4e9b9aa7be712589169b3d</a><br>
    DIFF: <a href="https://github.com/llvm/llvm-project/commit/b26e9e2a8f1865711c4e9b9aa7be712589169b3d.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/b26e9e2a8f1865711c4e9b9aa7be712589169b3d.diff</a><br>
<br>
    LOG: Revert "[static analyzer] Define __clang_analyzer__ macro in driver"<br>
<br>
This reverts commit fbd13570b0d5f92ef2cf6bcfe7cc2f6178500187.<br>
<br>
llvm-svn: 372687<br>
<br>
    Added: <br>
<br>
<br>
    Modified: <br>
       clang/lib/Driver/ToolChains/Clang.cpp<br>
   clang/lib/Frontend/InitPreprocessor.cpp<br>
   clang/test/Analysis/misc-ps.m<br>
<br>
    Removed: <br>
       clang/test/Analysis/misc-driver.c<br>
<br>
<br>
    ################################################################################<br>
diff  --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp<br>
index 6453af73b0a5..aa17efbee32b 100644<br>
--- a/clang/lib/Driver/ToolChains/Clang.cpp<br>
+++ b/clang/lib/Driver/ToolChains/Clang.cpp<br>
@@ -3896,10 +3896,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,<br>
   if (Args.hasArg(options::OPT_municode))<br>
     CmdArgs.push_back("-DUNICODE");<br>
<br>
-  if (isa<AnalyzeJobAction>(JA)) {<br>
+  if (isa<AnalyzeJobAction>(JA))<br>
     RenderAnalyzerOptions(Args, CmdArgs, Triple, Input);<br>
-    CmdArgs.push_back("-D__clang_analyzer__");<br>
-  }<br>
<br>
   // Enable compatilibily mode to avoid analyzer-config related errors.<br>
   // Since we can't access frontend flags through hasArg, let's manually iterate<br>
<br>
diff  --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp<br>
index 9da37e0a446d..95d9f62c6087 100644<br>
--- a/clang/lib/Frontend/InitPreprocessor.cpp<br>
+++ b/clang/lib/Frontend/InitPreprocessor.cpp<br>
@@ -990,6 +990,10 @@ static void InitializePredefinedMacros(const TargetInfo &TI,<br>
   else if (LangOpts.getStackProtector() == LangOptions::SSPReq)<br>
     Builder.defineMacro("__SSP_ALL__", "3");<br>
<br>
+  // Define a macro that exists only when using the static analyzer.<br>
+  if (FEOpts.ProgramAction == frontend::RunAnalysis)<br>
+    Builder.defineMacro("__clang_analyzer__");<br>
+<br>
   if (LangOpts.FastRelaxedMath)<br>
     Builder.defineMacro("__FAST_RELAXED_MATH__");<br>
<br>
<br>
diff  --git a/clang/test/Analysis/misc-driver.c b/clang/test/Analysis/misc-driver.c<br>
deleted file mode 100644<br>
index f9e7fe373d3c..000000000000<br>
--- a/clang/test/Analysis/misc-driver.c<br>
+++ /dev/null<br>
@@ -1,5 +0,0 @@<br>
-// RUN: %clang --analyze %s<br>
-<br>
-#ifndef __clang_analyzer__<br>
-#error __clang_analyzer__ not defined<br>
-#endif<br>
<br>
diff  --git a/clang/test/Analysis/misc-ps.m b/clang/test/Analysis/misc-ps.m<br>
index 1cfd2eb1caf2..9a75cfd87b62 100644<br>
--- a/clang/test/Analysis/misc-ps.m<br>
+++ b/clang/test/Analysis/misc-ps.m<br>
@@ -2,6 +2,10 @@<br>
 // 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<br>
 // 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<br>
<br>
+#ifndef __clang_analyzer__<br>
+#error __clang_analyzer__ not defined<br>
+#endif<br>
+<br>
 typedef struct objc_ivar *Ivar;<br>
 typedef struct objc_selector *SEL;<br>
 typedef signed char BOOL;<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>