diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/giomm_stream_vfuncs/main.cc | 2 | ||||
-rw-r--r-- | tests/glibmm_vector/main.cc | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/tests/giomm_stream_vfuncs/main.cc b/tests/giomm_stream_vfuncs/main.cc index df1cde20..ad42e989 100644 --- a/tests/giomm_stream_vfuncs/main.cc +++ b/tests/giomm_stream_vfuncs/main.cc @@ -160,7 +160,7 @@ int main(int, char**) return EXIT_FAILURE; } } - catch (Gio::Error e) + catch (const Gio::Error& e) { std::cout << "Gio error: " << e.what() << std::endl; return EXIT_FAILURE; diff --git a/tests/glibmm_vector/main.cc b/tests/glibmm_vector/main.cc index 31138cf0..0f039356 100644 --- a/tests/glibmm_vector/main.cc +++ b/tests/glibmm_vector/main.cc @@ -196,14 +196,23 @@ public: ~Cache() { + // Conversion between different types of function pointers with + // reinterpret_cast can make gcc8 print a warning. + // https://github.com/libsigcplusplus/libsigcplusplus/issues/1 + union { + GFunc pf; + decltype(&g_object_unref) pou; + } u; + u.pou = &g_object_unref; + if (glist_) { - g_list_foreach(glist_, reinterpret_cast<GFunc>(g_object_unref), nullptr); + g_list_foreach(glist_, u.pf, nullptr); g_list_free(glist_); } if (gslist_) { - g_slist_foreach(gslist_, reinterpret_cast<GFunc>(g_object_unref), nullptr); + g_slist_foreach(gslist_, u.pf, nullptr); g_slist_free(gslist_); } if (garray_) |