From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcduF-0004P9-OU for qemu-devel@nongnu.org; Wed, 15 May 2013 11:46:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UcduE-0007Ib-6M for qemu-devel@nongnu.org; Wed, 15 May 2013 11:46:19 -0400 Received: from mout.web.de ([212.227.17.11]:61783) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcduD-0007Gl-Sk for qemu-devel@nongnu.org; Wed, 15 May 2013 11:46:18 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 15 May 2013 17:46:11 +0200 Message-Id: <1368632771-4328-1-git-send-email-andreas.faerber@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH buildfix for-1.5] qemu-common: Resolve vector build breakes for AltiVec List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, =?UTF-8?q?Andreas=20F=C3=A4rber?= , anthony@codemonkey.ws From: Paolo Bonzini 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 --- include/qemu-common.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/qemu-common.h b/include/qemu-common.h index b399d85..9aff292 100644 --- a/include/qemu-common.h +++ b/include/qemu-common.h @@ -436,12 +436,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 -- 1.8.1.4