Hi,

On Sun, Apr 10, 2011 at 3:44 PM, Diego Biurrun <di...@biurrun.de> wrote:
> When HAVE_7REGS was not defined these functions had an empty body
> causing the following warnings during compilation.
> In file included from libswscale/x86/yuv2rgb_mmx.c:58:
> libswscale/x86/yuv2rgb_template.c: In function ‘yuva420_rgb32_MMX’:
> libswscale/x86/yuv2rgb_template.c:412: warning: no return statement in 
> function returning non-void
> libswscale/x86/yuv2rgb_template.c: In function ‘yuva420_bgr32_MMX’:
> libswscale/x86/yuv2rgb_template.c:457: warning: no return statement in 
> function returning non-void
>
> Signed-off-by: Diego Biurrun <di...@biurrun.de>
> ---
>  libswscale/x86/yuv2rgb_template.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/libswscale/x86/yuv2rgb_template.c 
> b/libswscale/x86/yuv2rgb_template.c
> index 9f0d33b..cf8f0d3 100644
> --- a/libswscale/x86/yuv2rgb_template.c
> +++ b/libswscale/x86/yuv2rgb_template.c
> @@ -406,6 +406,8 @@ static inline int RENAME(yuva420_rgb32)(SwsContext *c, 
> const uint8_t *src[],
>     YUV2RGB_ENDLOOP(4)
>     YUV2RGB_OPERANDS_ALPHA
>     YUV2RGB_ENDFUNC
> +#else
> +    return 0;
>  #endif
>  }
>
> @@ -449,5 +451,7 @@ static inline int RENAME(yuva420_bgr32)(SwsContext *c, 
> const uint8_t *src[],
>     YUV2RGB_ENDLOOP(4)
>     YUV2RGB_OPERANDS_ALPHA
>     YUV2RGB_ENDFUNC
> +#else
> +    return 0;
>  #endif
>  }
> --
> 1.5.6.5

This isn't right. You're declaring empty functions for stuff that is
supposed to do something. In x86/yuv2rgb_mmx.c, you'll see these
functions are only called under if (HAVE_7REGS) anyway, so the proper
fix is to not declare these functions at all, i.e. move the #if
HAVE_7REGS outside the function declaration. Dead code elimination
should take care of the rest.

Ronald
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to