This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH RFC] <math.h> issignaling
On Mon, 11 Mar 2013, Thomas Schwinge wrote:
> Meh, I first overlooked this "detail": the same problem also applies to
> any other function that is not supposed to raise a INVALID exception for
> a sNaN input, and/or has to act differently for qNaN vs. sNaN inputs,
> such as fpclassify and all is* functions. So, yes, I'll try to cook up a
> general mechanism for changing the affected (and thusly annotated)
> functions' signature to the int calling convention (ABI change, so will
> need new symbol versions), and then at the call site already convert from
> float to int calling conventions using a union.
I don't see why it should be an ABI change on 32-bit x86, when all
relevant argument types (float / int / double / long long) are passed on
the stack.
One thing also to check is that the code showing the problems still shows
them when built with -fsignaling-nans. I don't expect that option to
help, but it's logically correct to use it in sNaN testing.
--
Joseph S. Myers
joseph@codesourcery.com