re PR libquadmath/55225 (Fail to build lgammaq.c from trunk with mingw-w64)
2012-11-21 Tobias Burnus <burnus@net-b.de> PR libquadmath/55225 * math/lgammaq.c (lgammaq): Use local variable if math.h does not provide signgam. * acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check. * configure.ac: Use it. * configure: Regenerate. * config.h.in: Regenerate. From-SVN: r193695
This commit is contained in:
parent
d80556b2fb
commit
5a09d908bc
@ -1,3 +1,13 @@
|
||||
2012-11-21 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR libquadmath/55225
|
||||
* math/lgammaq.c (lgammaq): Use local variable if
|
||||
math.h does not provide signgam.
|
||||
* acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
|
||||
* configure.ac: Use it.
|
||||
* configure: Regenerate.
|
||||
* config.h.in: Regenerate.
|
||||
|
||||
2012-11-15 Tobias Burnus <burnus@net-b.de>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
|
@ -10,3 +10,20 @@ AC_DEFUN([AM_PROG_LIBTOOL])
|
||||
AC_DEFUN([AC_LIBTOOL_DLOPEN])
|
||||
AC_DEFUN([AC_PROG_LD])
|
||||
])
|
||||
|
||||
dnl Check whether POSIX's signgam is defined in math.h.
|
||||
AC_DEFUN([LIBQUAD_CHECK_MATH_H_SIGNGAM], [
|
||||
AC_CACHE_CHECK([whether the math.h includes POSIX's signgam],
|
||||
libgfor_cv_have_math_h_signgam, [
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <math.h>
|
||||
void foo(void) { signgam = 1; }]], [])],
|
||||
libgfor_cv_have_math_h_signgam=yes,
|
||||
libgfor_cv_have_math_h_signgam=no)
|
||||
CFLAGS="$save_CFLAGS"])
|
||||
if test $libgfor_cv_have_math_h_signgam = yes; then
|
||||
AC_DEFINE(HAVE_MATH_H_SIGNGAM, 1,
|
||||
[Define to 1 if the math.h includes POSIX's signgam.])
|
||||
fi])
|
||||
|
@ -45,6 +45,9 @@
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define to 1 if the math.h includes POSIX's signgam. */
|
||||
#undef HAVE_MATH_H_SIGNGAM
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
|
37
libquadmath/configure
vendored
37
libquadmath/configure
vendored
@ -11947,6 +11947,43 @@ fi
|
||||
done
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the math.h includes POSIX's signgam" >&5
|
||||
$as_echo_n "checking whether the math.h includes POSIX's signgam... " >&6; }
|
||||
if test "${libgfor_cv_have_math_h_signgam+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <math.h>
|
||||
void foo(void) { signgam = 1; }
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
libgfor_cv_have_math_h_signgam=yes
|
||||
else
|
||||
libgfor_cv_have_math_h_signgam=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
CFLAGS="$save_CFLAGS"
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgfor_cv_have_math_h_signgam" >&5
|
||||
$as_echo "$libgfor_cv_have_math_h_signgam" >&6; }
|
||||
if test $libgfor_cv_have_math_h_signgam = yes; then
|
||||
|
||||
$as_echo "#define HAVE_MATH_H_SIGNGAM 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
# If available, sqrtl and cbrtl speed up the calculation -
|
||||
# but they are not required
|
||||
if test x$gcc_no_link != xyes; then
|
||||
|
@ -113,6 +113,7 @@ AC_SUBST(toolexecdir)
|
||||
AC_SUBST(toolexeclibdir)
|
||||
|
||||
AC_CHECK_HEADERS(fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h printf.h errno.h)
|
||||
LIBQUAD_CHECK_MATH_H_SIGNGAM
|
||||
|
||||
# If available, sqrtl and cbrtl speed up the calculation -
|
||||
# but they are not required
|
||||
|
@ -69,7 +69,10 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||
|
||||
#include "quadmath-imp.h"
|
||||
#include <math.h> /* For extern int signgam. */
|
||||
|
||||
#ifdef HAVE_MATH_H_SIGNGAM
|
||||
#include <math.h> /* For POSIX's extern int signgam. */
|
||||
#endif
|
||||
|
||||
static const __float128 PIQ = 3.1415926535897932384626433832795028841972E0Q;
|
||||
static const __float128 MAXLGM = 1.0485738685148938358098967157129705071571E4928Q;
|
||||
@ -759,6 +762,9 @@ lgammaq (__float128 x)
|
||||
{
|
||||
__float128 p, q, w, z, nx;
|
||||
int i, nn;
|
||||
#ifndef HAVE_MATH_H_SIGNGAM
|
||||
int signgam;
|
||||
#endif
|
||||
|
||||
signgam = 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user