https://github.com/amgebauer created https://github.com/llvm/llvm-project/pull/69453
Adding an additional parameter to run_clang_tidy.py to accept a directory where the clang-tidy fixes are saved to. This directory can then be used to run `clang-apply-replacements`. >From fd908df80b14933c849e498769cff6152276c2c3 Mon Sep 17 00:00:00 2001 From: Amadeus Gebauer <amadeus.geba...@tum.de> Date: Wed, 18 Oct 2023 14:02:44 +0200 Subject: [PATCH] [run-clang-tidy] Add option -export-directory --- .../clang-tidy/tool/run-clang-tidy.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py index 312d9241cfa57c5..b8d482809e293a5 100755 --- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py @@ -372,6 +372,11 @@ def main(): default=None, help="Upgrades warnings to errors. Same format as " "'-checks'", ) + parser.add_argument( + "-export-directory", + default=None, + help="Path to the export directory. Within this directory, a file with the fixes will be created for every compilation unit.", + ) args = parser.parse_args() db_path = "compile_commands.json" @@ -384,15 +389,17 @@ def main(): clang_tidy_binary = find_binary(args.clang_tidy_binary, "clang-tidy", build_path) - tmpdir = None if args.fix: clang_apply_replacements_binary = find_binary( args.clang_apply_replacements_binary, "clang-apply-replacements", build_path ) - if args.fix or (yaml and args.export_fixes): + tmpdir = args.export_directory + if tmpdir is None and (args.fix or (yaml and args.export_fixes)): tmpdir = tempfile.mkdtemp() + delete_temporary_directory = args.export_directory is None and tmpdir is not None + try: invocation = get_tidy_invocation( "", @@ -474,7 +481,7 @@ def main(): # This is a sad hack. Unfortunately subprocess goes # bonkers with ctrl-c and we start forking merrily. print("\nCtrl-C detected, goodbye.") - if tmpdir: + if tmpdir and delete_temporary_directory: shutil.rmtree(tmpdir) os.kill(0, 9) @@ -496,7 +503,7 @@ def main(): traceback.print_exc() return_code = 1 - if tmpdir: + if tmpdir and delete_temporary_directory: shutil.rmtree(tmpdir) sys.exit(return_code) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits