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.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index 030e4b16398..d49994d2f41 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
@@ -78,6 +78,13 @@ AnalyzeTemporaryDtors("analyze-temporary-dtors",
"clang-analyzer- checks."),
cl::init(false), cl::cat(ClangTidyCategory));
+static cl::opt<std::string> ExportFixes(
+ "export-fixes",
+ cl::desc("YAML file to store suggested fixes in. The\n"
+ "stored fixes can be applied to the input source\n"
+ "code with clang-apply-replacements."),
+ cl::value_desc("filename"), cl::cat(ClangTidyCategory));
+
static void printStats(const clang::tidy::ClangTidyStats &Stats) {
if (Stats.errorsIgnored()) {
llvm::errs() << "Suppressed " << Stats.errorsIgnored() << " warnings (";
@@ -147,6 +154,16 @@ int main(int argc, const char **argv) {
OptionsParser.getSourcePathList(), &Errors);
clang::tidy::handleErrors(Errors, Fix);
+ if (!ExportFixes.empty()) {
+ std::error_code EC;
+ llvm::raw_fd_ostream OS(ExportFixes, EC, llvm::sys::fs::F_None);
+ if (EC) {
+ llvm::errs() << "Error opening output file: " << EC.message() << '\n';
+ return 1;
+ }
+ clang::tidy::exportReplacements(Errors, OS);
+ }
+
printStats(Stats);
return 0;
}
OpenPOWER on IntegriCloud