Re: [PATCH] git-compat-util.h: fix build on gcc 4.4.x and earlier

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 05 2022, Jeremy Lin wrote:

> Commit 9ff7eb8c88 uses the `deprecated` attribute to display a warning
> message when something that is supposed to be unused is actually used.
> However, `deprecated` only supports messages starting in gcc 4.5.0, so
> earlier versions of gcc end up bailing out with a message like
>
>   error: wrong number of arguments specified for ‘deprecated’ attribute
>
> This commit removes the use of the `deprecated` attribute for gcc 4.4.x
> and earlier. As this is just a diagnostic feature for developers, and
> presumably very few people are developing on such old systems anyway,
> this change shouldn't really impact anyone.
>
> Signed-off-by: Jeremy Lin <jeremy.lin@xxxxxxxxx>
> ---
>  git-compat-util.h | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/git-compat-util.h b/git-compat-util.h
> index b90b64718e..9e2969edd6 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -190,8 +190,13 @@ struct strbuf;
>  #define _SGI_SOURCE 1
>  
>  #if defined(__GNUC__)
> -#define UNUSED __attribute__((unused)) \
> +/* The `deprecated` attribute only accepts a message starting in gcc 4.5.0. */
> +# if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40500
> +#  define UNUSED __attribute__((unused)) \
>  	__attribute__((deprecated ("parameter declared as UNUSED")))
> +# else
> +#  define UNUSED __attribute__((unused))
> +# endif
>  #else
>  #define UNUSED
>  #endif

There's an earlier discussion & patch at
https://lore.kernel.org/git/20221003212318.3092010-1-asedeno@xxxxxxxxxx/




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux