[vlc-devel] [PATCH 1/2] chroma: copy: do not use an empty structure if SSE2 is not supported

Rémi Denis-Courmont remi at remlab.net
Thu May 2 16:56:14 CEST 2019


Le torstaina 2. toukokuuta 2019, 12.36.29 EEST Steve Lhomme a écrit :
> Structures with no field should not be used, it's Undefined Behavior:
> https://stackoverflow.com/questions/3849334/sizeof-empty-structure-is-0-in-c
> -and-1-in-c-why ---
>  modules/video_chroma/copy.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/modules/video_chroma/copy.h b/modules/video_chroma/copy.h
> index 6c463226f1..b06dc680cc 100644
> --- a/modules/video_chroma/copy.h
> +++ b/modules/video_chroma/copy.h
> @@ -29,6 +29,8 @@ typedef struct {
>  # ifdef CAN_COMPILE_SSE2
>      uint8_t *buffer;
>      size_t  size;
> +# else
> +    char dummy;
>  # endif
>  } copy_cache_t;

Better to move the whole structure at all under the ifdef, IMO.

-- 
雷米‧德尼-库尔蒙
http://www.remlab.net/





More information about the vlc-devel mailing list