From d924a8c6cc8bb8e5903399494bb2e749ef244b5e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 11 Nov 2007 14:08:25 +0100 Subject: [PATCH] Handle the case that floorl and roundl are declared but do not exist. --- ChangeLog | 10 ++++++++++ lib/round.c | 4 ++-- m4/roundf.m4 | 6 ++++++ m4/roundl.m4 | 6 ++++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f8a5fa88c..3bdb99ed3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-11-11 Bruno Haible + + * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and + roundf were declared but do not exist on functions. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and + roundl were declared but do not exist on functions. + * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and + HAVE_FLOORL_AND_CEILL, respectively. + Needed for Sun C on Solaris 10. + 2007-11-11 Bruno Haible * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of diff --git a/lib/round.c b/lib/round.c index 5758fb7c79..4f85402df9 100644 --- a/lib/round.c +++ b/lib/round.c @@ -30,7 +30,7 @@ # define DOUBLE long double # define MANT_DIG LDBL_MANT_DIG # define L_(literal) literal##L -# define HAVE_FLOOR_AND_CEIL (HAVE_DECL_FLOORL && HAVE_DECL_CEILL) +# define HAVE_FLOOR_AND_CEIL HAVE_FLOORL_AND_CEILL #elif ! defined USE_FLOAT # define ROUND round # define FLOOR floor @@ -46,7 +46,7 @@ # define DOUBLE float # define MANT_DIG FLT_MANT_DIG # define L_(literal) literal##f -# define HAVE_FLOOR_AND_CEIL (HAVE_DECL_FLOORF && HAVE_DECL_CEILF) +# define HAVE_FLOOR_AND_CEIL HAVE_FLOORF_AND_CEILF #endif /* If we're being included from test-round2[f].c, it already defined names for diff --git a/m4/roundf.m4 b/m4/roundf.m4 index 10dbfea75b..5878beb735 100644 --- a/m4/roundf.m4 +++ b/m4/roundf.m4 @@ -20,6 +20,12 @@ AC_DEFUN([gl_FUNC_ROUNDF], if test "$ac_cv_have_decl_floorf" = yes \ && test "$ac_cv_have_decl_ceilf" = yes; then gl_CHECK_MATH_LIB([ROUNDF_LIBM], [x = floorf (x) + ceilf (x);]) + if test "$ROUNDF_LIBM" != missing; then + AC_DEFINE([HAVE_FLOORF_AND_CEILF], 1, + [Define if the both the floorf() and ceilf() functions exist.]) + else + ROUNDF_LIBM= + fi else ROUNDF_LIBM= fi diff --git a/m4/roundl.m4 b/m4/roundl.m4 index 1779a31bde..a35943ca62 100644 --- a/m4/roundl.m4 +++ b/m4/roundl.m4 @@ -20,6 +20,12 @@ AC_DEFUN([gl_FUNC_ROUNDL], if test "$ac_cv_have_decl_floorl" = yes \ && test "$ac_cv_have_decl_ceill" = yes; then gl_CHECK_MATH_LIB([ROUNDL_LIBM], [x = floorl (x) + ceill (x);]) + if test "$ROUNDL_LIBM" != missing; then + AC_DEFINE([HAVE_FLOORL_AND_CEILL], 1, + [Define if the both the floorl() and ceill() functions exist.]) + else + ROUNDL_LIBM= + fi else ROUNDL_LIBM= fi -- 2.30.2