diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py index 6bd05531333ba9..a26d2144b7f970 100755 --- a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py +++ b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py @@ -160,6 +160,10 @@ def main(): 'command line.') parser.add_argument('-quiet', action='store_true', default=False, help='Run clang-tidy in quiet mode') + parser.add_argument('-load', dest='plugins', + action='append', default=[], + help='Load the specified plugin in clang-tidy.') + clang_tidy_args = [] argv = sys.argv[1:] if '--' in argv: @@ -233,6 +237,8 @@ def main(): common_clang_tidy_args.append('-extra-arg=%s' % arg) for arg in args.extra_arg_before: common_clang_tidy_args.append('-extra-arg-before=%s' % arg) + for plugin in args.plugins: + common_clang_tidy_args.append('-load=%s' % plugin) for name in lines_by_file: line_filter_json = json.dumps( 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 9497e0b9f52d39..fdfe5a07bc551b 100755 --- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py @@ -92,7 +92,7 @@ def make_absolute(f, directory): def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path, header_filter, allow_enabling_alpha_checkers, extra_arg, extra_arg_before, quiet, config_file_path, - config, line_filter, use_color): + config, line_filter, use_color, plugins): """Gets a command line for clang-tidy.""" start = [clang_tidy_binary] if allow_enabling_alpha_checkers: @@ -126,6 +126,8 @@ def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path, start.append('--config-file=' + config_file_path) elif config: start.append('-config=' + config) + for plugin in plugins: + start.append('-load=' + plugin) start.append(f) return start @@ -196,7 +198,8 @@ def run_tidy(args, clang_tidy_binary, tmpdir, build_path, queue, lock, args.allow_enabling_alpha_checkers, args.extra_arg, args.extra_arg_before, args.quiet, args.config_file, args.config, - args.line_filter, args.use_color) + args.line_filter, args.use_color, + args.plugins) proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = proc.communicate() @@ -280,6 +283,9 @@ def main(): 'command line.') parser.add_argument('-quiet', action='store_true', help='Run clang-tidy in quiet mode') + parser.add_argument('-load', dest='plugins', + action='append', default=[], + help='Load the specified plugin in clang-tidy.') args = parser.parse_args() db_path = 'compile_commands.json' @@ -306,7 +312,8 @@ def main(): args.allow_enabling_alpha_checkers, args.extra_arg, args.extra_arg_before, args.quiet, args.config_file, args.config, - args.line_filter, args.use_color) + args.line_filter, args.use_color, + args.plugins) invocation.append('-list-checks') invocation.append('-') if args.quiet: