diff -r 481e8dd15c9c Cython/Compiler/ExprNodes.py --- a/Cython/Compiler/ExprNodes.py Tue Mar 10 10:21:26 2009 +0100 +++ b/Cython/Compiler/ExprNodes.py Tue Mar 10 14:10:51 2009 -0200 @@ -5403,7 +5403,7 @@ proto = """ static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, Py_ssize_t i, int is_unsigned) { PyObject *r; - PyObject *j = (likely(i >= 0) || !is_unsigned) ? PyInt_FromLong(i) : PyLong_FromUnsignedLongLong((sizeof(unsigned long long) > sizeof(Py_ssize_t) ? (1ULL << (sizeof(Py_ssize_t)*8)) : 0) + i); + PyObject *j = PyInt_FromSsize_t(i); if (!j) return 0; r = PyObject_GetItem(o, j); Py_DECREF(j); @@ -5466,7 +5466,7 @@ else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && (likely(i >= 0) || !is_unsigned)) r = PySequence_SetItem(o, i, v); else { - PyObject *j = (likely(i >= 0) || !is_unsigned) ? PyInt_FromLong(i) : PyLong_FromUnsignedLongLong((sizeof(unsigned long long) > sizeof(Py_ssize_t) ? (1ULL << (sizeof(Py_ssize_t)*8)) : 0) + i); + PyObject *j = PyInt_FromSsize_t(i); if (!j) return -1; r = PyObject_SetItem(o, j, v); @@ -5487,7 +5487,7 @@ if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && (likely(i >= 0) || !is_unsigned)) r = PySequence_DelItem(o, i); else { - PyObject *j = (likely(i >= 0) || !is_unsigned) ? PyInt_FromLong(i) : PyLong_FromUnsignedLongLong((sizeof(unsigned long long) > sizeof(Py_ssize_t) ? (1ULL << (sizeof(Py_ssize_t)*8)) : 0) + i); + PyObject *j = PyInt_FromSsize_t(i); if (!j) return -1; r = PyObject_DelItem(o, j);