[Python-checkins] r82968 - in python/branches/release31-maint: Include/Python.h
stefan.krah
python-checkins at python.org
Mon Jul 19 15:00:48 CEST 2010
Author: stefan.krah
Date: Mon Jul 19 15:00:48 2010
New Revision: 82968
Log:
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.
........
Modified:
python/branches/release31-maint/ (props changed)
python/branches/release31-maint/Include/Python.h
Modified: python/branches/release31-maint/Include/Python.h
==============================================================================
--- python/branches/release31-maint/Include/Python.h (original)
+++ python/branches/release31-maint/Include/Python.h Mon Jul 19 15:00:48 2010
@@ -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"
More information about the Python-checkins
mailing list