Fix for Python 3.9 https://github.com/FreeCAD/FreeCAD/commit/ae641dc5278efafa22b168fc196875558b92e436 diff --git src/Base/swigpyrun_1.3.25.h src/Base/swigpyrun_1.3.25.h index 91717210b..9ebadbc83 100644 --- src/Base/swigpyrun_1.3.25.h +++ src/Base/swigpyrun_1.3.25.h @@ -699,7 +699,11 @@ PySwigObject_type(void) { 0, /*tp_itemsize*/ /* methods */ (destructor)PySwigObject_dealloc, /*tp_dealloc*/ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigObject_print, /*tp_print*/ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /*tp_getattr*/ (setattrfunc)0, /*tp_setattr*/ (cmpfunc)PySwigObject_compare, /*tp_compare*/ @@ -859,7 +863,11 @@ PySwigPacked_type(void) { 0, /*tp_itemsize*/ /* methods */ (destructor)PySwigPacked_dealloc, /*tp_dealloc*/ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigPacked_print, /*tp_print*/ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /*tp_getattr*/ (setattrfunc)0, /*tp_setattr*/ (cmpfunc)PySwigPacked_compare, /*tp_compare*/ diff --git src/Base/swigpyrun_1.3.33.h src/Base/swigpyrun_1.3.33.h index f83ac1e89..afd5a8c50 100644 --- src/Base/swigpyrun_1.3.33.h +++ src/Base/swigpyrun_1.3.33.h @@ -1620,7 +1620,11 @@ _PySwigObject_type(void) { sizeof(PySwigObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigObject_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigObject_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif #if PY_VERSION_HEX < 0x02020000 (getattrfunc)PySwigObject_getattr, /* tp_getattr */ #else @@ -1790,7 +1794,11 @@ _PySwigPacked_type(void) { sizeof(PySwigPacked), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigPacked_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigPacked_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /* tp_getattr */ (setattrfunc)0, /* tp_setattr */ (cmpfunc)PySwigPacked_compare, /* tp_compare */ diff --git src/Base/swigpyrun_1.3.36.h src/Base/swigpyrun_1.3.36.h index 02c58ad8a..12ad41e12 100644 --- src/Base/swigpyrun_1.3.36.h +++ src/Base/swigpyrun_1.3.36.h @@ -1628,7 +1628,12 @@ _PySwigObject_type(void) { sizeof(PySwigObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigObject_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigObject_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif + #if PY_VERSION_HEX < 0x02020000 (getattrfunc)PySwigObject_getattr, /* tp_getattr */ #else @@ -1798,7 +1803,11 @@ _PySwigPacked_type(void) { sizeof(PySwigPacked), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigPacked_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)PySwigPacked_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /* tp_getattr */ (setattrfunc)0, /* tp_setattr */ (cmpfunc)PySwigPacked_compare, /* tp_compare */ diff --git src/Base/swigpyrun_1.3.38.h src/Base/swigpyrun_1.3.38.h index dae058c20..7cacc1579 100644 --- src/Base/swigpyrun_1.3.38.h +++ src/Base/swigpyrun_1.3.38.h @@ -1741,7 +1741,11 @@ _PySwigObject_type(void) { sizeof(SwigPyObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)SwigPyObject_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)SwigPyObject_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif #if PY_VERSION_HEX < 0x02020000 (getattrfunc)SwigPyObject_getattr, /* tp_getattr */ #else @@ -1919,7 +1923,11 @@ _PySwigPacked_type(void) { sizeof(SwigPyPacked), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)SwigPyPacked_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /* tp_getattr */ (setattrfunc)0, /* tp_setattr */ (cmpfunc)SwigPyPacked_compare, /* tp_compare */ diff --git src/Base/swigpyrun_1.3.40.h src/Base/swigpyrun_1.3.40.h index 136ba809f..400db8b47 100644 --- src/Base/swigpyrun_1.3.40.h +++ src/Base/swigpyrun_1.3.40.h @@ -1766,7 +1766,11 @@ _PySwigObject_type(void) { sizeof(SwigPyObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)SwigPyObject_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 (printfunc)SwigPyObject_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif #if PY_VERSION_HEX < 0x02020000 (getattrfunc)SwigPyObject_getattr, /* tp_getattr */ #else @@ -1947,8 +1951,12 @@ _PySwigPacked_type(void) { (char *)"SwigPyPacked", /* tp_name */ sizeof(SwigPyPacked), /* tp_basicsize */ 0, /* tp_itemsize */ - (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ - (printfunc)SwigPyPacked_print, /* tp_print */ + (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ +#if PY_VERSION_HEX < 0x03080000 + (printfunc)SwigPyPacked_print, /* tp_print */ +#else + 0, /*tp_vectorcall_offset*/ +#endif (getattrfunc)0, /* tp_getattr */ (setattrfunc)0, /* tp_setattr */ #if PY_VERSION_HEX>=0x03000000 diff --git src/CXX/Python3/cxx_extensions.cxx src/CXX/Python3/cxx_extensions.cxx index fb3da455f..9ff94612f 100644 --- src/CXX/Python3/cxx_extensions.cxx +++ src/CXX/Python3/cxx_extensions.cxx @@ -381,7 +381,11 @@ PythonType::PythonType( size_t basic_size, int itemsize, const char *default_nam // Methods to implement standard operations table->tp_dealloc = (destructor)standard_dealloc; +#if PY_VERSION_HEX < 0x03080000 table->tp_print = 0; +#else + table->tp_vectorcall_offset = 0; +#endif table->tp_getattr = 0; table->tp_setattr = 0; table->tp_repr = 0; @@ -524,7 +528,9 @@ PythonType &PythonType::supportClass() #ifdef PYCXX_PYTHON_2TO3 PythonType &PythonType::supportPrint() { +#if PY_VERSION_HEX < 0x03080000 table->tp_print = print_handler; +#endif return *this; } #endif