diff Include/Python.h @ 63091:c90021fd1fbf 3.1

Merged revisions 82966 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r82966 | stefan.krah | 2010-07-19 14:36:57 +0200 (Mon, 19 Jul 2010) | 13 lines Issue #9036: Throughout the code base, Py_CHARMASK is used on 8-bit wide signed/unsigned chars or on integers directly derived from those. In all cases, it could be replaced by a simple cast to (unsigned char). Reasons for the change: a) Make the comment more explicit. b) If char is unsigned, the cast is optimized away. c) If char is unsigned, gcc emits spurious "array subscript has type 'char'" warnings. ........
author Stefan Krah <stefan@bytereef.org>
date Mon, 19 Jul 2010 13:00:48 +0000
parents 261f594014c6
children 3c9232a684ae
line wrap: on
line diff
--- a/Include/Python.h	Mon Jul 19 07:35:16 2010 +0000
+++ b/Include/Python.h	Mon Jul 19 13:00:48 2010 +0000
@@ -126,13 +126,8 @@
 /* _Py_Mangle is defined in compile.c */
 PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
 
-/* Convert a possibly signed character to a nonnegative int */
-/* XXX This assumes characters are 8 bits wide */
-#ifdef __CHAR_UNSIGNED__
-#define Py_CHARMASK(c)		(c)
-#else
+/* Argument must be a char or an int in [-128, 127] or [0, 255]. */
 #define Py_CHARMASK(c)		((unsigned char)((c) & 0xff))
-#endif
 
 #include "pyfpe.h"