From: Paolo Bonzini Date: Wed, 15 May 2013 15:46:11 +0000 (+0200) Subject: qemu-common: Resolve vector build breakes for AltiVec X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8593e050871c632e245190725b11f1e10c629ff2;p=qemu.git qemu-common: Resolve vector build breakes for AltiVec On Mac OS X ppc, altivec.h defines "vector", leading to build breakage when used as variable name, e.g. in tracing code. Fix this by undefining identifiers after altivec.h inclusion. Signed-off-by: Paolo Bonzini Signed-off-by: Andreas Färber Message-id: 1368632771-4328-1-git-send-email-andreas.faerber@web.de Signed-off-by: Anthony Liguori --- diff --git a/include/qemu-common.h b/include/qemu-common.h index af769f5ad2..7f18b8e1f9 100644 --- a/include/qemu-common.h +++ b/include/qemu-common.h @@ -448,12 +448,18 @@ void hexdump(const char *buf, FILE *fp, const char *prefix, size_t size); /* vector definitions */ #ifdef __ALTIVEC__ #include -#define VECTYPE vector unsigned char +/* The altivec.h header says we're allowed to undef these for + * C++ compatibility. Here we don't care about C++, but we + * undef them anyway to avoid namespace pollution. + */ +#undef vector +#undef pixel +#undef bool +#define VECTYPE __vector unsigned char #define SPLAT(p) vec_splat(vec_ld(0, p), 0) #define ALL_EQ(v1, v2) vec_all_eq(v1, v2) /* altivec.h may redefine the bool macro as vector type. * Reset it to POSIX semantics. */ -#undef bool #define bool _Bool #elif defined __SSE2__ #include