alexfh accepted this revision.
alexfh added a comment.
This revision is now accepted and ready to land.

LG



================
Comment at: clang-tidy/ClangTidy.cpp:490
+        CommandLineArguments AdjustedArgs = Args;
+        AdjustedArgs.emplace_back("-D__clang_analyzer__");
+        return AdjustedArgs;
----------------
zinovy.nis wrote:
> alexfh wrote:
> > I wonder whether we should instead reuse the logic in the frontend 
> > (tools/clang/lib/Frontend/InitPreprocessor.cpp:970). This could be done by 
> > overriding ActionFactory::runInvocation and setting 
> > FrontendOptions::ProgramAction to frontend::RunAnalysis there. WDYT?
> Thanks. I know about this code. But I'm not sure that we can reuse 
> RunAnalysys action hre - we need to parse AST only, but RunAnalysys does a 
> lot of other things we dont' need. Is it correct?
Clang tooling accepts the action from the client (in this case clang-tidy) and 
doesn't rely on frontend code that creates an action depending on the value of 
FrontendOptions::ProgramAction (clang::ExecuteCompilerInvocation). Thus, 
setting this frontend option will only trigger the logic in 
Frontend/InitPreprocessor.cpp that defines the macro.

On one hand, doing so will help clang-tidy to keep distance from whatever is 
done in the frontend to support static analyzer. On the other side, as your 
answer shows, this may not be a clear way to interact with that logic.

So I'm fine with either implementation.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D44906



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to