summaryrefslogtreecommitdiff
path: root/gl
diff options
context:
space:
mode:
Diffstat (limited to 'gl')
-rw-r--r--gl/lib/cl-strtod.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gl/lib/cl-strtod.c b/gl/lib/cl-strtod.c
index dd6eef825..998c2ef67 100644
--- a/gl/lib/cl-strtod.c
+++ b/gl/lib/cl-strtod.c
@@ -29,15 +29,20 @@
#if LONG
# define CL_STRTOD cl_strtold
# define DOUBLE long double
-# define STRTOD strtold
# define C_STRTOD c_strtold
#else
# define CL_STRTOD cl_strtod
# define DOUBLE double
-# define STRTOD strtod
# define C_STRTOD c_strtod
#endif
+/* fall back on strtod if strtold doesn't conform to C99. */
+#if LONG && HAVE_C99_STRTOLD
+# define STRTOD strtold
+#else
+# define STRTOD strtod
+#endif
+
/* This function acts like strtod or strtold, except that it falls
back on the C locale if the initial prefix is not parsable in
the current locale. If the prefix is parsable in both locales,