[Spice-devel] [spice-protocol PATCH v1 11/12] macros: fix alignment issue reported by clang

Frediano Ziglio fziglio at redhat.com
Thu Aug 6 04:38:28 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 dad029c..bc9b648 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
> 

Frediano


More information about the Spice-devel mailing list