summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2017-04-06 13:41:29 +0000
committerAlexander Kornienko <alexfh@google.com>2017-04-06 13:41:29 +0000
commit2561320f80bae9ef2ee4548001ce5b41c8396324 (patch)
tree650dbf488b9ee25acc45b1a1cc70988280dc3739 /clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
parenta9832134597af6f5104806385445cdeb1f9901ed (diff)
downloadbcm5719-llvm-2561320f80bae9ef2ee4548001ce5b41c8396324.tar.gz
bcm5719-llvm-2561320f80bae9ef2ee4548001ce5b41c8396324.zip
[clang-tidy] Add FormatStyle configuration option.
llvm-svn: 299649
Diffstat (limited to 'clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index 95275f619db..1114ff3d142 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
@@ -289,6 +289,7 @@ static std::unique_ptr<ClangTidyOptionsProvider> createOptionsProvider() {
DefaultOptions.HeaderFilterRegex = HeaderFilter;
DefaultOptions.SystemHeaders = SystemHeaders;
DefaultOptions.AnalyzeTemporaryDtors = AnalyzeTemporaryDtors;
+ DefaultOptions.FormatStyle = FormatStyle;
DefaultOptions.User = llvm::sys::Process::GetEnv("USER");
// USERNAME is used on Windows.
if (!DefaultOptions.User)
@@ -305,6 +306,8 @@ static std::unique_ptr<ClangTidyOptionsProvider> createOptionsProvider() {
OverrideOptions.SystemHeaders = SystemHeaders;
if (AnalyzeTemporaryDtors.getNumOccurrences() > 0)
OverrideOptions.AnalyzeTemporaryDtors = AnalyzeTemporaryDtors;
+ if (FormatStyle.getNumOccurrences() > 0)
+ OverrideOptions.FormatStyle = FormatStyle;
if (!Config.empty()) {
if (llvm::ErrorOr<ClangTidyOptions> ParsedConfig =
@@ -327,7 +330,8 @@ static int clangTidyMain(int argc, const char **argv) {
CommonOptionsParser OptionsParser(argc, argv, ClangTidyCategory,
cl::ZeroOrMore);
- auto OptionsProvider = createOptionsProvider();
+ auto OwningOptionsProvider = createOptionsProvider();
+ auto *OptionsProvider = OwningOptionsProvider.get();
if (!OptionsProvider)
return 1;
@@ -396,10 +400,10 @@ static int clangTidyMain(int argc, const char **argv) {
ProfileData Profile;
- std::vector<ClangTidyError> Errors;
- ClangTidyStats Stats =
- runClangTidy(std::move(OptionsProvider), OptionsParser.getCompilations(),
- PathList, &Errors, EnableCheckProfile ? &Profile : nullptr);
+ ClangTidyContext Context(std::move(OwningOptionsProvider));
+ runClangTidy(Context, OptionsParser.getCompilations(), PathList,
+ EnableCheckProfile ? &Profile : nullptr);
+ ArrayRef<ClangTidyError> Errors = Context.getErrors();
bool FoundErrors =
std::find_if(Errors.begin(), Errors.end(), [](const ClangTidyError &E) {
return E.DiagLevel == ClangTidyError::Error;
@@ -410,8 +414,7 @@ static int clangTidyMain(int argc, const char **argv) {
unsigned WErrorCount = 0;
// -fix-errors implies -fix.
- handleErrors(Errors, (FixErrors || Fix) && !DisableFixes, FormatStyle,
- WErrorCount);
+ handleErrors(Context, (FixErrors || Fix) && !DisableFixes, WErrorCount);
if (!ExportFixes.empty() && !Errors.empty()) {
std::error_code EC;
@@ -424,7 +427,7 @@ static int clangTidyMain(int argc, const char **argv) {
}
if (!Quiet) {
- printStats(Stats);
+ printStats(Context.getStats());
if (DisableFixes)
llvm::errs()
<< "Found compiler errors, but -fix-errors was not specified.\n"
OpenPOWER on IntegriCloud