gstring: fix unused-result warning with g_string_free() in C++

Some g++ versions issue an unused-result warning for the g_string_free() macro:

error: ignoring return value of 'gchar* g_string_free_and_steal(GString*)',
declared with attribute warn_unused_result [-Werror=unused-result]
    g_string_free(s, TRUE);

This occurs with gcc 6.x / 7.1 / 7.2, and it is fixed in gcc 7.3.
This commit is contained in:
Olivier Blin 2024-08-07 15:46:19 +02:00
parent c865680f96
commit dd62ad57d9

View File

@ -66,6 +66,8 @@ gchar* g_string_free_and_steal (GString *string) G_GNUC_WARN_UN
#if G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76)
#if !defined(__cplusplus) || !G_GNUC_CHECK_VERSION (6, 1) || G_GNUC_CHECK_VERSION (7, 3)
#define g_string_free(str, free_segment) \
(__builtin_constant_p (free_segment) ? \
((free_segment) ? \
@ -74,6 +76,8 @@ gchar* g_string_free_and_steal (GString *string) G_GNUC_WARN_UN
: \
(g_string_free) ((str), (free_segment)))
#endif /* !defined(__cplusplus) || !G_GNUC_CHECK_VERSION (6, 1) || G_GNUC_CHECK_VERSION (7, 3) */
#endif /* G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76) */
GLIB_AVAILABLE_IN_2_34