The last part of the parameter list the function takes is like parameters to printf. mark it as such. An existing call that formats a value of type size_t using "%d" was found by the compiler with the help with this annotation; fix it. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- run-command.c | 3 ++- trace2.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/run-command.c b/run-command.c index 1b821042b4..ec2c12e98b 100644 --- a/run-command.c +++ b/run-command.c @@ -1753,7 +1753,8 @@ void run_processes_parallel(const struct run_process_parallel_opts *opts) if (do_trace2) trace2_region_enter_printf(tr2_category, tr2_label, NULL, - "max:%d", opts->processes); + "max:%"PRIuMAX, + (uintmax_t)opts->processes); pp_init(&pp, opts, &pp_sig); while (1) { diff --git a/trace2.h b/trace2.h index 1f0669bbd2..19e04bf040 100644 --- a/trace2.h +++ b/trace2.h @@ -390,6 +390,7 @@ void trace2_region_enter_printf_va_fl(const char *file, int line, trace2_region_enter_printf_va_fl(__FILE__, __LINE__, (category), \ (label), (repo), (fmt), (ap)) +__attribute__((format (printf, 6, 7))) void trace2_region_enter_printf_fl(const char *file, int line, const char *category, const char *label, const struct repository *repo, -- 2.45.2-445-g1b76f06508