Commit 7fda57f5 authored by Stefan Krah's avatar Stefan Krah

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.
........
parent a6bf3356
......@@ -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"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment