[Python-checkins] cpython (merge default -> default): Merge

antoine.pitrou python-checkins at python.org
Sun Jun 24 00:24:05 CEST 2012


http://hg.python.org/cpython/rev/b0c7e968bb68
changeset:   77656:b0c7e968bb68
parent:      77655:7ce45e2625c3
parent:      77653:3f14119e4af7
user:        Antoine Pitrou <solipsis at pitrou.net>
date:        Sun Jun 24 00:20:11 2012 +0200
summary:
  Merge

files:
  Include/modsupport.h |  5 ++++-
  Misc/NEWS            |  2 ++
  PC/python3.def       |  6 ++++++
  PC/python33gen.py    |  4 +++-
  PC/python33stub.def  |  6 ++++++
  5 files changed, 21 insertions(+), 2 deletions(-)


diff --git a/Include/modsupport.h b/Include/modsupport.h
--- a/Include/modsupport.h
+++ b/Include/modsupport.h
@@ -23,6 +23,8 @@
 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_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 *);
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
 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
diff --git a/PC/python3.def b/PC/python3.def
--- a/PC/python3.def
+++ b/PC/python3.def
@@ -691,3 +691,9 @@
   _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
diff --git a/PC/python33gen.py b/PC/python33gen.py
--- a/PC/python33gen.py
+++ b/PC/python33gen.py
@@ -7,8 +7,10 @@
 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:
diff --git a/PC/python33stub.def b/PC/python33stub.def
--- a/PC/python33stub.def
+++ b/PC/python33stub.def
@@ -690,3 +690,9 @@
 _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

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list