[Spice-devel] [spice-protocol PATCH v2 02/10] macros: fix alignment issue reported by clang
Frediano Ziglio
fziglio at redhat.com
Mon Aug 17 02:20:19 PDT 2015
> char_device.c:131:52: warning: cast from 'uint8_t *'
> (aka 'unsigned char *') to 'SpiceCharDeviceMsgToClientItem *'
> (aka 'struct SpiceCharDeviceMsgToClientItem *')
> increases required alignment from 1 to 8 [-Wcast-align]
>
> SpiceCharDeviceMsgToClientItem *msg_item = SPICE_CONTAINEROF(item,
> ^~~~~~~~~~~~~~~~~~~~~~~
>
> ../spice-common/spice-protocol/spice/macros.h:142:6: note: expanded
> from macro 'SPICE_CONTAINEROF'
>
> ((struct_type *)((uint8_t *)(ptr) - SPICE_OFFSETOF(struct_type, member)))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Acked-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> spice/macros.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/spice/macros.h b/spice/macros.h
> index c4f2625..feac557 100644
> --- a/spice/macros.h
> +++ b/spice/macros.h
> @@ -140,7 +140,7 @@
> #endif
>
> #define SPICE_CONTAINEROF(ptr, struct_type, member) \
> - ((struct_type *)((uint8_t *)(ptr) - SPICE_OFFSETOF(struct_type,
> member)))
> + ((struct_type *)(void *)((uint8_t *)(ptr) - SPICE_OFFSETOF(struct_type,
> member)))
>
> #define SPICE_MEMBER_P(struct_p, struct_offset) \
> ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
> --
> 2.4.3
More information about the Spice-devel
mailing list