summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Krah <stefan@bytereef.org>2010-07-19 13:36:13 (GMT)
committerStefan Krah <stefan@bytereef.org>2010-07-19 13:36:13 (GMT)
commitd483a1a12b5ab88cc32f140e537fc172cb0c423d (patch)
treee5434968023aecef343982949dd5ca43413963a3
parenta63726ffc887cdfc775b9ef6b4091a12511a5555 (diff)
downloadcpython-d483a1a12b5ab88cc32f140e537fc172cb0c423d.zip
cpython-d483a1a12b5ab88cc32f140e537fc172cb0c423d.tar.gz
cpython-d483a1a12b5ab88cc32f140e537fc172cb0c423d.tar.bz2
Merged revisions 82969 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint ........ r82969 | stefan.krah | 2010-07-19 15:14:01 +0200 (Mon, 19 Jul 2010) | 14 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. ........
-rw-r--r--Include/Python.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/Include/Python.h b/Include/Python.h
index 1a05116..b09b4bb 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -147,13 +147,8 @@ PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
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"