summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/strtold.c1
-rw-r--r--stdlib/strtold_l.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/stdlib/strtold.c b/stdlib/strtold.c
index c808efc744..f1bb2f1c0d 100644
--- a/stdlib/strtold.c
+++ b/stdlib/strtold.c
@@ -25,6 +25,7 @@
 
 # include "strtod.c"
 #else
+# include <stdlib.h>
 /* There is no `long double' type, use the `double' implementations.  */
 long double
 __strtold_internal (const char *nptr, char **endptr, int group)
diff --git a/stdlib/strtold_l.c b/stdlib/strtold_l.c
index ded819f989..8b4996df62 100644
--- a/stdlib/strtold_l.c
+++ b/stdlib/strtold_l.c
@@ -34,6 +34,8 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
 
 #else
 /* There is no `long double' type, use the `double' implementations.  */
+extern double ____strtod_l_internal (const char *, char **, int,
+				     __locale_t);
 long double
 ____strtold_l_internal (const char *nptr, char **endptr, int group,
 			__locale_t loc)
@@ -44,6 +46,6 @@ ____strtold_l_internal (const char *nptr, char **endptr, int group,
 long double
 __strtold_l (const char *nptr, char **endptr, __locale_t loc)
 {
-  return __strtod_internal (nptr, endptr, 0, loc);
+  return ____strtod_l_internal (nptr, endptr, 0, loc);
 }
 #endif