Commit 4becc815 authored by Stefan Behnel's avatar Stefan Behnel

Merge branch '0.29.x'

parents 0919f3e1 f10a0a39
...@@ -139,6 +139,16 @@ Other changes ...@@ -139,6 +139,16 @@ Other changes
* Support for Python 2.6 was removed. * Support for Python 2.6 was removed.
0.29.10 (2019-06-0?)
====================
Bugs fixed
----------
* Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots.
(Github issue #2976)
0.29.9 (2019-05-29) 0.29.9 (2019-05-29)
=================== ===================
......
...@@ -5032,7 +5032,10 @@ class CClassDefNode(ClassDefNode): ...@@ -5032,7 +5032,10 @@ class CClassDefNode(ClassDefNode):
code.error_goto(entry.pos))) code.error_goto(entry.pos)))
# Don't inherit tp_print from builtin types, restoring the # Don't inherit tp_print from builtin types, restoring the
# behavior of using tp_repr or tp_str instead. # behavior of using tp_repr or tp_str instead.
# ("tp_print" was renamed to "tp_vectorcall_offset" in Py3.8b1)
code.putln("#if PY_VERSION_HEX < 0x030800B1")
code.putln("%s.tp_print = 0;" % typeobj_cname) code.putln("%s.tp_print = 0;" % typeobj_cname)
code.putln("#endif")
# Use specialised attribute lookup for types with generic lookup but no instance dict. # Use specialised attribute lookup for types with generic lookup but no instance dict.
getattr_slot_func = TypeSlots.get_slot_code_by_name(scope, 'tp_getattro') getattr_slot_func = TypeSlots.get_slot_code_by_name(scope, 'tp_getattro')
......
...@@ -916,6 +916,7 @@ slot_table = ( ...@@ -916,6 +916,7 @@ slot_table = (
EmptySlot("tp_del"), EmptySlot("tp_del"),
EmptySlot("tp_version_tag"), EmptySlot("tp_version_tag"),
EmptySlot("tp_finalize", ifdef="PY_VERSION_HEX >= 0x030400a1"), EmptySlot("tp_finalize", ifdef="PY_VERSION_HEX >= 0x030400a1"),
EmptySlot("tp_vectorcall", ifdef="PY_VERSION_HEX >= 0x030800b1"),
) )
#------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------
......
...@@ -421,6 +421,9 @@ static PyTypeObject __pyx_AsyncGenType_type = { ...@@ -421,6 +421,9 @@ static PyTypeObject __pyx_AsyncGenType_type = {
#elif PY_VERSION_HEX >= 0x030400a1 #elif PY_VERSION_HEX >= 0x030400a1
0, /* tp_finalize */ 0, /* tp_finalize */
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
...@@ -650,6 +653,9 @@ static PyTypeObject __pyx__PyAsyncGenASendType_type = { ...@@ -650,6 +653,9 @@ static PyTypeObject __pyx__PyAsyncGenASendType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /* tp_finalize */ 0, /* tp_finalize */
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
...@@ -759,6 +765,9 @@ static PyTypeObject __pyx__PyAsyncGenWrappedValueType_type = { ...@@ -759,6 +765,9 @@ static PyTypeObject __pyx__PyAsyncGenWrappedValueType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /* tp_finalize */ 0, /* tp_finalize */
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
...@@ -1038,6 +1047,9 @@ static PyTypeObject __pyx__PyAsyncGenAThrowType_type = { ...@@ -1038,6 +1047,9 @@ static PyTypeObject __pyx__PyAsyncGenAThrowType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /* tp_finalize */ 0, /* tp_finalize */
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
......
...@@ -1531,6 +1531,9 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = { ...@@ -1531,6 +1531,9 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/ 0, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS #if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS
...@@ -1682,6 +1685,9 @@ static PyTypeObject __pyx_CoroutineType_type = { ...@@ -1682,6 +1685,9 @@ static PyTypeObject __pyx_CoroutineType_type = {
#elif PY_VERSION_HEX >= 0x030400a1 #elif PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/ 0, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
static int __pyx_Coroutine_init(void) { static int __pyx_Coroutine_init(void) {
...@@ -1787,6 +1793,9 @@ static PyTypeObject __pyx_IterableCoroutineType_type = { ...@@ -1787,6 +1793,9 @@ static PyTypeObject __pyx_IterableCoroutineType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
__Pyx_Coroutine_del, /*tp_finalize*/ __Pyx_Coroutine_del, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
...@@ -1889,6 +1898,9 @@ static PyTypeObject __pyx_GeneratorType_type = { ...@@ -1889,6 +1898,9 @@ static PyTypeObject __pyx_GeneratorType_type = {
#elif PY_VERSION_HEX >= 0x030400a1 #elif PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/ 0, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
static int __pyx_Generator_init(void) { static int __pyx_Generator_init(void) {
......
...@@ -731,6 +731,9 @@ static PyTypeObject __pyx_CyFunctionType_type = { ...@@ -731,6 +731,9 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/ 0, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
...@@ -1204,6 +1207,9 @@ static PyTypeObject __pyx_FusedFunctionType_type = { ...@@ -1204,6 +1207,9 @@ static PyTypeObject __pyx_FusedFunctionType_type = {
#if PY_VERSION_HEX >= 0x030400a1 #if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/ 0, /*tp_finalize*/
#endif #endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
}; };
static int __pyx_FusedFunction_init(void) { static int __pyx_FusedFunction_init(void) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment