diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt 2020-06-21 20:54:24.848992803 +0200 @@ -85,11 +85,6 @@ target_compile_options(${libname} PRIVATE -Wno-deprecated-register) endif() - # Disables warnings due to new field tp_vectorcall in Python 3.8 - if(NOT MSVC AND ${python_version_string} VERSION_GREATER_EQUAL "3.8") - target_compile_options(${libname} PRIVATE -Wno-missing-field-initializers) - endif() - target_include_directories(${libname} PRIVATE ${CMAKE_SOURCE_DIR}/core/foundation/inc # needed for string_view backport diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-06-21 20:53:49.651914431 +0200 @@ -167,7 +167,8 @@ sizeof(CPPDataMember), // tp_basicsize 0, // tp_itemsize (destructor)pp_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -216,6 +217,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx 2020-06-21 20:53:49.651914431 +0200 @@ -158,7 +158,8 @@ sizeof(CPPExcInstance), // tp_basicsize 0, // tp_itemsize (destructor)ep_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -211,6 +212,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-06-21 20:53:49.651914431 +0200 @@ -746,7 +746,8 @@ sizeof(CPPInstance), // tp_basicsize 0, // tp_itemsize (destructor)op_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -798,6 +799,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-06-21 20:53:49.652914433 +0200 @@ -866,7 +866,8 @@ sizeof(CPPOverload), // tp_basicsize 0, // tp_itemsize (destructor)mp_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -915,6 +916,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx 2020-06-21 20:53:49.652914433 +0200 @@ -616,7 +616,8 @@ sizeof(CPyCppyy::CPPScope), // tp_basicsize 0, // tp_itemsize 0, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -669,6 +670,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-06-21 20:53:49.652914433 +0200 @@ -141,6 +141,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; namespace { diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-06-21 20:53:49.652914433 +0200 @@ -34,6 +34,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; //= long type allowed for reference passing ================================== @@ -60,6 +66,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; //- custom type representing typedef to pointer of class --------------------- @@ -90,6 +102,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; //= instancemethod object with a more efficient call function ================ @@ -255,6 +273,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; @@ -305,6 +329,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; @@ -364,6 +394,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-06-21 20:53:49.653914436 +0200 @@ -651,7 +651,8 @@ sizeof(CPyCppyy::LowLevelView),// tp_basicsize 0, // tp_itemsize (destructor)ll_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -701,6 +702,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-06-21 20:53:49.653914436 +0200 @@ -730,7 +730,8 @@ sizeof(TemplateProxy), // tp_basicsize 0, // tp_itemsize (destructor)tpp_dealloc, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -779,6 +780,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx --- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-06-14 17:51:48.000000000 +0200 +++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-06-21 20:53:49.653914436 +0200 @@ -82,6 +82,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; @@ -161,7 +167,8 @@ 0, // tp_basicsize 0, // tp_itemsize 0, // tp_dealloc - 0, // tp_print + 0, // tp_print (python < 3.8) + // tp_vectorcall_offset (python >= 3.8) 0, // tp_getattr 0, // tp_setattr 0, // tp_compare @@ -211,6 +218,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif +#if PY_VERSION_HEX >= 0x03080000 + , 0 // tp_vectorcall +#if PY_VERSION_HEX < 0x03090000 + , 0 // tp_print (python 3.8 only) +#endif +#endif }; } // namespace CPyCppyy