2003-04-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
	Always initialize *signgamp before returning an error.
This commit is contained in:
Ulrich Drepper 2003-04-05 22:13:31 +00:00
parent a5392bed09
commit abefbc51f4
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2003-04-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
Always initialize *signgamp before returning an error.
2003-04-05 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/i386/setcontext.S: Rewrite to avoid writing

View File

@ -1,5 +1,5 @@
/* Implementation of gamma function according to ISO C.
Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
Copyright (C) 1997, 1999, 2001, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -45,8 +45,11 @@ __ieee754_gammal_r (long double x, int *signgamp)
return x - x;
}
if ((es & 0x7fff) == 0x7fff && ((hx & 0x7fffffff) | lx) != 0)
{
/* NaN, return it. */
*signgamp = 0;
return x;
}
if ((es & 0x8000) != 0 && x < 0xffffffff && __rintl (x) == x)
{
/* Return value for integer x < 0 is NaN with invalid exception. */