From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Derrick Stolee <derrickstolee@github.com>, git@vger.kernel.org
Subject: Re: [PATCH 0/11] annotating unused function parameters
Date: Thu, 25 Aug 2022 13:00:19 +0200 [thread overview]
Message-ID: <220825.86edx44lzh.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <YwCtkwjWdJVHHZV0@coredump.intra.peff.net>
On Sat, Aug 20 2022, Jeff King wrote:
> On Fri, Aug 19, 2022 at 10:58:08PM +0200, Ævar Arnfjörð Bjarmason wrote:
>
>> Yes, I spoke too soon, sorry. We still need ((unused)). FWIW the below
>> on top of master and doing:
>
> Right. Using ((deprecated)) is really just a substitute for the variable
> renaming part.
>
> And I agree it works as advertised, though I think I prefer the
> variable-renaming version.
>
> One, it feels like we're abusing the deprecated attribute here. The
Definitely, but structurally it seems like a better pick. I.e. isn't the
only problem with it the "deprecated" and its interaction with
-Wno-deprecated.
If the exact same feature existed as a "insert-custom-warning", which
would work exactly "deprecated" without the default warning "prefix"
would you think this would fit perfectly?
> ...
> -Wno-deprecated-declarations to get around _actual_ deprecated warnings
> (e.g., compiling with OPENSSL_SHA1=Yes). And doing so would be cutting
> out half the protection of UNUSED() in that case.
This is mildly annoying, but I don't really think it's a practical
issue. We're talking about running this without
-Wno-deprecated-declarations in CI, and by default.
For unused parameters it's enough that we're catching them somewhere, or
in common compilation settings, we don't need to catch them
*everywhere*, do we?
IOW is anyone writing patches where they're testing with
-Wno-deprecated-declarations *and* adding unused parameters *and* won't
test without -Wno-deprecated-declarations before submitting them, *and*
nobody else will catch it?
> Likewise, one thing I like about the renaming is that it fails
> compilation regardless of -Werror. So it will be caught in any compile,
> no matter what. And I do automatically compile without DEVELOPER=1 when
> on a detached HEAD, because historical commits often trigger warnings.
> Go back far enough and OPENSSL_SHA1 was the default, which generates
> lots of warnings these days. :)
*nod*, I think this also goes the other way. It's nice to be able to use
DEVOPTS=no-error to "get past" various minor issues. I consider an
unused parameter as being a minor issue. E.g. when ad-hoc cherry-picking
something to test on an older version it can be annoying to have to make
larger changes when a DEVOPTS=no-error would do.
> And finally, I actually prefer the parentheses of:
>
> static int register_ref(const char *refname, const struct object_id *oid,
> int UNUSED(flags), void *UNUSED(cb_data))
...and now to the real reason for the follow-up. You/Junio were CC'd,
but this is breaking coccinelle, see:
https://lore.kernel.org/git/220825.86ilmg4mil.gmgdl@evledraar.gmail.com/
So, bikeshedding-wise I don't care to argue the point. But between odd
syntax highlighting and now one analysis tool barfing on it it's a bit
more than a bikeshed :)
next prev parent reply other threads:[~2022-08-25 11:10 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-19 10:07 [PATCH 0/11] annotating unused function parameters Jeff King
2022-08-19 10:08 ` [PATCH 01/11] git-compat-util: add UNUSED macro Jeff King
2022-08-19 10:08 ` [PATCH 02/11] refs: mark unused each_ref_fn parameters Jeff King
2022-08-19 10:08 ` [PATCH 03/11] refs: mark unused reflog callback parameters Jeff King
2022-08-19 10:08 ` [PATCH 04/11] refs: mark unused virtual method parameters Jeff King
2022-08-19 10:08 ` [PATCH 05/11] transport: mark bundle transport_options as unused Jeff King
2022-08-19 10:08 ` [PATCH 06/11] streaming: mark unused virtual method parameters Jeff King
2022-08-19 10:08 ` [PATCH 07/11] config: mark unused callback parameters Jeff King
2022-08-19 10:08 ` [PATCH 08/11] hashmap: " Jeff King
2022-08-19 10:08 ` [PATCH 09/11] mark unused read_tree_recursive() " Jeff King
2022-08-19 10:08 ` [PATCH 10/11] run-command: mark unused async " Jeff King
2022-08-19 10:08 ` [PATCH 11/11] is_path_owned_by_current_uid(): mark "report" parameter as unused Jeff King
2022-08-19 13:58 ` [PATCH 0/11] annotating unused function parameters Ævar Arnfjörð Bjarmason
2022-08-19 18:59 ` Derrick Stolee
2022-08-19 20:58 ` Ævar Arnfjörð Bjarmason
2022-08-20 9:46 ` Jeff King
2022-08-20 21:21 ` Junio C Hamano
2022-08-22 14:14 ` Derrick Stolee
2022-08-25 11:00 ` Ævar Arnfjörð Bjarmason [this message]
2022-08-26 7:10 ` Jeff King
2022-08-26 13:08 ` Phillip Wood
2022-08-26 16:37 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=220825.86edx44lzh.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.