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