Mercurial > cpython-lru_cache-weakref
diff Include/Python.h @ 63092:c96a722be1db 2.7
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:14:01 +0000 |
| parents | d11fbc796499 |
| children | b36cb4602e21 |
line wrap: on
line diff
--- a/Include/Python.h Sun Jul 18 14:26:34 2010 +0000 +++ b/Include/Python.h Mon Jul 19 13:14:01 2010 +0000 @@ -150,13 +150,8 @@ Set ml_flags in the PyMethodDef to METH_NOARGS. */ #define PyArg_NoArgs(v) PyArg_Parse(v, "") -/* 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"
