[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (elisp)Numbers

From: Eli Zaretskii
Subject: Re: (elisp)Numbers
Date: Sat, 25 Oct 2003 00:04:44 +0200

> Date: Fri, 24 Oct 2003 15:38:18 +0200
> From: "Eli Zaretskii" <address@hidden>
> > anyway, it does not signal the exception.
> > can someone try to debug this?
> I'll try if no one else does.

As far as I could see, the problem happens because the definition of
the IN_FLOAT macro on GNU/Linux relies on sqrt to set errno, but the
expansion of the sqrt macro fails to do so.  I stepped with GDB thru
the code generated for the line in Fsqrt that says

   IN_FLOAT (d = sqrt (d), "sqrt", arg);

and the value of errno stays zero after the code computes the square

So this sounds like a glibc bug, perhaps combined with a GCC bug: the
expansion of the sqrt macro doesn't set errno for abnormal arguments.
(I'm guessing that similar things happen for many other functions
from floatfns.c.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]