wcwidth: Drop replacement on AIX 7.
[pspp] / m4 / strtod.m4
index 05d36bd4b357511b3ce27fa7979fcc0330f7c7ee..922a538cf998b67d4643faeb10932a66801e2cb1 100644 (file)
@@ -1,4 +1,4 @@
-# strtod.m4 serial 15
+# strtod.m4 serial 17
 dnl Copyright (C) 2002-2003, 2006-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,
@@ -46,7 +46,7 @@ numeric_equal (double x, double y)
     char *term;
     strtod (string, &term);
     if (term != string && *(term - 1) == 0)
-      return 1;
+      return 2;
   }
   {
     /* Older glibc and Cygwin mis-parse "-0x".  */
@@ -55,7 +55,7 @@ numeric_equal (double x, double y)
     double value = strtod (string, &term);
     double zero = 0.0;
     if (1.0 / value != -1.0 / zero || term != (string + 2))
-      return 1;
+      return 3;
   }
   {
     /* Many platforms do not parse hex floats.  */
@@ -63,7 +63,7 @@ numeric_equal (double x, double y)
     char *term;
     double value = strtod (string, &term);
     if (value != 20.0 || term != (string + 6))
-      return 1;
+      return 4;
   }
   {
     /* Many platforms do not parse infinities.  HP-UX 11.31 parses inf,
@@ -74,7 +74,7 @@ numeric_equal (double x, double y)
     errno = 0;
     value = strtod (string, &term);
     if (value != HUGE_VAL || term != (string + 3) || errno)
-      return 1;
+      return 5;
   }
   {
     /* glibc 2.7 and cygwin 1.5.24 misparse "nan()".  */
@@ -82,7 +82,7 @@ numeric_equal (double x, double y)
     char *term;
     double value = strtod (string, &term);
     if (numeric_equal (value, value) || term != (string + 5))
-      return 1;
+      return 6;
   }
   {
     /* darwin 10.6.1 misparses "nan(".  */
@@ -90,7 +90,7 @@ numeric_equal (double x, double y)
     char *term;
     double value = strtod (string, &term);
     if (numeric_equal (value, value) || term != (string + 3))
-      return 1;
+      return 7;
   }
 ]])],
         [gl_cv_func_strtod_works=yes],
@@ -119,18 +119,8 @@ numeric_equal (double x, double y)
 ])
 
 # Prerequisites of lib/strtod.c.
-# FIXME: This implementation is a copy of printf-frexp.m4 and should be shared.
 AC_DEFUN([gl_PREREQ_STRTOD], [
-  AC_CACHE_CHECK([whether ldexp can be used without linking with libm],
-    [gl_cv_func_ldexp_no_libm],
-    [
-      AC_TRY_LINK([#include <math.h>
-                   double x;
-                   int y;],
-                  [return ldexp (x, y) < 1;],
-        [gl_cv_func_ldexp_no_libm=yes],
-        [gl_cv_func_ldexp_no_libm=no])
-    ])
+  AC_REQUIRE([gl_CHECK_LDEXP_NO_LIBM])
   if test $gl_cv_func_ldexp_no_libm = yes; then
     AC_DEFINE([HAVE_LDEXP_IN_LIBC], [1],
       [Define if the ldexp function is available in libc.])