On 2017/5/16 0:43, Vincent Lefevre wrote:
> On 2017-05-15 22:35:33 +0800, Liu Hao wrote:
>> Yeah but `printf()` from glibc doesn't think it is a NaN... From
>> your point of view, is this a glibc bug?
> 
> I think so. If I understand correctly, the output of floating-point
> data in glibc is handled in stdio-common/printf_fp.c, which uses:
> 
> extern mp_size_t __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
>                                              int *expt, int *is_neg,
>                                              long double value);
> 
> The code is one of (not sure):
>    sysdeps/i386/ldbl2mpn.c
>    sysdeps/ieee754/ldbl-96/ldbl2mpn.c
> 
> In sysdeps/i386/ldbl2mpn.c only, there is a special case for
> "pseudo zero" (no comments about the choice of the behavior,
> though), which was added here:
> 
> commit 835abc5c0dfd1ba8aabeb52d46793b13702c708b
> Author: Ulrich Drepper <[email protected]>
> Date:   2007-06-08 02:50:59 +0000
> 
>      [BZ #4586]
>      
>      2007-06-06  Jakub Jelinek  <[email protected]>
>              BZ #4586
>              * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat
>              pseudo-zeros as zero.
>              * sysdeps/x86_64/ldbl2mpn.c: New file.
>              * sysdeps/ia64/ldbl2mpn.c: New file.
> 
> This corresponds to Bruno Haible's bug report:
> 
>    https://sourceware.org/bugzilla/show_bug.cgi?id=4586
> 
> (though this was for IA64). He said:
> 
>    Additionally, the printf results for pseudo-NaN and pseudo-Inf
>    should better be "nan", because these numbers behave like NaNs
>    in comparisons, as you can see from the program's output.
> 
> Not sure about the reason of the current choice.
> 
It seems that MinGW-w64 is suffering from the same problem. I CC'd both. 
Looking forward to other people's opinion.

Reference: https://gcc.gnu.org/ml/gcc-help/2017-05/msg00123.html


-- 
Best regards,
LH_Mouse


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to