From e7be3c9e412bc30ca0e797e56a4856a6578df97e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 25 Feb 2012 01:27:00 +0100 Subject: [PATCH] logl: Provide function definition on MSVC. * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a function pointer. * lib/math.in.h (logl): Undefine if it does not exist as a function. --- ChangeLog | 7 +++++++ lib/math.in.h | 1 + m4/logl.m4 | 10 +++++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 00e623ee9..16efe1b2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2012-02-24 Bruno Haible + logl: Provide function definition on MSVC. + * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a + function pointer. + * lib/math.in.h (logl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + expl: Provide function definition on MSVC. * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a function pointer. diff --git a/lib/math.in.h b/lib/math.in.h index 25f25036b..a75194bd6 100644 --- a/lib/math.in.h +++ b/lib/math.in.h @@ -768,6 +768,7 @@ _GL_WARN_ON_USE (logf, "logf is unportable - " #if @GNULIB_LOGL@ # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@ +# undef logl _GL_FUNCDECL_SYS (logl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (logl, long double, (long double x)); diff --git a/m4/logl.m4 b/m4/logl.m4 index 48e43d7ad..874f58858 100644 --- a/m4/logl.m4 +++ b/m4/logl.m4 @@ -1,4 +1,4 @@ -# logl.m4 serial 6 +# logl.m4 serial 7 dnl Copyright (C) 2010-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -22,8 +22,10 @@ AC_DEFUN([gl_FUNC_LOGL], # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include + long double (*funcptr) (long double) = logl; long double x;]], - [[return logl (x) > 1;]])], + [[return funcptr (x) > 1 + || logl (x) > 1;]])], [gl_cv_func_logl_no_libm=yes], [gl_cv_func_logl_no_libm=no]) ]) @@ -39,8 +41,10 @@ AC_DEFUN([gl_FUNC_LOGL], # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include + long double (*funcptr) (long double) = logl; long double x;]], - [[return logl (x) > 1;]])], + [[return funcptr (x) > 1 + || logl (x) > 1;]])], [gl_cv_func_logl_in_libm=yes], [gl_cv_func_logl_in_libm=no]) LIBS="$save_LIBS" -- 2.11.0