On 7/18/22 17:01, Pavel Hrdina wrote:
> On Mon, Jul 18, 2022 at 04:03:16PM +0200, Michal Privoznik wrote:
>> The G_GNUC_NO_INLINE macro will eventually be marked as
>> deprecated [1] and we are recommended to use G_NO_INLINE instead.
>> Do the switch now, rather than waiting for compile time warning
>> to occur.
>>
>> 1:
https://gitlab.gnome.org/GNOME/glib/-/commit/15cd0f04612c90292792c4d123eb...
>>
>> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
>> ---
>> docs/coding-style.rst | 2 +-
>> scripts/cocci-macro-file.h | 2 +-
>> scripts/mock-noinline.py | 4 ++--
>> src/cpu/cpu.h | 2 +-
>> src/libxl/libxl_capabilities.h | 2 +-
>> src/qemu/qemu_capabilities.h | 2 +-
>> src/qemu/qemu_capspriv.h | 2 +-
>> src/qemu/qemu_command.h | 4 ++--
>> src/qemu/qemu_hotplug.c | 2 +-
>> src/qemu/qemu_hotplug.h | 2 +-
>> src/qemu/qemu_interface.h | 4 ++--
>> src/qemu/qemu_monitor.h | 2 +-
>> src/qemu/qemu_monitor_json.h | 2 +-
>> src/qemu/qemu_monitor_priv.h | 2 +-
>> src/qemu/qemu_process.h | 6 +++---
>> src/rpc/virnetsocket.h | 4 ++--
>> src/util/glibcompat.h | 28 ++++++++++++++++++++--------
>> src/util/vircgroupv2devices.h | 2 +-
>> src/util/vircommand.h | 2 +-
>> src/util/virdevmapper.h | 2 +-
>> src/util/virfile.h | 18 +++++++++---------
>> src/util/virhashcode.h | 2 +-
>> src/util/virhostcpu.h | 6 +++---
>> src/util/virhostmem.h | 2 +-
>> src/util/virhostuptime.h | 2 +-
>> src/util/viridentitypriv.h | 2 +-
>> src/util/virmacaddr.h | 2 +-
>> src/util/virnetdev.h | 10 +++++-----
>> src/util/virnetdevbandwidth.h | 2 +-
>> src/util/virnetdevip.h | 2 +-
>> src/util/virnetdevmacvlan.h | 2 +-
>> src/util/virnetdevopenvswitch.h | 2 +-
>> src/util/virnetdevtap.h | 6 +++---
>> src/util/virnuma.h | 18 +++++++++---------
>> src/util/virprocess.h | 6 +++---
>> src/util/virrandom.h | 6 +++---
>> src/util/virscsi.h | 2 +-
>> src/util/virscsivhost.h | 2 +-
>> src/util/virtpm.h | 2 +-
>> src/util/virutil.h | 16 ++++++++--------
>> src/util/viruuid.h | 4 ++--
>> 41 files changed, 102 insertions(+), 90 deletions(-)
>
> [...]
>
>> diff --git a/src/util/glibcompat.h b/src/util/glibcompat.h
>> index e3a8b9f6b3..02f8ec090c 100644
>> --- a/src/util/glibcompat.h
>> +++ b/src/util/glibcompat.h
>> @@ -95,11 +95,23 @@ char *vir_g_strdup_vprintf(const char *msg, va_list args)
>>
>> void vir_g_source_unref(GSource *src, GMainContext *ctx);
>>
>> -/* Intentionally redefine macro so that it's not marked as available in
2.58
>> - * and newer. Drop when bumping to 2.58 or newer. */
>> -#undef G_GNUC_NO_INLINE
>> -#if g_macro__has_attribute(__noinline__)
>> -# define G_GNUC_NO_INLINE __attribute__ ((__noinline__))
>> -#else
>> -# define G_GNUC_NO_INLINE
>> -#endif
>> +#if !GLIB_CHECK_VERSION(2, 73, 0)
>
> Not sure if this check is correct. Documentation for that macro
> mentions that it is introduced in 2.74 but I can see it in 2.73.2 as
> well but this check is for 2.73.0 and if I understand the
> GLIB_CHECK_VERSION() correctly our own implementation would be used only
> with glib older then 2.73.0.
>
> That means based on my understanding that with glib 2.73.0 and 2.73.1
> libvirt would failed to compile as there would not be any implementation
> for G_NO_INLINE.
Yeah, so let's go with:
#if !GLIB_CHECK_VERSION(2, 73, 2)
Fixed locally.
Michal