Sridhar Ratnakumar <sridh...@activestate.com> added the comment:

On 2010-06-18, at 11:47 AM, Eric Smith wrote:

> 
> Eric Smith <e...@trueblade.com> added the comment:
> 
> I suppose that's correct, although I have no way to test it.

I have tested it on Linux 64-bit by running `test.regrtest`. It doesn't seem to 
break anything.

> I haven't spent a lot of time looking at the code in tokenizer.c, but if 
> there's a problem with sign-extending signed chars, it wouldn't surprise me 
> if it shows up in more than one place.

My conclusive understanding of the problem: `register int` is 4 bytes in size, 
and this (`c`) is used without any cast as an index to the array 
_Py_ctype_table (in pyctype.c) ... by passing it to `Py_CHARMASK` which, if 
CHAR_UNSIGNED is defined (as is the case with AIX compiler), *assumes* that `c` 
will always be a char. And that assumption is not respected by 
tokenizer.c:tok_get which (indirectly) passes `register int` to this macro.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue9020>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to