]> git.ipfire.org Git - thirdparty/git.git/commit - git-compat-util.h
git-compat-util.h: use "deprecated" for UNUSED variables
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 25 Aug 2022 17:09:49 +0000 (19:09 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Sep 2022 17:49:49 +0000 (10:49 -0700)
commit9ff7eb8c8882c477919acfe28a3d68bb58adf2ea
tree1c7a97f2958eea5c6e3e0dac7741fd505fac63b8
parent5cf88fd8b059235b21ee2f72b17bf1f421a9c4e7
git-compat-util.h: use "deprecated" for UNUSED variables

As noted in the preceding commit our "UNUSED" macro was no longer
protecting against actual use of the "unused" variables, which it was
previously doing by renaming the variable.

Let's instead use the "deprecated" attribute to accomplish that
goal. As [1] rightly notes this has the drawback that compiling with
"-Wno-deprecated-declarations" will silence any such uses. I think the
trade-off is worth it as:

 * We can consider that a feature, as e.g. backporting certain patches
   might use a now "unused" parameter, and the person doing that might
   want to silence it with DEVOPTS=no-error.

 * This way we play nicely with coccinelle, and any other dumb(er)
   parser of C (such as syntax highlighters).

 * Not every single compilation of git needs to catch "used but
   declared unused" parameters. It's sufficient that the default "make
   DEVELOPER=1" will do so, and that the "static-analysis" CI job will
   catch it.

1. https://lore.kernel.org/git/YwCtkwjWdJVHHZV0@coredump.intra.peff.net/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-compat-util.h