r372679 - [static analyzer] Define __clang_analyzer__ macro in driver
Jan Korous via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 23 20:03:23 PDT 2019
Well, those were not fixups in the sense that I was aware of anything broken...
Anyway, I don't see a quick fix for clang-tidy so I'm going to revert.
> On Sep 23, 2019, at 8:00 PM, Nico Weber <thakis at chromium.org> wrote:
>
> Even after all the fixup attempts, there's still a failing clang-tools-extra test:
>
> ninja: Entering directory `out/gn'
> [0/2] ACTION //clang-tools-extra/test:check-clang-tools(//llvm/utils/gn/build/toolchain:unix)
> -- Testing: 787 tests, 64 threads --
> Testing: 0 .. 10
> FAIL: Clang Tools :: clang-tidy/clang-tidy-__clang_analyzer__macro.cpp (112 of 787)
> ******************** TEST 'Clang Tools :: clang-tidy/clang-tidy-__clang_analyzer__macro.cpp' FAILED ********************
> Script:
> --
> : 'RUN: at line 1'; clang-tidy /usr/local/google/home/thakis/src/llvm-project/clang-tools-extra/test/clang-tidy/clang-tidy-__clang_analyzer__macro.cpp -checks=-*,modernize-use-nullptr -- | count 0
> --
> Exit Code: 1
>
> Command Output (stderr):
> --
> 1 error generated.
> Error while processing /usr/local/google/home/thakis/src/llvm-project/clang-tools-extra/test/clang-tidy/clang-tidy-__clang_analyzer__macro.cpp.
> Found compiler error(s).
> Expected 0 lines, got 3.
>
> --
>
> ********************
> Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
> Testing Time: 4.11s
> ********************
> Failing Tests (1):
> Clang Tools :: clang-tidy/clang-tidy-__clang_analyzer__macro.cpp
>
>
> On Mon, Sep 23, 2019 at 8:31 PM Jan Korous via cfe-commits <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
> Author: jkorous
> Date: Mon Sep 23 17:33:47 2019
> New Revision: 372679
>
> URL: http://llvm.org/viewvc/llvm-project?rev=372679&view=rev <http://llvm.org/viewvc/llvm-project?rev=372679&view=rev>
> Log:
> [static analyzer] Define __clang_analyzer__ macro in driver
>
> Differential Revision: https://reviews.llvm.org/D67938 <https://reviews.llvm.org/D67938>
>
> Added:
> 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=372679&r1=372678&r2=372679&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=372679&r1=372678&r2=372679&view=diff>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Mon Sep 23 17:33:47 2019
> @@ -3896,8 +3896,10 @@ 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=372679&r1=372678&r2=372679&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=372679&r1=372678&r2=372679&view=diff>
> ==============================================================================
> --- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original)
> +++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Mon Sep 23 17:33:47 2019
> @@ -990,10 +990,6 @@ 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__");
>
>
> Added: cfe/trunk/test/Analysis/misc-driver.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-driver.c?rev=372679&view=auto <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-driver.c?rev=372679&view=auto>
> ==============================================================================
> --- cfe/trunk/test/Analysis/misc-driver.c (added)
> +++ cfe/trunk/test/Analysis/misc-driver.c Mon Sep 23 17:33:47 2019
> @@ -0,0 +1,5 @@
> +// 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=372679&r1=372678&r2=372679&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-ps.m?rev=372679&r1=372678&r2=372679&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Analysis/misc-ps.m (original)
> +++ cfe/trunk/test/Analysis/misc-ps.m Mon Sep 23 17:33:47 2019
> @@ -2,10 +2,6 @@
> // 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;
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190923/1adba6da/attachment.html>
More information about the cfe-commits
mailing list