diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2022-08-25 19:09:49 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-09-01 19:49:49 +0200 |
commit | 9ff7eb8c8882c477919acfe28a3d68bb58adf2ea (patch) | |
tree | 1c7a97f2958eea5c6e3e0dac7741fd505fac63b8 | |
parent | git-compat-util.h: use "UNUSED", not "UNUSED(var)" (diff) | |
download | git-9ff7eb8c8882c477919acfe28a3d68bb58adf2ea.tar.xz git-9ff7eb8c8882c477919acfe28a3d68bb58adf2ea.zip |
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>
-rw-r--r-- | git-compat-util.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index 5ea7be9749..71a004be40 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -190,7 +190,8 @@ struct strbuf; #define _SGI_SOURCE 1 #if defined(__GNUC__) -#define UNUSED __attribute__((unused)) +#define UNUSED __attribute__((unused)) \ + __attribute__((deprecated ("parameter declared as UNUSED"))) #else #define UNUSED #endif |