From 558df9010915c8fe94f4d7f842e7c5aabbb06b14 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Sat, 1 May 2021 02:21:19 +0100 Subject: [PATCH] bpo-43916: Export the _PyStructSequence_InitType to fix build errors in the curses module (GH-25768) --- Doc/data/stable_abi.dat | 1 + Include/structseq.h | 4 +--- Misc/stable_abi.txt | 2 ++ PC/python3dll.c | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Doc/data/stable_abi.dat b/Doc/data/stable_abi.dat index 833228f7fd7..b21374a05cb 100644 --- a/Doc/data/stable_abi.dat +++ b/Doc/data/stable_abi.dat @@ -918,6 +918,7 @@ Py_tp_setattro Py_tp_str Py_tp_traverse Py_uintptr_t +_PyStructSequence_InitType _frame _node allocfunc diff --git a/Include/structseq.h b/Include/structseq.h index af3af415b01..890e03130b4 100644 --- a/Include/structseq.h +++ b/Include/structseq.h @@ -27,12 +27,10 @@ PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc); #endif -#ifdef Py_BUILD_CORE -extern int _PyStructSequence_InitType( +PyAPI_FUNC(int) _PyStructSequence_InitType( PyTypeObject *type, PyStructSequence_Desc *desc, unsigned long tp_flags); -#endif PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc); PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); diff --git a/Misc/stable_abi.txt b/Misc/stable_abi.txt index 2a802bd5f4b..d79746e0a4e 100644 --- a/Misc/stable_abi.txt +++ b/Misc/stable_abi.txt @@ -2121,6 +2121,8 @@ function PyObject_GetAiter added 3.10 data PyExc_EncodingWarning added 3.10 +function _PyStructSequence_InitType + added 3.10 # Support for Stable ABI in debug builds diff --git a/PC/python3dll.c b/PC/python3dll.c index 574d4dcad9f..30868c18646 100755 --- a/PC/python3dll.c +++ b/PC/python3dll.c @@ -35,6 +35,7 @@ EXPORT_FUNC(_PyObject_GC_Resize) EXPORT_FUNC(_PyObject_New) EXPORT_FUNC(_PyObject_NewVar) EXPORT_FUNC(_PyState_AddModule) +EXPORT_FUNC(_PyStructSequence_InitType) EXPORT_FUNC(_PyThreadState_Init) EXPORT_FUNC(_PyThreadState_Prealloc) EXPORT_FUNC(_PyTrash_deposit_object)