I've not closed the ticket, because I would like to know your
opinions. For your convenience, you have below my comments.

Pushed: http://hg.cython.org/cython-devel/rev/1a9bfb4ff18a
Tested: Linux32/64 and Windows32 (MSVC and MinGW)

Comments: 'ssize_t' is not a C99 standard type. If available, core
Python(>2.4) defines Py_ssize_t to ssize_t. If ssize_t is not
available, then any Cython code using ssize_t will fail at C compile
time. I do not think we should #define or typedef ssize_t if it is
missing, but raise your voice if you do not agree. For Py>=2.5,
detecting a missing ssize_t is trivial (macro available pyconfig.h)
and then we could conditionally "#define ssize_t Py_ssize_t" (or
ptrdiff_t).

For older Python(<2.5), the to_py/from_py conversions will end-up
being performed with the PyInt_{As|From}Long() functions, so things
will be fine for Linux{32|64}, Windows32, and not sure what happens on
OS X 32/64.

PS: From the list of mayor platforms, Win64 is the only one where
things are broken for Py<2.5 . Provided that full 64bits support was
introduced in Py2.5, I do not actually care too much. If anyone
complains about this, I'll politely ask her to donate a Win64 license
;-) in order to support Cython development.


-- 
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to