From ea8f978ffef325ab2fd0edcf5f24b6dcec6078f3 Mon Sep 17 00:00:00 2001 From: Dong Xu Wang Date: Tue, 20 Dec 2011 17:03:47 +0800 Subject: [PATCH] rewrite QEMU_BUILD_BUG_ON On some platforms, __LINE__ will not expand to real number in QEMU_BUILD_BUG_ON, so if using QEMU_BUILD_BUG_ON twice, compiler will report errors. This patch will fix it. BTW, I got error message on RHEL 6.1/gcc 4.4.5. Signed-off-by: Dong Xu Wang Signed-off-by: Kevin Wolf --- compiler.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler.h b/compiler.h index a1c079494..736e77075 100644 --- a/compiler.h +++ b/compiler.h @@ -30,8 +30,10 @@ # define QEMU_PACKED __attribute__((packed)) #endif +#define cat(x,y) x ## y +#define cat2(x,y) cat(x,y) #define QEMU_BUILD_BUG_ON(x) \ - typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1]; + typedef char cat2(qemu_build_bug_on__,__LINE__)[(x)?-1:1]; #if defined __GNUC__ # if !QEMU_GNUC_PREREQ(4, 4)