mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
glib: enforce the minimum required version and warn about old APIs
There are two useful macros that can be defined before including glib.h that are related to the min required glib version - GLIB_VERSION_MIN_REQUIRED When this is defined, if code uses an API that was deprecated in this version, or older, a compiler warning will be emitted. This alerts maintainers to update their code to whatever new replacement API is now recommended best practice. - GLIB_VERSION_MAX_ALLOWED When this is defined, if code uses an API that was introduced in a version that is newer than the declared version, a compiler warning will be emitted. This alerts maintainers if new code accidentally uses functionality that won't be available on some supported platforms. The GLIB_VERSION_MAX_ALLOWED constant makes it a bit harder to opt in to using specific new APIs with a GLIB_CHECK_VERSION conditional. To workaround this Pragmas can be used to temporarily turn off the -Wdeprecated-declarations compiler warning, while a static inline compat function is implemented. This workaround is illustrated with the implementation of the g_strv_contains method to satisfy the test suite. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
e7b3af8159
commit
e71e8cc035
2 changed files with 68 additions and 2 deletions
|
@ -744,12 +744,10 @@ static void test_qga_config(gconstpointer data)
|
|||
|
||||
strv = g_key_file_get_string_list(kf, "general", "blacklist", &n, &error);
|
||||
g_assert_cmpint(n, ==, 2);
|
||||
#if GLIB_CHECK_VERSION(2, 44, 0)
|
||||
g_assert_true(g_strv_contains((const char * const *)strv,
|
||||
"guest-ping"));
|
||||
g_assert_true(g_strv_contains((const char * const *)strv,
|
||||
"guest-get-time"));
|
||||
#endif
|
||||
g_assert_no_error(error);
|
||||
g_strfreev(strv);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue