Update clang-tidy documentation.

Summary:
Updated the help message, updated description of -checks=, removed
mentions of -disable-checks.

Reviewers: klimek

Reviewed By: klimek

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3793

llvm-svn: 208979
This commit is contained in:
Alexander Kornienko 2014-05-16 13:07:18 +00:00
parent 5a52b9f139
commit 3ab3467cef
2 changed files with 54 additions and 28 deletions

View File

@ -34,29 +34,34 @@ const char DefaultChecks[] =
"-llvm-namespace-comment," // Not complete. "-llvm-namespace-comment," // Not complete.
"-google-*,"; // Doesn't apply to LLVM. "-google-*,"; // Doesn't apply to LLVM.
static cl::opt<std::string> static cl::opt<std::string>
Checks("checks", Checks("checks", cl::desc("Comma-separated list of globs with optional '-'\n"
cl::desc("Comma-separated list of positive and negative globs matching\n" "prefix. Globs are processed in order of appearance\n"
"the names of the checks to be run."), "in the list. Globs without '-' prefix add checks\n"
"with matching names to the set, globs with the '-'\n"
"prefix remove checks with matching names from the\n"
"set of enabled checks."),
cl::init(""), cl::cat(ClangTidyCategory)); cl::init(""), cl::cat(ClangTidyCategory));
static cl::opt<std::string> HeaderFilter( static cl::opt<std::string>
"header-filter", HeaderFilter("header-filter",
cl::desc("Regular expression matching the names of the headers to output\n" cl::desc("Regular expression matching the names of the\n"
"diagnostics from. Diagnostics from the main file of each\n" "headers to output diagnostics from.\n"
"translation unit are always displayed."), "Diagnostics from the main file of each\n"
cl::init(""), cl::cat(ClangTidyCategory)); "translation unit are always displayed."),
cl::init(""), cl::cat(ClangTidyCategory));
static cl::opt<bool> Fix("fix", cl::desc("Fix detected errors if possible."), static cl::opt<bool> Fix("fix", cl::desc("Fix detected errors if possible."),
cl::init(false), cl::cat(ClangTidyCategory)); cl::init(false), cl::cat(ClangTidyCategory));
static cl::opt<bool> ListChecks("list-checks", static cl::opt<bool>
cl::desc("List all enabled checks and exit."), ListChecks("list-checks",
cl::init(false), cl::cat(ClangTidyCategory)); cl::desc("List all enabled checks and exit. Use with\n"
"-checks='*' to list all available checks."),
cl::init(false), cl::cat(ClangTidyCategory));
static cl::opt<bool> AnalyzeTemporaryDtors( static cl::opt<bool>
"analyze-temporary-dtors", AnalyzeTemporaryDtors("analyze-temporary-dtors",
cl::desc("Enable temporary destructor-aware analysis in clang-analyzer- " cl::desc("Enable temporary destructor-aware analysis in\n"
"checks."), "clang-analyzer- checks."),
cl::init(false), cl::init(false), cl::cat(ClangTidyCategory));
cl::cat(ClangTidyCategory));
static void printStats(const clang::tidy::ClangTidyStats &Stats) { static void printStats(const clang::tidy::ClangTidyStats &Stats) {
unsigned ErrorsIgnored = Stats.ErrorsIgnoredNOLINT + unsigned ErrorsIgnored = Stats.ErrorsIgnoredNOLINT +

View File

@ -23,12 +23,21 @@ compilation options on the command line after ``--``:
:program:`clang-tidy` has its own checks and can also run Clang static analyzer :program:`clang-tidy` has its own checks and can also run Clang static analyzer
checks. Each check has a name and the checks to run can be chosen using the checks. Each check has a name and the checks to run can be chosen using the
``-checks=`` and ``-disable-checks=`` options. :program:`clang-tidy` selects the ``-checks=`` option, which specifies a comma-separated list of positive and
checks with names matching the regular expression specified by the ``-checks=`` negative (prefixed with ``-``) globs. Positive globs add subsets of checks,
option and not matching the one specified by the ``-disable-checks=`` option. negative globs remove them. For example,
The ``-list-checks`` option lists all the enabled checks. It can be used with or .. code-block:: bash
without ``-checks=`` and/or ``-disable-checks=``.
$ clang-tidy test.cpp -checks='-*,clang-analyzer-*,-clang-analyzer-alpha*'
will disable all default checks (``-*``) and enable all ``clang-analyzer-*``
checks except for ``clang-analyzer-alpha*`` ones.
The ``-list-checks`` option lists all the enabled checks. When used without
``-checks=``, it shows checks enabled by default. Use ``-checks='*'`` to see all
available checks or with any other value of ``-checks=`` to see which checks are
enabled by this value.
There are currently three groups of checks: There are currently three groups of checks:
@ -38,6 +47,9 @@ There are currently three groups of checks:
* Checks related to the Google coding conventions have names starting with * Checks related to the Google coding conventions have names starting with
``google-``. ``google-``.
* Checks with names starting with ``misc-`` don't relate to any particular
coding style.
* Clang static analyzer checks are named starting with ``clang-analyzer-``. * Clang static analyzer checks are named starting with ``clang-analyzer-``.
@ -63,12 +75,21 @@ An overview of all the command-line options:
clang-tidy options: clang-tidy options:
-checks=<string> - Regular expression matching the names of -analyze-temporary-dtors - Enable temporary destructor-aware analysis in
the checks to be run. clang-analyzer- checks.
-disable-checks=<string> - Regular expression matching the names of -checks=<string> - Comma-separated list of globs with optional '-'
the checks to disable. prefix. Globs are processed in order of appearance
in the list. Globs without '-' prefix add checks
with matching names to the set, globs with the '-'
prefix remove checks with matching names from the
set of enabled checks.
-fix - Fix detected errors if possible. -fix - Fix detected errors if possible.
-list-checks - List all enabled checks and exit. -header-filter=<string> - Regular expression matching the names of the
headers to output diagnostics from.
Diagnostics from the main file of each
translation unit are always displayed.
-list-checks - List all enabled checks and exit. Use with
-checks='*' to list all available checks.
-p=<string> - Build path -p=<string> - Build path
-p <build-path> is used to read a compile command database. -p <build-path> is used to read a compile command database.