From a8af2862ab3a6207b13b562388b9cfb453c0fa20 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 25 Jan 2019 11:29:05 +0000 Subject: [PATCH] gtypemodule: Cast *_init functions to void(*)(void) first This is an analogous commit to c1f5e528. The original fix only touched gtype.h and not gtypemodule.h. The *_init() functions have prototypes incompatible with *InitFunc types they are being cast to. This upsets GCC 8's -Wcast-function-type that's enabled by default with -Wextra. Let's not have the public header files emit a warning and neutralize it by doing a void(*)(void) cast first. Signed-off-by: Philip Withnall https://gitlab.gnome.org/GNOME/glib/issues/1666 --- gobject/gtypemodule.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gobject/gtypemodule.h b/gobject/gtypemodule.h index deeadcdd3..5c4025063 100644 --- a/gobject/gtypemodule.h +++ b/gobject/gtypemodule.h @@ -204,12 +204,12 @@ type_name##_register_type (GTypeModule *type_module) \ sizeof (TypeName##Class), \ (GBaseInitFunc) NULL, \ (GBaseFinalizeFunc) NULL, \ - (GClassInitFunc) type_name##_class_intern_init, \ - (GClassFinalizeFunc) type_name##_class_finalize, \ + (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \ + (GClassFinalizeFunc)(void (*)(void)) type_name##_class_finalize, \ NULL, /* class_data */ \ sizeof (TypeName), \ 0, /* n_preallocs */ \ - (GInstanceInitFunc) type_name##_init, \ + (GInstanceInitFunc)(void (*)(void)) type_name##_init, \ NULL /* value_table */ \ }; \ type_name##_type_id = g_type_module_register_type (type_module, \ @@ -238,7 +238,7 @@ type_name##_register_type (GTypeModule *type_module) \ */ #define G_IMPLEMENT_INTERFACE_DYNAMIC(TYPE_IFACE, iface_init) { \ const GInterfaceInfo g_implement_interface_info = { \ - (GInterfaceInitFunc) iface_init, NULL, NULL \ + (GInterfaceInitFunc)(void (*)(void)) iface_init, NULL, NULL \ }; \ g_type_module_add_interface (type_module, g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \ }