[FFmpeg-devel] [PATCHv3] avutil/attributes: extend av_uninit to clang

Ronald S. Bultje rsbultje at gmail.com
Thu Oct 8 02:44:09 CEST 2015


Hi,

On Wed, Oct 7, 2015 at 6:22 PM, Ganesh Ajjanagadde <gajjanagadde at gmail.com>
wrote:

> Commit 6dac8c8327 disabled av_uninit for clang, due to some useless
> warnings.
> The concept of av_uninit is inherently useful though. This patch silences a
> bunch of warnings on clang e.g
>
> http://fate.ffmpeg.org/log.cgi?time=20150918181527&log=compile&slot=x86_64-darwin-clang-polly-vectorize-stripmine-3.7
> .
> Furthermore, it should be useful for general usage of av_uninit in future.
>
> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
> ---
>  libavutil/attributes.h | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/libavutil/attributes.h b/libavutil/attributes.h
> index 5c6b9de..ceb9e29 100644
> --- a/libavutil/attributes.h
> +++ b/libavutil/attributes.h
> @@ -147,6 +147,14 @@
>
>  #if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
>  #    define av_uninit(x) x=x
> +#elif defined(__clang__)
> +#if __has_warning("-Wuninitialized")
> +#    define av_uninit(x) \
> +        _Pragma("clang diagnostic push") \
> +        _Pragma("clang diagnostic ignored \"-Wuninitialized\"") \
> +        x=x \
> +        _Pragma("clang diagnostic pop")
> +#endif
>  #else
>  #    define av_uninit(x) x
>  #endif


Doesn't this leave av_uninit undefined if has_warning is false but clang is
true?

Ronald


More information about the ffmpeg-devel mailing list