From 7f9fb3395ce39d26a18157b4e0c12f679ea672b0 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Fri, 2 Mar 2018 00:03:41 -0500 Subject: [PATCH] QEMU_BUILD_BUG_ON: use __COUNTER__ Some headers use QEMU_BUILD_BUG_ON. This causes a problem if the C file including that header happens to have QEMU_BUILD_BUG_ON at the same line number. Fix using a widely available extension: __COUNTER__. If unavailable, provide a stub. Backports commit 60abf0a5e05134187e274ce5f32524ccf0cae1a6 from qemu --- qemu/include/qemu/compiler.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qemu/include/qemu/compiler.h b/qemu/include/qemu/compiler.h index ec33ccab..bdd0f2a7 100644 --- a/qemu/include/qemu/compiler.h +++ b/qemu/include/qemu/compiler.h @@ -60,8 +60,14 @@ static union MSVC_FLOAT_HACK __NAN = {{0x00, 0x00, 0xC0, 0x7F}}; #define cat(x,y) x ## y #define cat2(x,y) cat(x,y) + +#ifdef __COUNTER__ #define QEMU_BUILD_BUG_ON(x) \ - typedef char cat2(qemu_build_bug_on__,__LINE__)[(x)?-1:1] QEMU_UNUSED_VAR + typedef char glue(qemu_build_bug_on__, __COUNTER__)[(x) ? -1 : 1] \ + __attribute__((unused)) +#else +#define QEMU_BUILD_BUG_ON(x) +#endif #define GCC_FMT_ATTR(n, m)