[Top][All Lists]

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

Re: New gnulib wrappers with glibc 2.21.

From: Paul Eggert
Subject: Re: New gnulib wrappers with glibc 2.21.
Date: Wed, 11 Feb 2015 11:22:07 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

[Also cc'ing bug-gnulib.]
On 02/11/2015 08:05 AM, Joseph Myers wrote:
These bit-patterns are considered to be trap representations

Yes, this is not a standards-conformance issue.

with the gnulib implementation they are still trap representations (not consistently behaving like NaNs), you've just made a different choice of how to handle them.

Yes, as I understand it the original motivation for this was glibc bug 4586 <https://sourceware.org/bugzilla/show_bug.cgi?id=4586>. This bug caused GNU 'od' to crash when printing long double data, so we worked around the problem by using isnanl to determine whther a value was a printable number (as opposed to a trap representation that could cause core dumps). Which meant that isnanl needed to return nonzero on non-canonical representations.

My impression is that this old problem is no longer relevant, and that we can remove the Gnulib requirement that isnanl must return nonzero on non-canonical representations. This would mean Gnulib would no longer report problems with x86-64 glibc isnanl.

If I'm wrong and the old problem is still relevant, or if there's a need for this sort of check in the future, Gnulib should use the new iscanonical macro instead, as it's the one designed for the purpose that Gnulib was using isnanl for.

reply via email to

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