[PATCH] D46188: [clang-tidy] Add a flag to enable debug checkers

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 8 05:42:52 PDT 2018


lebedev.ri added subscribers: george.karpenkov, NoQ, dcoughlin.
lebedev.ri added a comment.

In https://reviews.llvm.org/D46188#1091221, @alexfh wrote:

> I don't think debug CSA checkers belong to clang-tidy. If one needs to dump CFG, they are probably doing quite involved stuff already, so going a step further and running `clang -cc1 -analyze` would not be difficult. The motivation for exposing alpha checkers (letting users test them and provide feedback) doesn't work for debug checkers.


There is word play here.
They are debug CSA checkers. But not all of them are debugging the CSA. Many of them are just utility checkers that could be just as easily a clang-tidy debug/utility checkers:

  $ scan-build -h | grep "   debug."
     debug.AnalysisOrder             Print callbacks that are called during analysis in order       <- for CSA debugging
     debug.ConfigDumper              Dump config table                                              <- for CSA debugging
     debug.DumpCFG                   Display Control-Flow Graphs                                    <- 
     debug.DumpCallGraph             Display Call Graph                                             <- 
     debug.DumpCalls                 Print calls as they are traversed by the engine                <- for CSA debugging
     debug.DumpDominators            Print the dominance tree for a given CFG                       <- 
     debug.DumpLiveVars              Print results of live variable analysis                        <- 
     debug.DumpTraversal             Print branch conditions as they are traversed by the engine    <- for CSA debugging
     debug.ExprInspection            Check the analyzer's understanding of expressions              <- for CSA debugging
     debug.Stats                     Emit warnings with analyzer statistics                         <- for CSA debugging
     debug.TaintTest                 Mark tainted symbols as such.                                  <- for CSA debugging
     debug.ViewCFG                   View Control-Flow Graphs using GraphViz                        <- 
     debug.ViewCallGraph             View Call Graph using GraphViz                                 <- 
     debug.ViewExplodedGraph         View Exploded Graphs using GraphViz                            <- 

(CC people from https://reviews.llvm.org/D46187: @dcoughlin @george.karpenkov @NoQ)


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D46188





More information about the cfe-commits mailing list