[PATCH] newlib: libm: Fix RISCV feraiseexcept return value when success
Corinna Vinschen
vinschen@redhat.com
Fri Oct 25 09:36:27 GMT 2024
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 <vinschen@redhat.com>
> 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
> >
> >
More information about the Newlib
mailing list