changeset 13461:b9e80fe39af5

Unify tests that set gl_cv_func_frexpl_no_libm.
author Bruno Haible <bruno@clisp.org>
date Mon, 12 Jul 2010 23:16:46 +0200
parents 54037f4be4a4
children 88292c519d86
files ChangeLog m4/frexpl.m4 m4/printf-frexpl.m4
diffstat 3 files changed, 29 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+	Unify tests that set gl_cv_func_frexpl_no_libm.
+	* m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
+	gl_FUNC_FREXPL_NO_LIBM.
+	(gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
+	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
+
 2010-07-12  Bruno Haible  <bruno@clisp.org>
 
 	Unify tests that set gl_cv_func_frexp_no_libm.
--- a/m4/frexpl.m4
+++ b/m4/frexpl.m4
@@ -1,4 +1,4 @@
-# frexpl.m4 serial 9
+# frexpl.m4 serial 10
 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,
@@ -12,15 +12,7 @@
   AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
   FREXPL_LIBM=
   if test $HAVE_DECL_FREXPL = 1; then
-    AC_CACHE_CHECK([whether frexpl() can be used without linking with libm],
-      [gl_cv_func_frexpl_no_libm],
-      [
-        AC_TRY_LINK([#include <math.h>
-                     long double x;],
-                    [int e; return frexpl (x, &e) > 0;],
-          [gl_cv_func_frexpl_no_libm=yes],
-          [gl_cv_func_frexpl_no_libm=no])
-      ])
+    gl_CHECK_FREXPL_NO_LIBM
     if test $gl_cv_func_frexpl_no_libm = no; then
       AC_CACHE_CHECK([whether frexpl() can be used with libm],
         [gl_cv_func_frexpl_in_libm],
@@ -69,15 +61,7 @@
   dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in <math.h>.
   AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
   if test $HAVE_DECL_FREXPL = 1; then
-    AC_CACHE_CHECK([whether frexpl() can be used without linking with libm],
-      [gl_cv_func_frexpl_no_libm],
-      [
-        AC_TRY_LINK([#include <math.h>
-                     long double x;],
-                    [int e; return frexpl (x, &e) > 0;],
-          [gl_cv_func_frexpl_no_libm=yes],
-          [gl_cv_func_frexpl_no_libm=no])
-      ])
+    gl_CHECK_FREXPL_NO_LIBM
     if test $gl_cv_func_frexpl_no_libm = yes; then
       gl_FUNC_FREXPL_WORKS
       case "$gl_cv_func_frexpl_works" in
@@ -99,6 +83,21 @@
   fi
 ])
 
+dnl Test whether frexpl() can be used without linking with libm.
+dnl Set gl_cv_func_frexpl_no_libm to 'yes' or 'no' accordingly.
+AC_DEFUN([gl_CHECK_FREXPL_NO_LIBM],
+[
+  AC_CACHE_CHECK([whether frexpl() can be used without linking with libm],
+    [gl_cv_func_frexpl_no_libm],
+    [
+      AC_TRY_LINK([#include <math.h>
+                   long double x;],
+                  [int e; return frexpl (x, &e) > 0;],
+        [gl_cv_func_frexpl_no_libm=yes],
+        [gl_cv_func_frexpl_no_libm=no])
+    ])
+])
+
 dnl Test whether frexpl() works on finite numbers (this fails on
 dnl MacOS X 10.4/PowerPC, on AIX 5.1, and on BeOS), on denormalized numbers
 dnl (this fails on MacOS X 10.5/i386), and also on infinite numbers (this
--- a/m4/printf-frexpl.m4
+++ b/m4/printf-frexpl.m4
@@ -1,5 +1,5 @@
-# printf-frexpl.m4 serial 6
-dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+# printf-frexpl.m4 serial 7
+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.
@@ -10,16 +10,7 @@
 [
   AC_REQUIRE([gl_MATH_H_DEFAULTS])
   dnl Subset of gl_FUNC_FREXPL_NO_LIBM.
-  AC_CACHE_CHECK([whether frexpl can be used without linking with libm],
-    [gl_cv_func_frexpl_no_libm],
-    [
-      AC_TRY_LINK([#include <math.h>
-                   long double x;
-                   int y;],
-                  [return frexpl (x, &y) < 1;],
-        [gl_cv_func_frexpl_no_libm=yes],
-        [gl_cv_func_frexpl_no_libm=no])
-    ])
+  gl_CHECK_FREXPL_NO_LIBM
   if test $gl_cv_func_frexpl_no_libm = yes; then
     gl_FUNC_FREXPL_WORKS
     case "$gl_cv_func_frexpl_works" in