From ac01a4aaec3f7b63a8110268615b9b7f4e9f41f4 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 12 Jul 2010 23:08:21 +0200 Subject: [PATCH] Unify tests that set gl_cv_func_frexp_no_libm. --- ChangeLog | 8 ++++++++ m4/frexp.m4 | 39 +++++++++++++++++++-------------------- m4/printf-frexp.m4 | 15 +++------------ 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 886f5bde4d..26264b221a 100644 --- 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 index 3a450f6561..1f6d5427be 100644 --- 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 @@ dnl with or without modifications, as long as this notice is preserved. 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], 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 @@ AC_DEFUN([gl_FUNC_FREXP_NO_LIBM], 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 index c42391a43d..009ee261f6 100644 --- 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 @@ dnl Check how to define printf_frexp() without linking with libm. 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 -- 2.30.2