From patchwork Wed Oct 3 18:04:58 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Fix compilation on GCC 4.5 Date: Wed, 03 Oct 2012 08:04:58 -0000 From: =?utf-8?q?S=C3=B8ren_Sandmann?= X-Patchwork-Id: 188881 Message-Id: <1349287498-10475-1-git-send-email-sandmann@cs.au.dk> To: qemu-devel@nongnu.org Cc: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= From: Søren Sandmann Pedersen Apparently GCC 4.5 still warns about "value computed not used" even with __attribute__((unused)). Fix this by only doing the compile time check on gcc > 4.5. Signed-off-by: Soren Sandmann --- I need this patch to get qemu to compile with GCC 4.5, but I'm not sure if 4.5 is the right compiler version to check against. osdep.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/osdep.h b/osdep.h index cb213e0..df89552 100644 --- a/osdep.h +++ b/osdep.h @@ -41,8 +41,9 @@ typedef signed int int_fast16_t; #endif /* Convert from a base type to a parent type, with compile time checking. */ -#ifdef __GNUC__ -#define DO_UPCAST(type, field, dev) ( __extension__ ( { \ +#if defined (__GNUC__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)) +#define DO_UPCAST(type, field, dev) ( __extension__ ( { \ char __attribute__((unused)) offset_must_be_zero[ \ -offsetof(type, field)]; \ container_of(dev, type, field);}))