clang-tools 6.0.0

Namespaces | Functions | Variables
ClangTidyMain.cpp File Reference
`#include "../ClangTidy.h"`
`#include "clang/Tooling/CommonOptionsParser.h"`
`#include "llvm/Support/Process.h"`
`#include "llvm/Support/TargetSelect.h"`
Include dependency graph for ClangTidyMain.cpp:

Go to the source code of this file.

## Namespaces
| clang
| clang::tidy

## Functions
static cl::OptionCategory | ClangTidyCategory ("clang-tidy options")
static cl::extrahelp | CommonHelp (CommonOptionsParser::HelpMessage)
static cl::extrahelp | ClangTidyHelp (R"( Configuration files: clang-tidy attempts to read configuration for each source file from a .clang-tidy file located in the closest parent directory of the source file. If any configuration options have a corresponding command-line option, command-line option takes precedence. The effective configuration can be inspected using -dump-config: $ clang-tidy -dump-config --- Checks: '-*,some-check' WarningsAsErrors: '' HeaderFilterRegex: '' AnalyzeTemporaryDtors: false FormatStyle: none User: user CheckOptions: - key: some-check.SomeOption value: 'some value' ... )")
static cl::opt< std::string > | Checks ("checks", cl::desc(R"( Comma-separated list of globs with optional '-' 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. This option's value is appended to the value of the 'Checks' option in .clang-tidy file, if any. )"), cl::init(""), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | WarningsAsErrors ("warnings-as-errors", cl::desc(R"( Upgrades warnings to errors. Same format as '-checks'. This option's value is appended to the value of the 'WarningsAsErrors' option in .clang-tidy file, if any. )"), cl::init(""), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | HeaderFilter ("header-filter", cl::desc(R"( Regular expression matching the names of the headers to output diagnostics from. Diagnostics from the main file of each translation unit are always displayed. Can be used together with -line-filter. This option overrides the 'HeaderFilter' option in .clang-tidy file, if any. )"), cl::init(""), cl::cat(ClangTidyCategory))
static cl::opt< bool > | SystemHeaders ("system-headers", cl::desc("Display the errors from system headers."), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | LineFilter ("line-filter", cl::desc(R"( List of files with line ranges to filter the warnings. Can be used together with -header-filter. The format of the list is a JSON array of objects: [ {"name":"file1.cpp","lines":[[1,3],[5,7]]}, {"name":"file2.h"} ] )"), cl::init(""), cl::cat(ClangTidyCategory))
static cl::opt< bool > | Fix ("fix", cl::desc(R"( Apply suggested fixes. Without -fix-errors clang-tidy will bail out if any compilation errors were found. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< bool > | FixErrors ("fix-errors", cl::desc(R"( Apply suggested fixes even if compilation errors were found. If compiler errors have attached fix-its, clang-tidy will apply them as well. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | FormatStyle ("format-style", cl::desc(R"( Style for formatting code around applied fixes: - 'none' (default) turns off formatting - 'file' (literally 'file', not a placeholder) uses .clang-format file in the closest parent directory - '{ <json> }' specifies options inline, e.g. -format-style='{BasedOnStyle: llvm, IndentWidth: 8}' - 'llvm', 'google', 'webkit', 'mozilla' See clang-format documentation for the up-to-date information about formatting styles and options. This option overrides the 'FormatStyle` option in .clang-tidy file, if any. )"), cl::init("none"), cl::cat(ClangTidyCategory))
static cl::opt< bool > | ListChecks ("list-checks", cl::desc(R"( List all enabled checks and exit. Use with -checks=* to list all available checks. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< bool > | ExplainConfig ("explain-config", cl::desc(R"( For each enabled check explains, where it is enabled, i.e. in clang-tidy binary, command line or a specific configuration file. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | Config ("config", cl::desc(R"( Specifies a configuration in YAML/JSON format: -config="{Checks:' *', CheckOptions:[{key:x, value:y}]}" When the value is empty, clang-tidy will attempt to find a file named .clang-tidy for each source file in its parent directories. )"), cl::init(""), cl::cat(ClangTidyCategory))
static cl::opt< bool > | DumpConfig ("dump-config", cl::desc(R"( Dumps configuration in the YAML format to stdout. This option can be used along with a file name (and '--' if the file is outside of a project with configured compilation database). The configuration used for this file will be printed. Use along with -checks=* to include configuration of all checks. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< bool > | EnableCheckProfile ("enable-check-profile", cl::desc(R"( Enable per-check timing profiles, and print a report to stderr. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< bool > | AnalyzeTemporaryDtors ("analyze-temporary-dtors", cl::desc(R"( Enable temporary destructor-aware analysis in clang-analyzer- checks. This option overrides the value read from a .clang-tidy file. )"), cl::init(false), cl::cat(ClangTidyCategory))
static cl::opt< std::string > | ExportFixes ("export-fixes", cl::desc(R"( YAML file to store suggested fixes in. The stored fixes can be applied to the input source code with clang-apply-replacements. )"), cl::value_desc("filename"), cl::cat(ClangTidyCategory))
static cl::opt< bool > | Quiet ("quiet", cl::desc(R"( Run clang-tidy in quiet mode. This suppresses printing statistics about ignored warnings and warnings treated as errors if the respective options are specified. )"), cl::init(false), cl::cat(ClangTidyCategory))
static void | clang::tidy::printStats (const ClangTidyStats &Stats)
static void | clang::tidy::printProfileData (const ProfileData &Profile, llvm::raw_ostream &OS)
static std::unique_ptr< ClangTidyOptionsProvider > | clang::tidy::createOptionsProvider ()
static int | clang::tidy::clangTidyMain (int argc, const char **argv)
int | main (int argc, const char **argv)

## Variables
const char | DefaultChecks []
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::CERTModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::BoostModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::BugproneModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::LLVMModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::CppCoreGuidelinesModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::FuchsiaModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::GoogleModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::AndroidModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::MiscModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::ModernizeModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::MPIModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::PerformanceModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::ReadabilityModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::ObjCModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED | clang::tidy::HICPPModuleAnchorDestination

## Function Documentation

## ◆ AnalyzeTemporaryDtors()

static cl::opt<bool> AnalyzeTemporaryDtors | ( | "analyze-temporary-dtors" | ,
|  | cl::desc(R"(Enable temporary destructor-aware analysis inclang-analyzer- checks.This option overrides the value read from a.clang-tidy file.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ Checks()

static cl::opt<std::string> Checks | ( | "checks" | ,
|  | cl::desc(R"(Comma-separated list of globs with optional '-'prefix. Globs are processed in order ofappearance in the list. Globs without '-'prefix add checks with matching names to theset, globs with the '-' prefix remove checkswith matching names from the set of enabledchecks. This option's value is appended to thevalue of the 'Checks' option in .clang-tidyfile, if any.)") | ,
|  | cl::init("") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain(), clang::tidy::ClangTidyASTConsumerFactory::CreateASTConsumer(), clang::tidy::ClangTidyASTConsumerFactory::getCheckOptions(), and IsNOLINTFound().

## ◆ ClangTidyCategory()

static cl::OptionCategory ClangTidyCategory | ( | "clang-tidy options" |  | ) |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ ClangTidyHelp()

static cl::extrahelp ClangTidyHelp | ( | R"(Configuration files: clang-tidy attempts to read configuration for each source file from a .clang-tidy file located in the closest parent directory of the source file. If any configuration options have a corresponding command-line option, command-line option takes precedence. The effective configuration can be inspected using -dump-config: $ clang-tidy -dump-config --- Checks: '-*,some-check' WarningsAsErrors: '' HeaderFilterRegex: '' AnalyzeTemporaryDtors: false FormatStyle: none User: user CheckOptions: - key: some-check.SomeOption value: 'some value' ...)" |  | ) |
| static

## ◆ CommonHelp()

static cl::extrahelp CommonHelp | ( | CommonOptionsParser::HelpMessage |  | ) |
| static

## ◆ Config()

static cl::opt<std::string> Config | ( | "config" | ,
|  | cl::desc(R"(Specifies a configuration in YAML/JSON format: -config="{Checks:' *', CheckOptions:[{key:x, value:y}]}"When the value is empty, clang-tidy willattempt to find a file named .clang-tidy foreach source file in its parent directories.)") | ,
|  | cl::init("") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ DumpConfig()

static cl::opt<bool> DumpConfig | ( | "dump-config" | ,
|  | cl::desc(R"(Dumps configuration in the YAML format tostdout. This option can be used along with afile name (and '--' if the file is outside of aproject with configured compilation database).The configuration used for this file will beprinted.Use along with -checks=* to includeconfiguration of all checks.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ EnableCheckProfile()

static cl::opt<bool> EnableCheckProfile | ( | "enable-check-profile" | ,
|  | cl::desc(R"(Enable per-check timing profiles, and print areport to stderr.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ ExplainConfig()

static cl::opt<bool> ExplainConfig | ( | "explain-config" | ,
|  | cl::desc(R"(For each enabled check explains, where it isenabled, i.e. in clang-tidy binary, commandline or a specific configuration file.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ ExportFixes()

static cl::opt<std::string> ExportFixes | ( | "export-fixes" | ,
|  | cl::desc(R"(YAML file to store suggested fixes in. Thestored fixes can be applied to the input sourcecode with clang-apply-replacements.)") | ,
|  | cl::value_desc("filename") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ Fix()

static cl::opt<bool> Fix | ( | "fix" | ,
|  | cl::desc(R"(Apply suggested fixes. Without -fix-errorsclang-tidy will bail out if any compilationerrors were found.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::readability::getNamespaceComment(), and clang::tidy::ClangTidyDiagnosticConsumer::HandleDiagnostic().

## ◆ FixErrors()

static cl::opt<bool> FixErrors | ( | "fix-errors" | ,
|  | cl::desc(R"(Apply suggested fixes even if compilationerrors were found. If compiler errors haveattached fix-its, clang-tidy will apply them aswell.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ FormatStyle()

static cl::opt<std::string> FormatStyle | ( | "format-style" | ,
|  | cl::desc(R"(Style for formatting code around applied fixes: - 'none' (default) turns off formatting - 'file' (literally 'file', not a placeholder) uses .clang-format file in the closest parent directory - '{ <json> }' specifies options inline, e.g. -format-style='{BasedOnStyle: llvm, IndentWidth: 8}' - 'llvm', 'google', 'webkit', 'mozilla'See clang-format documentation for the up-to-dateinformation about formatting styles and options.This option overrides the 'FormatStyle` option in.clang-tidy file, if any.)") | ,
|  | cl::init("none") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ HeaderFilter()

static cl::opt<std::string> HeaderFilter | ( | "header-filter" | ,
|  | cl::desc(R"(Regular expression matching the names of theheaders to output diagnostics from. Diagnosticsfrom the main file of each translation unit arealways displayed.Can be used together with -line-filter.This option overrides the 'HeaderFilter' optionin .clang-tidy file, if any.)") | ,
|  | cl::init("") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ LineFilter()

static cl::opt<std::string> LineFilter | ( | "line-filter" | ,
|  | cl::desc(R"(List of files with line ranges to filter thewarnings. Can be used together with-header-filter. The format of the list is aJSON array of objects: [ {"name":"file1.cpp","lines":[[1,3],[5,7]]}, {"name":"file2.h"} ])") | ,
|  | cl::init("") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ ListChecks()

static cl::opt<bool> ListChecks | ( | "list-checks" | ,
|  | cl::desc(R"(List all enabled checks and exit. Use with-checks=* to list all available checks.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ main()

int main | ( | int | argc,
|  | const char ** | argv
| ) |  |

Definition at line 421 of file ClangTidyMain.cpp.

## ◆ Quiet()

static cl::opt<bool> Quiet | ( | "quiet" | ,
|  | cl::desc(R"(Run clang-tidy in quiet mode. This suppressesprinting statistics about ignored warnings andwarnings treated as errors if the respectiveoptions are specified.)") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

## ◆ SystemHeaders()

static cl::opt<bool> SystemHeaders | ( | "system-headers" | ,
|  | cl::desc("Display the errors from system headers.") | ,
|  | cl::init(false) | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## ◆ WarningsAsErrors()

static cl::opt<std::string> WarningsAsErrors | ( | "warnings-as-errors" | ,
|  | cl::desc(R"(Upgrades warnings to errors. Same format as'-checks'.This option's value is appended to the value ofthe 'WarningsAsErrors' option in .clang-tidyfile, if any.)") | ,
|  | cl::init("") | ,
|  | cl::cat(ClangTidyCategory) |
| ) |  |
| static

Referenced by clang::tidy::clangTidyMain().

## Variable Documentation

## ◆ DefaultChecks

const char DefaultChecks[]

Initial value:
=
"clang-diagnostic-*,"
"clang-analyzer-*"

Definition at line 33 of file ClangTidyMain.cpp.

Referenced by clang::tidy::clangTidyMain().