* m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
understanding why strtod is rejected.
Signed-off-by: Eric Blake <eblake@redhat.com>
+2010-07-29 Eric Blake <eblake@redhat.com>
+
+ strtod: aid debugging
+ * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
+ understanding why strtod is rejected.
+
2010-07-28 Bruno Haible <bruno@clisp.org>
unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
2010-07-28 Bruno Haible <bruno@clisp.org>
unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
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,
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,
char *term;
strtod (string, &term);
if (term != string && *(term - 1) == 0)
char *term;
strtod (string, &term);
if (term != string && *(term - 1) == 0)
}
{
/* Older glibc and Cygwin mis-parse "-0x". */
}
{
/* Older glibc and Cygwin mis-parse "-0x". */
double value = strtod (string, &term);
double zero = 0.0;
if (1.0 / value != -1.0 / zero || term != (string + 2))
double value = strtod (string, &term);
double zero = 0.0;
if (1.0 / value != -1.0 / zero || term != (string + 2))
}
{
/* Many platforms do not parse hex floats. */
}
{
/* Many platforms do not parse hex floats. */
char *term;
double value = strtod (string, &term);
if (value != 20.0 || term != (string + 6))
char *term;
double value = strtod (string, &term);
if (value != 20.0 || term != (string + 6))
}
{
/* Many platforms do not parse infinities. HP-UX 11.31 parses inf,
}
{
/* Many platforms do not parse infinities. HP-UX 11.31 parses inf,
errno = 0;
value = strtod (string, &term);
if (value != HUGE_VAL || term != (string + 3) || errno)
errno = 0;
value = strtod (string, &term);
if (value != HUGE_VAL || term != (string + 3) || errno)
}
{
/* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */
}
{
/* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */
char *term;
double value = strtod (string, &term);
if (numeric_equal (value, value) || term != (string + 5))
char *term;
double value = strtod (string, &term);
if (numeric_equal (value, value) || term != (string + 5))
}
{
/* darwin 10.6.1 misparses "nan(". */
}
{
/* darwin 10.6.1 misparses "nan(". */
char *term;
double value = strtod (string, &term);
if (numeric_equal (value, value) || term != (string + 3))
char *term;
double value = strtod (string, &term);
if (numeric_equal (value, value) || term != (string + 3))
}
]])],
[gl_cv_func_strtod_works=yes],
}
]])],
[gl_cv_func_strtod_works=yes],