Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 29, 2025, 16:17 UTC
- Message-ID
- <xmqqtt53l7cl.fsf@gitster.g>
- In-Reply-To
- <20250529101136.16219-1-carenas@gmail.com>
Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:
Show 8 quoted lines
> Since f93b2a0424 (reftable/basics: introduce `REFTABLE_UNUSED` > annotation, 2025-02-18), the reftable library was migrated to > use an internal version of `UNUSED`, which unconditionally sets > a GNU __attribute__ to avoid warnings function parameters that > are not being used. > > Make the definition conditional to prevent breaking the build > with non GNU compilers.
Quite a reasonable reasoning.
Show 19 quoted lines
> Reported-by: "Randall S. Becker" <rsbecker@nexbridge.com> > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> > --- > reftable/basics.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/reftable/basics.h b/reftable/basics.h > index d8888c1262..7d22f96261 100644 > --- a/reftable/basics.h > +++ b/reftable/basics.h > @@ -16,7 +16,11 @@ > #include "system.h" > #include "reftable-basics.h" > > +#ifdef __GNUC__ > #define REFTABLE_UNUSED __attribute__((__unused__)) > +#else > +#define REFTABLE_UNUSED > +#endif
Corresponding definition we use in the main part of the project defined in compat/posix.h looks like this:
#if GIT_GNUC_PREREQ(4, 5)
#define UNUSED __attribute__((unused)) \
__attribute__((deprecated ("parameter declared as UNUSED")))
#elif defined(__GNUC__)
#define UNUSED __attribute__((unused)) \
__attribute__((deprecated))
#else
#define UNUSED
#endifGCC 4.5 or older may no longer be relevant, in which case yours may be good enough.
Will queue. Thanks.