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>

Ævar Arnfjörð Bjarmason committed Aug 25, 2022 at 19:09 UTC 9ff7eb8c8882c477919acfe28a3d68bb58adf2ea
1 file changed +2 -1
git-compat-util.h
+2 -1
@@ -190,7 +190,8 @@ struct strbuf;
190 #define _SGI_SOURCE 1
191
192 #if defined(__GNUC__)
193 -#define UNUSED __attribute__((unused))
193 +#define UNUSED __attribute__((unused)) \
194 + __attribute__((deprecated ("parameter declared as UNUSED")))
195 #else
196 #define UNUSED
197 #endif