Hi Christophe,

> -----Original Message-----
> From: Gcc-patches <gcc-patches-boun...@gcc.gnu.org> On Behalf Of
> Christophe Lyon via Gcc-patches
> Sent: 11 September 2020 13:23
> To: gcc-patches@gcc.gnu.org; i...@airs.com
> Subject: [PATCH] libgcc/config/arm/fp16.c: Add missing prototypes
> 
> This patch adds the missing prototypes for the fonctions defined in fp16.c, to
> avoid these warnings during the build:
> /libgcc/config/arm/fp16.c:169:1: warning: no previous prototype for
> '__gnu_h2f_internal' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:194:1: warning: no previous prototype for
> '__gnu_f2h_ieee' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:200:1: warning: no previous prototype for
> '__gnu_h2f_ieee' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:206:1: warning: no previous prototype for
> '__gnu_f2h_alternative' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:212:1: warning: no previous prototype for
> '__gnu_h2f_alternative' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:218:1: warning: no previous prototype for
> '__gnu_d2h_ieee' [-Wmissing-prototypes]
> /libgcc/config/arm/fp16.c:224:1: warning: no previous prototype for
> '__gnu_d2h_alternative' [-Wmissing-prototypes]
> 
> 2020-09-11  Torbjörn SVENSSON  <torbjorn.svens...@st.com>
>       Christophe Lyon  <christophe.l...@linaro.org>
> 
>       libgcc/
>       * config/arm/fp16.c (__gnu_h2f_internal, __gnu_f2h_ieee)
>       (__gnu_h2f_ieee, __gnu_f2h_alternative, __gnu_h2f_alternative)
>       (__gnu_d2h_ieee, __gnu_d2h_alternative): Add missing prototypes.
> ---
>  libgcc/config/arm/fp16.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/libgcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c
> index e8f7afb..3d1d8f4 100644
> --- a/libgcc/config/arm/fp16.c
> +++ b/libgcc/config/arm/fp16.c
> @@ -52,6 +52,15 @@ binary64 =
>    52     /* significand.  */
>  };
> 
> +/* Function prototypes */
> +unsigned int __gnu_h2f_internal(unsigned short a, int ieee);

I think this function should just be marked as static, as it is truly internal 
to this file, whereas the other ones can be called from code emitted in 
config/arm/arm.c

Thanks,
Kyrill

> +unsigned short __gnu_f2h_ieee(unsigned int a);
> +unsigned int __gnu_h2f_ieee(unsigned short a);
> +unsigned short __gnu_f2h_alternative(unsigned int x);
> +unsigned int __gnu_h2f_alternative(unsigned short a);
> +unsigned short __gnu_d2h_ieee (unsigned long long a);
> +unsigned short __gnu_d2h_alternative (unsigned long long x);
> +
>  static inline unsigned short
>  __gnu_float2h_internal (const struct format* fmt,
>                       unsigned long long a, int ieee)
> --
> 2.7.4

Reply via email to