iucar / rpms / root

Forked from rpms/root 3 years ago
Clone
Blob Blame History Raw
diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx
--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx	2020-03-15 19:43:20.946684699 +0100
@@ -845,7 +845,8 @@
    sizeof(MethodProxy),       // 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
@@ -894,6 +895,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx
--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx	2020-03-15 19:43:20.946684699 +0100
@@ -398,7 +398,8 @@
    sizeof(ObjectProxy),       // 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
@@ -450,6 +451,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx
--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx	2020-03-15 19:43:20.946684699 +0100
@@ -133,7 +133,8 @@
    sizeof(PropertyProxy),     // 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
@@ -182,6 +183,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx
--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx	2020-03-15 19:43:20.946684699 +0100
@@ -232,7 +232,8 @@
    sizeof(PyROOT::PyRootClass),// 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
@@ -281,6 +282,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx
--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx	2020-03-15 19:43:20.947684688 +0100
@@ -944,6 +944,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
    };
 
    static PyObject* vector_iter( PyObject* v ) {
diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx
--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/RootModule.cxx	2020-03-15 19:43:20.948684678 +0100
@@ -134,6 +134,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
 };
 
 PyObject _PyROOT_NullPtrStruct = {
diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx
--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx	2020-03-15 19:43:20.948684678 +0100
@@ -19,7 +19,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
@@ -69,6 +70,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 ==================================
@@ -78,7 +85,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
@@ -128,6 +136,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 ================
@@ -277,7 +291,8 @@
    0,                         // tp_basicsize
    0,                         // tp_itemsize
    (destructor)im_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
@@ -327,6 +342,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx
--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx	2020-03-15 19:43:20.948684678 +0100
@@ -492,7 +492,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
@@ -541,6 +542,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx
--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx	2020-03-15 19:43:20.948684678 +0100
@@ -42,7 +42,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
@@ -92,6 +93,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 PyROOT
diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt	2020-03-15 19:43:20.949684667 +0100
@@ -64,11 +64,6 @@
     target_compile_options(cppyy 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(cppyy PRIVATE -Wno-missing-field-initializers)
-endif()
-
 target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport
 
 target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS}
diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx	2020-03-15 19:43:20.949684667 +0100
@@ -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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx	2020-03-15 19:43:20.949684667 +0100
@@ -565,7 +565,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
@@ -617,6 +618,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx	2020-03-15 19:43:20.950684656 +0100
@@ -889,7 +889,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
@@ -938,6 +939,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx	2020-03-15 19:43:20.950684656 +0100
@@ -596,7 +596,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
@@ -649,6 +650,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx	2020-03-15 19:43:20.951684646 +0100
@@ -140,6 +140,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx	2020-03-15 19:43:20.951684646 +0100
@@ -33,6 +33,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 ==================================
@@ -59,6 +65,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 ---------------------
@@ -89,6 +101,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 ================
@@ -254,6 +272,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
 };
 
 
@@ -304,6 +328,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
 };
 
 
@@ -355,6 +385,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx	2020-03-15 19:43:20.951684646 +0100
@@ -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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx	2020-03-15 19:43:20.952684635 +0100
@@ -709,7 +709,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
@@ -758,6 +759,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.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx	2020-03-15 16:21:25.000000000 +0100
+++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx	2020-03-15 19:43:20.952684635 +0100
@@ -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