On 22/02/17 10:59, Diego Biurrun wrote:
> libavcodec/vaapi.h:58:1: warning: attribute 'deprecated' is ignored, place it
> after "struct" to apply attribute to type declaration [-Wignored-attributes]
> ---
> libavcodec/vaapi.h | 3 +--
> libavcodec/xvmc.h | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/vaapi.h b/libavcodec/vaapi.h
> index ceb7904..391368c 100644
> --- a/libavcodec/vaapi.h
> +++ b/libavcodec/vaapi.h
> @@ -55,8 +55,7 @@
> *
> * Deprecated: use AVCodecContext.hw_frames_ctx instead.
> */
> -attribute_deprecated
> -struct vaapi_context {
> +struct attribute_deprecated vaapi_context {
> /**
> * Window system dependent data
> *
> diff --git a/libavcodec/xvmc.h b/libavcodec/xvmc.h
> index 950ed18..91027b9 100644
> --- a/libavcodec/xvmc.h
> +++ b/libavcodec/xvmc.h
> @@ -45,7 +45,7 @@
> #define AV_XVMC_ID 0x1DC711C0 /**< special value to
> ensure that regular pixel routines haven't corrupted the struct
> the number is 1337
> speak for the letters IDCT MCo (motion compensation) */
>
> -attribute_deprecated struct xvmc_pix_fmt {
> +struct attribute_deprecated xvmc_pix_fmt {
> /** The field contains the special constant value AV_XVMC_ID.
> It is used as a test that the application correctly uses the API,
> and that there is no corruption caused by pixel routines.
>
Huh. I can see why the compiler is doing what it is there - attribute before
struct is deprecating a variable or typedef using the struct rather than the
struct itself - but to end up silently applying the attribute to nothing
because there is no declarator is pretty crazy (in gcc - a win for warnings in
clang, I guess).
Patch LGTM.
Thanks,
- Mark
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel