[Cython] long long and VC6
Robert Bradshaw
robertwb at math.washington.edu
Fri Jan 2 23:20:43 CET 2009
On Jan 2, 2009, at 1:41 PM, Kirill Simonov wrote:
> Hi,
>
> I'm using Cython 0.10.3 to build an extension module and the
> generated C
> file does not compile under VC6, which I use to create a Windows
> binary
> package for Python 2.3. The culprit is the following expression:
>
> 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);
>
> in the function __Pyx_GetItemInt. It looks like VC6 does not know
> about
> "long long". I suppose Cython should respect HAVE_LONG_LONG and use
> PY_LONG_LONG macro instead of "long long".
Hmm... I don't have any experience with VC6, but it looks like a bug
to me. Could you file a bug report on trac? Also, do you know if
PY_LONG_LONG guaranteed to be 64+ bits?
- Robert
More information about the Cython-dev
mailing list