NoQ added a comment.

In https://reviews.llvm.org/D46187#1089087, @lebedev.ri wrote:

> > I believe we could also benefit from a method of extracting the analyzer's 
> > `clang -cc1` run-line from clang-tidy. This would allow arbitrary debugging 
> > over a single analyzer invocation.
>
> I'm not really following, sorry.




In https://reviews.llvm.org/D46187#1091309, @alexfh wrote:

> In https://reviews.llvm.org/D46187#1088722, @NoQ wrote:
>
> > I believe we could also benefit from a method of extracting the analyzer's 
> > `clang -cc1` run-line from clang-tidy.
>
>
> It should be possible now using `clang-tidy -extra-arg=-v some/file.cpp` (or 
> `clang-check -extra-arg=-v ...`).


Nice!

So essentially @lebedev.ri could do `clang-check -analyze -extra-arg=-v 
../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp`, then copy the printed `clang 
Invocation:` and append `-analyzer-checker debug.ViewCallGraph` to it.

Or maybe even something as horrible as

  clang-check -analyze -extra-arg=-Xclang -extra-arg=-analyzer-checker 
-extra-arg=-Xclang -extra-arg=debug.ViewCallGraph 
../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

And it sounds like the roughly right level of verbosity for discriminating 
between a user-facing feature and a definitely-not-user-facing feature.

I don't mind having a separate flag specifically for enabling debug checkers, 
but when it comes to actual debugging of the analyzer, debug checkers are 
usually not sufficient. Playing with other flags and `-analyzer-config` options 
is very often necessary, so if i was to debug the analyzer from clang-tidy, 
most of the time i'd have preferred to do the `-v` trick.


Repository:
  rC Clang

https://reviews.llvm.org/D46187



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D46187: [Analyzer]... Artem Dergachev via Phabricator via cfe-commits

Reply via email to