Re: [PATCH] newlib: libm: Fix RISCV feraiseexcept return value when success

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On Oct 24 16:27, William Tsai wrote:
> The return in line 85 outside the macro, which is used when hardware does
> not have floating point exception support. The added return is inside the
> macro after the exception is raised.

Ok, I defer to the RISCV guys.  The comment following the asm statement
sounds weirdly like the non-0 return value is by choice.

Kito, can you please chime in here?


Thanks,
Corinna



> 
> On Thu, Oct 24, 2024 at 4:22 PM Corinna Vinschen <[email protected]>
> wrote:
> 
> > On Oct 24 00:26, William Tsai wrote:
> > > According to the document, feraiseexcept should return 0 when exception
> > > is raised succesfully. The return statement is missing here causing it
> > > always return a non-zero value even when success.
> > > ---
> > >  newlib/libm/machine/riscv/feraiseexcept.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/newlib/libm/machine/riscv/feraiseexcept.c
> > b/newlib/libm/machine/riscv/feraiseexcept.c
> > > index 817fa6274..99bacd556 100644
> > > --- a/newlib/libm/machine/riscv/feraiseexcept.c
> > > +++ b/newlib/libm/machine/riscv/feraiseexcept.c
> > > @@ -64,6 +64,7 @@ int feraiseexcept(int excepts)
> > >    /* Set the requested exception flags */
> > >
> > >    asm volatile("csrs fflags, %0" : : "r"(excepts));
> > > +  return 0;
> > >
> > >    /* Per 'feraiseexcept.html:
> > >     * "If the argument is zero or if all the specified exceptions were
> > > --
> > > 2.37.1
> >
> > What about the return statement in line 85, following the longish comment?
> >
> >
> > Corinna
> >
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.