config.mak.dev: re-enable -Wformat-zero-length
commit7329d94be72654f7f211e1bfa5ce3dd6fd2dc1fa
authorJeff King <peff@peff.net>
Thu, 27 Feb 2020 23:54:45 +0000 (27 18:54 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Feb 2020 16:39:45 +0000 (28 08:39 -0800)
tree7896ef993402c8bbe21e49596470b623f0fa8b77
parent7daf4f2ac7b8fdddf6d8e128dc30e7daec7abad2
config.mak.dev: re-enable -Wformat-zero-length

We recently triggered some -Wformat-zero-length warnings in the code,
but no developers noticed because we suppress that warning in builds
with the DEVELOPER=1 Makefile knob set. But we _don't_ suppress them in
a non-developer build (and they're part of -Wall). So even though
non-developers probably aren't using -Werror, they see the annoying
warnings when they build.

We've had back and forth discussion over the years on whether this
warning is useful or not. In most cases we've seen, it's not true that
the call is a mistake, since we're using its side effects (like adding a
newline status_printf_ln()) or writing an empty string to a destination
which is handled by the function (as in write_file()). And so we end up
working around it in the source by passing ("%s", "").

There's more discussion in the subthread starting at:

  https://lore.kernel.org/git/xmqqtwaod7ly.fsf@gitster.mtv.corp.google.com/

The short of it is that we probably can't just disable the warning for
everybody because of portability issues. And ignoring it for developers
puts us in the situation we're in now, where non-dev builds are annoyed.

Since the workaround is both rarely needed and fairly straight-forward,
let's just commit to doing it as necessary, and re-enable the warning.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.mak.dev