summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Krah <stefan@bytereef.org>2010-07-19 13:00:48 (GMT)
committerStefan Krah <stefan@bytereef.org>2010-07-19 13:00:48 (GMT)
commit5bf0664175909eba6a0f440e2b2f8d4d227bb992 (patch)
treeac4023fb1712cffdf687cee8597032fc204f2f44
parent18b00563db690bba481e7388c6c72cd9a48f0223 (diff)
downloadcpython-5bf0664175909eba6a0f440e2b2f8d4d227bb992.zip
cpython-5bf0664175909eba6a0f440e2b2f8d4d227bb992.tar.gz
cpython-5bf0664175909eba6a0f440e2b2f8d4d227bb992.tar.bz2
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. ........
-rw-r--r--Include/Python.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/Include/Python.h b/Include/Python.h
index 5c6e1f2..0d8a5f5 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -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"