# HG changeset patch # User Bruno Haible # Date 1278968901 -7200 # Node ID 54037f4be4a41c1c10b531acfbd50a3df2e1ba1d # Parent 0a02e7a4ac23d646dcb71ab3fe93e63ace5e8ed6 Unify tests that set gl_cv_func_frexp_no_libm. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-07-12 Bruno Haible + + Unify tests that set gl_cv_func_frexp_no_libm. + * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from + gl_FUNC_FREXP_NO_LIBM. + (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it. + * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise. + 2010-07-12 Paul R. Eggert memcoll: clarify sizes versus lengths, document better, and tweak perf diff --git a/m4/frexp.m4 b/m4/frexp.m4 --- a/m4/frexp.m4 +++ b/m4/frexp.m4 @@ -1,5 +1,5 @@ -# frexp.m4 serial 7 -dnl Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# frexp.m4 serial 8 +dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,16 +7,8 @@ AC_DEFUN([gl_FUNC_FREXP], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) FREXP_LIBM= - AC_CACHE_CHECK([whether frexp() can be used without linking with libm], - [gl_cv_func_frexp_no_libm], - [ - AC_TRY_LINK([#include - double x;], - [int e; return frexp (x, &e) > 0;], - [gl_cv_func_frexp_no_libm=yes], - [gl_cv_func_frexp_no_libm=no]) - ]) if test $gl_cv_func_frexp_no_libm = no; then AC_CACHE_CHECK([whether frexp() can be used with libm], [gl_cv_func_frexp_in_libm], @@ -59,15 +51,7 @@ AC_DEFUN([gl_FUNC_FREXP_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) - AC_CACHE_CHECK([whether frexp() can be used without linking with libm], - [gl_cv_func_frexp_no_libm], - [ - AC_TRY_LINK([#include - double x;], - [int e; return frexp (x, &e) > 0;], - [gl_cv_func_frexp_no_libm=yes], - [gl_cv_func_frexp_no_libm=no]) - ]) + AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in @@ -87,6 +71,21 @@ fi ]) +dnl Test whether frexp() can be used without linking with libm. +dnl Set gl_cv_func_frexp_no_libm to 'yes' or 'no' accordingly. +AC_DEFUN([gl_CHECK_FREXP_NO_LIBM], +[ + AC_CACHE_CHECK([whether frexp() can be used without linking with libm], + [gl_cv_func_frexp_no_libm], + [ + AC_TRY_LINK([#include + double x;], + [int e; return frexp (x, &e) > 0;], + [gl_cv_func_frexp_no_libm=yes], + [gl_cv_func_frexp_no_libm=no]) + ]) +]) + dnl Test whether frexp() works also on denormalized numbers (this fails e.g. on dnl NetBSD 3.0), on infinite numbers (this fails e.g. on IRIX 6.5 and mingw), dnl and on negative zero (this fails e.g. on NetBSD 4.99). diff --git a/m4/printf-frexp.m4 b/m4/printf-frexp.m4 --- a/m4/printf-frexp.m4 +++ b/m4/printf-frexp.m4 @@ -1,5 +1,5 @@ -# printf-frexp.m4 serial 3 -dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. +# printf-frexp.m4 serial 4 +dnl Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,16 +8,7 @@ AC_DEFUN([gl_FUNC_PRINTF_FREXP], [ - AC_CACHE_CHECK([whether frexp can be used without linking with libm], - [gl_cv_func_frexp_no_libm], - [ - AC_TRY_LINK([#include - double x; - int y;], - [return frexp (x, &y) < 1;], - [gl_cv_func_frexp_no_libm=yes], - [gl_cv_func_frexp_no_libm=no]) - ]) + AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in