When compiling natively: checking whether frexp() can be used without linking with libm... yes checking whether frexp works... no
The failure is with +inf, where frexp mistakenly returns NaN instead of inf. But when cross-compiling, mingw was omitted from the list of broken platforms. Installing this: From: Eric Blake <[EMAIL PROTECTED]> Date: Tue, 4 Dec 2007 08:40:17 -0700 Subject: [PATCH] Fix frexp on mingw. * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when cross-compiling. * doc/functions/frexp.texi (frexp): Document the bug. Signed-off-by: Eric Blake <[EMAIL PROTECTED]> --- ChangeLog | 5 +++++ doc/functions/frexp.texi | 2 +- m4/frexp.m4 | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 54a4b12..5abb766 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-12-04 Eric Blake <[EMAIL PROTECTED]> + Fix frexp on mingw. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when + cross-compiling. + * doc/functions/frexp.texi (frexp): Document the bug. + Make cygwin fseeko check more reliable. * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin version numbers, rather than unrelated feature check. diff --git a/doc/functions/frexp.texi b/doc/functions/frexp.texi index cfe5996..f0a791c 100644 --- a/doc/functions/frexp.texi +++ b/doc/functions/frexp.texi @@ -13,7 +13,7 @@ This function does not work on denormalized numbers on some platforms: NetBSD 3.0. @item This function does not work on infinite numbers on some platforms: -IRIX 6.5. +IRIX 6.5, mingw. @end itemize Portability problems not fixed by Gnulib: diff --git a/m4/frexp.m4 b/m4/frexp.m4 index 524f6d5..ca293b4 100644 --- a/m4/frexp.m4 +++ b/m4/frexp.m4 @@ -1,4 +1,4 @@ -# frexp.m4 serial 4 +# frexp.m4 serial 5 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -126,6 +126,7 @@ int main() }], [gl_cv_func_frexp_works=yes], [gl_cv_func_frexp_works=no], [case "$host_os" in netbsd* | irix*) gl_cv_func_frexp_works="guessing no";; + mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac ]) -- 1.5.3.5