diff --git a/src/hb.hh b/src/hb.hh index 5945de4f3747dd20269a8ab0472409ff310a1781..860236b7ca8f0f2106692aa3baf9b5024a4172bf 100644 --- a/src/hb.hh +++ b/src/hb.hh @@ -60,6 +60,7 @@ #ifndef HB_NO_PRAGMA_GCC_DIAGNOSTIC_ERROR #pragma GCC diagnostic error "-Wc++11-narrowing" #pragma GCC diagnostic error "-Wcast-align" +#pragma GCC diagnostic error "-Wcast-function-type" #pragma GCC diagnostic error "-Wdelete-non-virtual-dtor" #pragma GCC diagnostic error "-Wformat-security" #pragma GCC diagnostic error "-Wimplicit-function-declaration" diff --git a/util/options.hh b/util/options.hh index d7045191a179c33fc7c69a35d359a4c30bc1aafd..e8462581de1f4d84b537c8d4af8a0c88d60d3609 100644 --- a/util/options.hh +++ b/util/options.hh @@ -74,10 +74,13 @@ struct option_parser_t add_main_options (); } + + static void _g_free_g_func (void *p, void * G_GNUC_UNUSED) { g_free (p); } + ~option_parser_t () { g_option_context_free (context); - g_ptr_array_foreach (to_free, (GFunc) g_free, nullptr); + g_ptr_array_foreach (to_free, _g_free_g_func, nullptr); g_ptr_array_free (to_free, TRUE); }