mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
Set up errno properly for yn.
This commit is contained in:
parent
bf9e20711e
commit
354691b7b5
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2012-07-25 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
[BZ #6808]
|
||||
* math/libm-test.inc (yn_test): Add another test.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_ynl): Set errno
|
||||
to ERANGE when the result is +-Inf.
|
||||
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_ynl): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_ynl): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise.
|
||||
|
||||
2012-07-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* conform/data/time.h-data (NULL): Use macro-constant. Require
|
||||
|
2
NEWS
2
NEWS
@ -9,7 +9,7 @@ Version 2.17
|
||||
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
6778, 14042, 14151, 14154, 14157, 14173, 14283, 14328, 14331, 14337,
|
||||
6778, 6808, 14042, 14151, 14154, 14157, 14173, 14283, 14328, 14331, 14337,
|
||||
14347, 14349
|
||||
|
||||
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
|
||||
|
@ -9019,6 +9019,10 @@ yn_test (void)
|
||||
and FLT_MIN. See Bug 14173. */
|
||||
TEST_ff_f (yn, 10, min_value, minus_infty, OVERFLOW_EXCEPTION);
|
||||
|
||||
errno = 0;
|
||||
TEST_ff_f (yn, 10, min_value, minus_infty, OVERFLOW_EXCEPTION);
|
||||
check_int ("errno for yn(10,-min) == ERANGE", errno, ERANGE, 0, 0, 0);
|
||||
|
||||
END (yn);
|
||||
}
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -276,6 +277,9 @@ __ieee754_yn(int n, double x)
|
||||
GET_HIGH_WORD(high,b);
|
||||
a = temp;
|
||||
}
|
||||
/* If B is +-Inf, set up errno accordingly. */
|
||||
if (! __finite (b))
|
||||
__set_errno (ERANGE);
|
||||
}
|
||||
if(sign>0) return b; else return -b;
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -199,6 +200,9 @@ __ieee754_ynf(int n, float x)
|
||||
GET_FLOAT_WORD(ib,b);
|
||||
a = temp;
|
||||
}
|
||||
/* If B is +-Inf, set up errno accordingly. */
|
||||
if (! __finitef (b))
|
||||
__set_errno (ERANGE);
|
||||
if(sign>0) return b; else return -b;
|
||||
}
|
||||
strong_alias (__ieee754_ynf, __ynf_finite)
|
||||
|
@ -56,6 +56,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -385,6 +386,9 @@ __ieee754_ynl (int n, long double x)
|
||||
a = temp;
|
||||
}
|
||||
}
|
||||
/* If B is +-Inf, set up errno accordingly. */
|
||||
if (! __finitel (b))
|
||||
__set_errno (ERANGE);
|
||||
if (sign > 0)
|
||||
return b;
|
||||
else
|
||||
|
@ -56,6 +56,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -387,6 +388,9 @@ __ieee754_ynl (int n, long double x)
|
||||
a = temp;
|
||||
}
|
||||
}
|
||||
/* If B is +-Inf, set up errno accordingly. */
|
||||
if (! __finitel (b))
|
||||
__set_errno (ERANGE);
|
||||
if (sign > 0)
|
||||
return b;
|
||||
else
|
||||
|
@ -56,6 +56,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -369,6 +370,9 @@ __ieee754_ynl (int n, long double x)
|
||||
a = temp;
|
||||
}
|
||||
}
|
||||
/* If B is +-Inf, set up errno accordingly. */
|
||||
if (! __finitel (b))
|
||||
__set_errno (ERANGE);
|
||||
if (sign > 0)
|
||||
return b;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user