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
