Issue #11626: Add _SizeT functions to stable ABI.

This commit is contained in:
Martin v. Löwis 2012-06-24 00:00:30 +02:00
parent 788306a9ab
commit 75aeaa9b18
5 changed files with 21 additions and 2 deletions

View File

@ -23,6 +23,8 @@ extern "C" {
PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list);
#endif
/* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */
#if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
@ -31,13 +33,14 @@ PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *);
PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...);
PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...);
PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...);
#endif
#ifndef Py_LIMITED_API
PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kw);
#endif
PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
const char *, char **, va_list);
#endif
PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list);
PyAPI_FUNC(int) PyModule_AddObject(PyObject *, const char *, PyObject *);

View File

@ -10,6 +10,8 @@ What's New in Python 3.3.0 Beta 1?
Core and Builtins
-----------------
- Issue #11626: Add _SizeT functions to stable ABI.
- Issue #15146: Add PyType_FromSpecWithBases. Patch by Robin Schreiber.
- Issue #15142: Fix reference leak when deallocating instances of types

View File

@ -691,3 +691,9 @@ EXPORTS
_Py_SwappedOp=python33._Py_SwappedOp DATA
_Py_TrueStruct=python33._Py_TrueStruct DATA
_Py_VaBuildValue_SizeT=python33._Py_VaBuildValue_SizeT
_PyArg_Parse_SizeT=python33._PyArg_Parse_SizeT
_PyArg_ParseTuple_SizeT=python33._PyArg_ParseTuple_SizeT
_PyArg_ParseTupleAndKeywords_SizeT=python33._PyArg_ParseTupleAndKeywords_SizeT
_PyArg_VaParse_SizeT=python33._PyArg_VaParse_SizeT
_PyArg_VaParseTupleAndKeywords_SizeT=python33._PyArg_VaParseTupleAndKeywords_SizeT
_Py_BuildValue_SizeT=python33._Py_BuildValue_SizeT

View File

@ -7,8 +7,10 @@ out.write('LIBRARY "python33"\n')
out.write('EXPORTS\n')
inp = open("python3.def")
inp.readline()
line = inp.readline()
while line.strip().startswith(';'):
line = inp.readline()
line = inp.readline() # LIBRARY
assert line.strip()=='EXPORTS'
for line in inp:

View File

@ -690,3 +690,9 @@ _Py_NotImplementedStruct
_Py_SwappedOp
_Py_TrueStruct
_Py_VaBuildValue_SizeT
_PyArg_Parse_SizeT
_PyArg_ParseTuple_SizeT
_PyArg_ParseTupleAndKeywords_SizeT
_PyArg_VaParse_SizeT
_PyArg_VaParseTupleAndKeywords_SizeT
_Py_BuildValue_SizeT