[Python-checkins] python/dist/src/Include pyport.h,2.63,2.64

anthonybaxter at users.sourceforge.net anthonybaxter at users.sourceforge.net
Tue Sep 30 10:59:01 EDT 2003


Update of /cvsroot/python/python/dist/src/Include
In directory sc8-pr-cvs1:/tmp/cvs-serv9818
Modified Files:
	pyport.h 
Log Message:
workaround for OpenBSD compiler bug w.r.t. handling of overflows.
Index: pyport.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pyport.h,v
retrieving revision 2.63
retrieving revision 2.64
diff -C2 -d -r2.63 -r2.64
*** pyport.h	4 Sep 2003 11:59:50 -0000	2.63
--- pyport.h	30 Sep 2003 14:58:59 -0000	2.64
***************
*** 258,263 ****
 * X is evaluated more than once.
 * Some platforms have better way to spell this, so expect some #ifdef'ery.
 */
! #ifdef __FreeBSD__
 #define Py_OVERFLOWED(X) isinf(X)
 #else
--- 258,272 ----
 * X is evaluated more than once.
 * Some platforms have better way to spell this, so expect some #ifdef'ery.
+ *
+ * OpenBSD uses 'isinf()' because a compiler bug on that platform causes
+ * the longer macro version to be mis-compiled. This isn't optimal, and 
+ * should be removed once a newer compiler is available on that platform.
+ * The system that had the failure was running OpenBSD 3.2 on Intel, with
+ * gcc 2.95.3.
+ *
+ * According to Tim's checkin, the FreeBSD systems use isinf() to work 
+ * around a FPE bug on that platform.
 */
! #if defined(__FreeBSD__) || defined(__OpenBSD__)
 #define Py_OVERFLOWED(X) isinf(X)
 #else


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /