mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
glibcompat: remove obsolete clang workaround
This mostly reverts commit 65491a2dfe
.
There was a bug introduced in glib 2.67.0 which impacted libvirt with
clang causing -Wincompatible-pointer-types-discards-qualifiers warnings.
This was actually fixed quite quickly in 2.67.1 with
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Our workaround was then broken with glib 2.81.1 due to commit
14b3d5da9019150d821f6178a075d85044b4c255 changing the signature of the
(private) macro we were overriding.
Since odd-number glib releases are development snapshots, and the
original problem was only present in 2.67.0 and no other releases,
just drop the workaround entirely.
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
71f14351f9
commit
cd9709a6ab
@ -22,33 +22,7 @@
|
|||||||
#include <glib/gstdio.h>
|
#include <glib/gstdio.h>
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
#if GLIB_CHECK_VERSION(2, 67, 0)
|
#if !GLIB_CHECK_VERSION(2, 67, 0)
|
||||||
|
|
||||||
# if defined(__clang__)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Clang detects (valid) issue in G_DEFINE_TYPE and derivatives starting with
|
|
||||||
* glib >= 2.67.0. See https://gitlab.gnome.org/GNOME/glib/-/issues/600
|
|
||||||
*
|
|
||||||
* For that we need to disable the one check that produces an error in our
|
|
||||||
* builds when using any G_DEFINE_TYPE* macro. Thankfully all those macros end
|
|
||||||
* up using _G_DEFINE_TYPE_EXTENDED_BEGIN. Because with that we can redefine
|
|
||||||
* this one macro to cover all use cases. The macro is defined the same way it
|
|
||||||
* is defined in glib (with a very low probability of being changed thanks to a
|
|
||||||
* comment above it).
|
|
||||||
*/
|
|
||||||
# undef _G_DEFINE_TYPE_EXTENDED_BEGIN
|
|
||||||
|
|
||||||
# define _G_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) \
|
|
||||||
_Pragma("GCC diagnostic push") \
|
|
||||||
_Pragma("GCC diagnostic ignored \"-Wincompatible-pointer-types-discards-qualifiers\"") \
|
|
||||||
_G_DEFINE_TYPE_EXTENDED_BEGIN_PRE(TypeName, type_name, TYPE_PARENT) \
|
|
||||||
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
|
|
||||||
_Pragma("GCC diagnostic pop")
|
|
||||||
|
|
||||||
# endif /* __clang__ */
|
|
||||||
|
|
||||||
#else /* GLib < 2.67.0 */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ...meanwhile GCC >= 11 has started issuing warnings about volatile
|
* ...meanwhile GCC >= 11 has started issuing warnings about volatile
|
||||||
|
Loading…
Reference in New Issue
Block a user