[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 07/27] Replace GCC_FMT_ATTR with G_GNUC_PRINTF
From: |
Marc-André Lureau |
Subject: |
Re: [PATCH 07/27] Replace GCC_FMT_ATTR with G_GNUC_PRINTF |
Date: |
Wed, 16 Mar 2022 23:49:17 +0400 |
Hi
On Wed, Mar 16, 2022 at 5:28 PM Thomas Huth <thuth@redhat.com> wrote:
>
> On 16/03/2022 14.16, Philippe Mathieu-Daudé wrote:
> > On 16/3/22 10:52, marcandre.lureau@redhat.com wrote:
> >> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >>
> >> One less qemu-specific macro. It also helps to make some headers/units
> >> only depend on glib, and thus moved in standalone projects eventually.
> >>
> >> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> >> ---
> >> audio/audio.h | 4 +--
> >> block/qcow2.h | 2 +-
> >> bsd-user/qemu.h | 2 +-
> >> hw/display/qxl.h | 2 +-
> >> hw/net/rocker/rocker.h | 2 +-
> >> hw/xen/xen_pt.h | 2 +-
> >> include/chardev/char-fe.h | 2 +-
> >> include/disas/dis-asm.h | 2 +-
> >> include/hw/acpi/aml-build.h | 12 +++----
> >> include/hw/core/cpu.h | 2 +-
> >> include/hw/hw.h | 2 +-
> >> include/hw/virtio/virtio.h | 2 +-
> >> include/hw/xen/xen-bus-helper.h | 4 +--
> >> include/hw/xen/xen-bus.h | 4 +--
> >> include/hw/xen/xen_common.h | 2 +-
> >> include/hw/xen/xen_pvdev.h | 2 +-
> >> include/monitor/monitor.h | 4 +--
> >> include/qapi/error.h | 20 ++++++------
> >> include/qapi/qmp/qjson.h | 8 ++---
> >> include/qemu/buffer.h | 2 +-
> >> include/qemu/compiler.h | 11 ++-----
> >> include/qemu/error-report.h | 24 +++++++-------
> >> include/qemu/log-for-trace.h | 2 +-
> >> include/qemu/log.h | 2 +-
> >> include/qemu/qemu-print.h | 8 ++---
> >> include/qemu/readline.h | 2 +-
> >> qga/guest-agent-core.h | 2 +-
> >> qga/vss-win32/requester.h | 2 +-
> >> scripts/cocci-macro-file.h | 2 +-
> >> tests/qtest/libqos/libqtest.h | 42 ++++++++++++-------------
> >> tests/qtest/libqtest-single.h | 2 +-
> >> tests/qtest/migration-helpers.h | 6 ++--
> >> audio/alsaaudio.c | 4 +--
> >> audio/dsoundaudio.c | 4 +--
> >> audio/ossaudio.c | 4 +--
> >> audio/paaudio.c | 2 +-
> >> audio/sdlaudio.c | 2 +-
> >> block/blkverify.c | 2 +-
> >> block/ssh.c | 4 +--
> >> fsdev/9p-marshal.c | 2 +-
> >> fsdev/virtfs-proxy-helper.c | 2 +-
> >> hw/9pfs/9p.c | 2 +-
> >> hw/acpi/aml-build.c | 4 +--
> >> hw/mips/fuloong2e.c | 2 +-
> >> hw/mips/malta.c | 2 +-
> >> hw/net/rtl8139.c | 2 +-
> >> hw/virtio/virtio.c | 2 +-
> >> io/channel-websock.c | 2 +-
> >> monitor/hmp.c | 4 +--
> >> nbd/server.c | 10 +++---
> >> qemu-img.c | 4 +--
> >> qemu-io.c | 2 +-
> >> qobject/json-parser.c | 2 +-
> >> softmmu/qtest.c | 4 +--
> >> tests/qtest/libqtest.c | 2 +-
> >> tests/unit/test-qobject-input-visitor.c | 4 +--
> >> audio/coreaudio.m | 4 +--
> >> scripts/checkpatch.pl | 2 +-
> >> 58 files changed, 130 insertions(+), 137 deletions(-)
> >
> >> diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
> >> index 3baa5e3790f7..f2bd050e3b9a 100644
> >> --- a/include/qemu/compiler.h
> >> +++ b/include/qemu/compiler.h
> >> @@ -79,19 +79,12 @@
> >> #define QEMU_BUILD_BUG_ON_ZERO(x) (sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)) -
> >> \
> >> sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)))
> >> -#if defined(__clang__)
> >> -/* clang doesn't support gnu_printf, so use printf. */
> >> -# define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m)))
> >> -#else
> >> -/* Use gnu_printf (qemu uses standard format strings). */
> >> -# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m)))
> >> -# if defined(_WIN32)
> >> +#if !defined(__clang__) && defined(_WIN32)
> >> /*
> >> * Map __printf__ to __gnu_printf__ because we want standard format
> >> strings even
> >> * when MinGW or GLib include files use __printf__.
> >> */
> >> -# define __printf__ __gnu_printf__
> >> -# endif
> >> +# define __printf__ __gnu_printf__
> >> #endif
> >
> > Can we also poison GCC_FMT_ATTR? Maybe split in 2 patches, 1 converting
> > and another removing unused & poisoning?
>
> I don't think that poisoning is required here since this macro is not used
> in "#ifdef" statements - so the compiler will complain to you if you still
> try to use it after the removal.
Yes (same for other macros in this series)
thanks