summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index 8f0c420b379..273e4b97b73 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
@@ -448,10 +448,9 @@ static int clangTidyMain(int argc, const char **argv) {
runClangTidy(Context, OptionsParser.getCompilations(), PathList, BaseFS,
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;
- }) != Errors.end();
+ bool FoundErrors = llvm::find_if(Errors, [](const ClangTidyError &E) {
+ return E.DiagLevel == ClangTidyError::Error;
+ }) != Errors.end();
const bool DisableFixes = Fix && FoundErrors && !FixErrors;
@@ -491,6 +490,19 @@ static int clangTidyMain(int argc, const char **argv) {
return WErrorCount;
}
+ if (FoundErrors) {
+ // TODO: Figure out when zero exit code should be used with -fix-errors:
+ // a. when a fix has been applied for an error
+ // b. when a fix has been applied for all errors
+ // c. some other condition.
+ // For now always returning zero when -fix-errors is used.
+ if (FixErrors)
+ return 0;
+ if (!Quiet)
+ llvm::errs() << "Found compiler error(s).\n";
+ return 1;
+ }
+
return 0;
}
OpenPOWER on IntegriCloud