From 4d9c76236622ea56af5e810f9c93f837cae46c70 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 19 Nov 2010 01:57:49 +0100 Subject: [PATCH] c-strtold: Avoid link error on AIX 7. * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L. * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists. (gl_C_STRTOLD): Test whether strtold_l exists. Reported by Albert Chin . --- ChangeLog | 8 ++++++++ lib/c-strtod.c | 4 ++-- m4/c-strtod.m4 | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0ab0af34bf..7f0d117466 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-11-18 Bruno Haible + + c-strtold: Avoid link error on AIX 7. + * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L. + * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists. + (gl_C_STRTOLD): Test whether strtold_l exists. + Reported by Albert Chin . + 2010-11-17 Paul Eggert intprops: new macro INT_BITS_STRLEN_BOUND diff --git a/lib/c-strtod.c b/lib/c-strtod.c index 38d472bd25..8bc7f15605 100644 --- a/lib/c-strtod.c +++ b/lib/c-strtod.c @@ -43,7 +43,7 @@ # define STRTOD strtod #endif -#ifdef LC_ALL_MASK +#if defined LC_ALL_MASK && (LONG ? HAVE_STRTOLD_L : HAVE_STRTOD_L) /* Cache for the C locale object. Marked volatile so that different threads see the same value @@ -67,7 +67,7 @@ C_STRTOD (char const *nptr, char **endptr) { DOUBLE r; -#ifdef LC_ALL_MASK +#if defined LC_ALL_MASK && (LONG ? HAVE_STRTOLD_L : HAVE_STRTOD_L) locale_t locale = c_locale (); if (!locale) diff --git a/m4/c-strtod.m4 b/m4/c-strtod.m4 index 41cf18e980..0f367f6a74 100644 --- a/m4/c-strtod.m4 +++ b/m4/c-strtod.m4 @@ -1,4 +1,4 @@ -# c-strtod.m4 serial 11 +# c-strtod.m4 serial 12 # Copyright (C) 2004-2006, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -39,6 +39,7 @@ AC_DEFUN([gl_C_STRTOD], dnl Prerequisites of lib/c-strtod.c. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS([strtod_l]) AC_REQUIRE([AC_C_INLINE]) : @@ -51,6 +52,7 @@ AC_DEFUN([gl_C_STRTOLD], dnl Prerequisites of lib/c-strtold.c. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_C99_STRTOLD]) + AC_CHECK_FUNCS([strtold_l]) AC_REQUIRE([AC_C_INLINE]) : -- 2.30.2