On Thu, 17 Sep 2020 at 12:27, Kyrylo Tkachov <kyrylo.tkac...@arm.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Christophe Lyon <christophe.l...@linaro.org>
> > Sent: 11 September 2020 20:05
> > To: Kyrylo Tkachov <kyrylo.tkac...@arm.com>
> > Cc: i...@airs.com; gcc-patches@gcc.gnu.org
> > Subject: Re: [PATCH] libgcc/config/arm/fp16.c: Add missing prototypes
> >
> > On Fri, 11 Sep 2020 at 14:35, Kyrylo Tkachov <kyrylo.tkac...@arm.com>
> > wrote:
> > >
> > > 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
> > >
> >
> > Right, this updated patch does that, like for the other functions in
> > the same file.
> >
> > OK?
>
> Sorry, I think just __gnu_h2f_internal Needs to be static.
> From what I can tell the other ones need to be exported as they can be 
> generated from config/arm/arm.c so they do need the prototypes if I 
> understand correctly.
>

Ha sorry, I read too fast.
And I only checked that the build completed and wasn't producing the
warnings.....

I guess this new version is what you initially meant?

Thanks
Christophe

> Thanks,
> Kyrill
>
> >
> > Thanks
> >
> > Christophe
> >
> > > 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
> > >
From b4740eda0413e028cb2dbacf7d40f8c4674df37a Mon Sep 17 00:00:00 2001
From: Christophe Lyon <christophe.l...@linaro.org>
Date: Fri, 11 Sep 2020 11:43:56 +0000
Subject: [PATCH] libgcc/config/arm/fp16.c: Make _internal functions static
 inline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This patch makes the *_internal functions 'static inline' 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): Add 'static inline'
	qualifier.
	(__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 | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libgcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c
index e8f7afb..25fff25 100644
--- a/libgcc/config/arm/fp16.c
+++ b/libgcc/config/arm/fp16.c
@@ -52,6 +52,14 @@ binary64 =
   52     /* significand.  */
 };
 
+/* Function prototypes */
+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)
@@ -165,7 +173,7 @@ __gnu_d2h_internal (unsigned long long a, int ieee)
   return __gnu_float2h_internal (&binary64, a, ieee);
 }
 
-unsigned int
+static inline unsigned int
 __gnu_h2f_internal(unsigned short a, int ieee)
 {
   unsigned int sign = (unsigned int)(a & 0x8000) << 16;
-- 
2.7.4

Reply via email to