r372687 - Revert "[static analyzer] Define __clang_analyzer__ macro in driver"

Jan Korous via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 23 20:21:23 PDT 2019


Author: jkorous
Date: Mon Sep 23 20:21:22 2019
New Revision: 372687

URL: http://llvm.org/viewvc/llvm-project?rev=372687&view=rev
Log:
Revert "[static analyzer] Define __clang_analyzer__ macro in driver"

This reverts commit fbd13570b0d5f92ef2cf6bcfe7cc2f6178500187.

Removed:
    cfe/trunk/test/Analysis/misc-driver.c
Modified:
    cfe/trunk/lib/Driver/ToolChains/Clang.cpp
    cfe/trunk/lib/Frontend/InitPreprocessor.cpp
    cfe/trunk/test/Analysis/misc-ps.m

Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=372687&r1=372686&r2=372687&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Mon Sep 23 20:21:22 2019
@@ -3896,10 +3896,8 @@ void Clang::ConstructJob(Compilation &C,
   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

Modified: cfe/trunk/lib/Frontend/InitPreprocessor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=372687&r1=372686&r2=372687&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original)
+++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Mon Sep 23 20:21:22 2019
@@ -990,6 +990,10 @@ static void InitializePredefinedMacros(c
   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__");
 

Removed: cfe/trunk/test/Analysis/misc-driver.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-driver.c?rev=372686&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/misc-driver.c (original)
+++ cfe/trunk/test/Analysis/misc-driver.c (removed)
@@ -1,5 +0,0 @@
-// RUN: %clang --analyze %s
-
-#ifndef __clang_analyzer__
-#error __clang_analyzer__ not defined
-#endif

Modified: cfe/trunk/test/Analysis/misc-ps.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-ps.m?rev=372687&r1=372686&r2=372687&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/misc-ps.m (original)
+++ cfe/trunk/test/Analysis/misc-ps.m Mon Sep 23 20:21:22 2019
@@ -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;




More information about the cfe-commits mailing list