[Python-checkins] bpo-33012: Fix more invalid function cast warnings with gcc 8. (GH-10751)

Serhiy Storchaka webhook-mailer at python.org
Tue Nov 27 14:34:37 EST 2018


https://github.com/python/cpython/commit/1c607155c9e363489036ae6258b165a3fae75134
commit: 1c607155c9e363489036ae6258b165a3fae75134
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2018-11-27T21:34:27+02:00
summary:

bpo-33012: Fix more invalid function cast warnings with gcc 8. (GH-10751)

Fix warnings with gcc 8 for wrapperfunc <-> wrapperfunc_kwds casts.

files:
M Objects/descrobject.c
M Objects/typeobject.c

diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index d8dbfa9a4792..e129d0c48f27 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -346,7 +346,7 @@ wrapperdescr_raw_call(PyWrapperDescrObject *descr, PyObject *self,
     wrapperfunc wrapper = descr->d_base->wrapper;
 
     if (descr->d_base->flags & PyWrapperFlag_KEYWORDS) {
-        wrapperfunc_kwds wk = (wrapperfunc_kwds)wrapper;
+        wrapperfunc_kwds wk = (wrapperfunc_kwds)(void(*)(void))wrapper;
         return (*wk)(self, args, descr->d_wrapped, kwds);
     }
 
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 73d385b0f8a0..d1f1e8cd24b7 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6822,7 +6822,7 @@ static slotdef slotdefs[] = {
            "__repr__($self, /)\n--\n\nReturn repr(self)."),
     TPSLOT("__hash__", tp_hash, slot_tp_hash, wrap_hashfunc,
            "__hash__($self, /)\n--\n\nReturn hash(self)."),
-    FLSLOT("__call__", tp_call, slot_tp_call, (wrapperfunc)wrap_call,
+    FLSLOT("__call__", tp_call, slot_tp_call, (wrapperfunc)(void(*)(void))wrap_call,
            "__call__($self, /, *args, **kwargs)\n--\n\nCall self as a function.",
            PyWrapperFlag_KEYWORDS),
     TPSLOT("__str__", tp_str, slot_tp_str, wrap_unaryfunc,
@@ -6858,7 +6858,7 @@ static slotdef slotdefs[] = {
     TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set,
            wrap_descr_delete,
            "__delete__($self, instance, /)\n--\n\nDelete an attribute of instance."),
-    FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
+    FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)(void(*)(void))wrap_init,
            "__init__($self, /, *args, **kwargs)\n--\n\n"
            "Initialize self.  See help(type(self)) for accurate signature.",
            PyWrapperFlag_KEYWORDS),



More information about the Python-checkins mailing list