[glib: 1/2] gtypemodule: Cast *_init functions to void(*)(void) first
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] gtypemodule: Cast *_init functions to void(*)(void) first
- Date: Fri, 25 Jan 2019 13:34:08 +0000 (UTC)
commit a8af2862ab3a6207b13b562388b9cfb453c0fa20
Author: Philip Withnall <withnall endlessm com>
Date: Fri Jan 25 11:29:05 2019 +0000
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 <withnall endlessm com>
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); \
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]