From 07d539d08bb54628d20978e97eb6e0ba263ac581 Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Tue, 14 Oct 2008 21:47:22 +0000 Subject: #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. --- Include/unicodeobject.h | 2 +- Misc/NEWS | 6 ++++++ Modules/_testcapimodule.c | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) 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)) diff --git a/Misc/NEWS b/Misc/NEWS index 3cfdc06..e583ff1 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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; -- cgit v0.12