From: Ævar Arnfjörð Bjarmason Date: Thu, 06 Oct 2022 07:31:45 GMT Subject: Re: [PATCH] git-compat-util.h: GCC deprecated message arg only in GCC 4.5+ Message-ID: <221006.86h70hs8xb.gmgdl@evledraar.gmail.com> In-Reply-To: <20221005221928.703750-1-asedeno@google.com> On Wed, Oct 05 2022, Aleajndro R Sedeño wrote: > From: Alejandro R. Sedeño > > From: https://gcc.gnu.org/gcc-4.5/changes.html > >> The deprecated attribute now takes an optional string argument, for >> example, __attribute__((deprecated("text string"))), that will be >> printed together with the deprecation warning. > > While GCC 4.5 is already 12 years old, git checks for even older > versions in places. Let's not needlessly break older compilers when > a small and simple fix is readily available. > > Signed-off-by: Alejandro R. Sedeño > Signed-off-by: Alejandro R Sedeño > --- > git-compat-util.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/git-compat-util.h b/git-compat-util.h > index b90b64718e..045b47f83a 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -189,9 +189,12 @@ struct strbuf; > #define _NETBSD_SOURCE 1 > #define _SGI_SOURCE 1 > > -#if defined(__GNUC__) > +#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 > #endif This LGTM, thanks a lot for that fix & fixing this (minor) breakage of mine. I did test on an older GCC myself, and then (in lieu of logging into an ancient system I have access to) scoured the release notes of gcc, and discovered that "deprecated" was older than anything we cared about. But I obviously missed that while the feature had been there for a longer time, it didn't take this parameter until GCC 4.5, sorry!