diff options
author | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-10-14 21:47:22 (GMT) |
---|---|---|
committer | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-10-14 21:47:22 (GMT) |
commit | 07d539d08bb54628d20978e97eb6e0ba263ac581 (patch) | |
tree | 839d59e562f597ef5dd5903013f1817523dc4599 | |
parent | 0ecbccad2d032366ffa8a920ac7c159e3772fb27 (diff) | |
download | cpython-07d539d08bb54628d20978e97eb6e0ba263ac581.zip cpython-07d539d08bb54628d20978e97eb6e0ba263ac581.tar.gz cpython-07d539d08bb54628d20978e97eb6e0ba263ac581.tar.bz2 |
#4122: On Windows, Py_UNICODE_ISSPACE cannot be used in an extension module:
compilation fails with "undefined reference to _Py_ascii_whitespace"
Will backport to 2.6.
-rw-r--r-- | Include/unicodeobject.h | 2 | ||||
-rw-r--r-- | Misc/NEWS | 6 | ||||
-rw-r--r-- | Modules/_testcapimodule.c | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index 057f770..ee9fec1 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -354,7 +354,7 @@ typedef PY_UNICODE_TYPE Py_UNICODE; in most situations is solely ASCII whitespace, we optimize for the common case by using a quick look-up table with an inlined check. */ -extern const unsigned char _Py_ascii_whitespace[]; +PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[]; #define Py_UNICODE_ISSPACE(ch) \ ((ch) < 128U ? _Py_ascii_whitespace[(ch)] : _PyUnicode_IsWhitespace(ch)) @@ -36,6 +36,12 @@ Build - Issue #3758: Add ``patchcheck`` build target to .PHONY. +C-API +----- + +- Issue #4122: On Windows, fix a compilation error when using the + Py_UNICODE_ISSPACE macro in an extension module. + What's New in Python 2.6 final ============================== diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index f3a9f5c..adb04c0 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -484,6 +484,10 @@ test_u_code(PyObject *self) Py_UNICODE *value; int len; + /* issue4122: Undefined reference to _Py_ascii_whitespace on Windows */ + /* Just use the macro and check that it compiles */ + int x = Py_UNICODE_ISSPACE(25); + tuple = PyTuple_New(1); if (tuple == NULL) return NULL; |