]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
backport tim_one's checkin of
authorMichael W. Hudson <mwh@python.net>
Mon, 11 Mar 2002 10:17:17 +0000 (10:17 +0000)
committerMichael W. Hudson <mwh@python.net>
Mon, 11 Mar 2002 10:17:17 +0000 (10:17 +0000)
commitf97cf81f2f567e3b47ba25f68da504e81ded71eb
tree1902c3b4cb613a37f6ba2f8a1b94f589235183d1
parentb5c204249f56d78b67a3f496abd760365ff6d582
backport tim_one's checkin of
    revision 2.111 of floatobject.c

SF bug 525705:  [2.2] underflow raise OverflowException.
Another year in the quest to out-guess random C behavior.

Added macros Py_ADJUST_ERANGE1(X) and Py_ADJUST_ERANGE2(X, Y).  The latter
is useful for functions with complex results.  Two corrections to errno-
after-libm-call are attempted:

1. If the platform set errno to ERANGE due to underflow, clear errno.
   Some unknown subset of libm versions and link options do this.  It's
   allowed by C89, but I never figured anyone would do it.

2. If the platform did not set errno but overflow occurred, force
   errno to ERANGE.  C89 required setting errno to ERANGE, but C99
   doesn't.  Some unknown subset of libm versions and link options do
   it the C99 way now.

Bugfix candidate, but hold off until some Linux people actually try it,
with and without -lieee.  I'll send a help plea to Python-Dev.
Objects/floatobject.c