From: Dong Xu Wang Date: Tue, 20 Dec 2011 09:03:47 +0000 (+0800) Subject: rewrite QEMU_BUILD_BUG_ON X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ea8f978ffef325ab2fd0edcf5f24b6dcec6078f3;p=qemu.git 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 --- diff --git a/compiler.h b/compiler.h index a1c0794947..736e77075a 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)