[FFmpeg-devel] [PATCH 2/2] avformat/internal: add missing __clang__ check
Martin Storsjö
martin at martin.st
Thu Jun 12 12:52:11 EEST 2025
On Mon, 31 Mar 2025, Kacper Michajłow wrote:
> Clang x86_64-pc-windows-msvc doesn't define __GNUC__.
>
> Signed-off-by: Kacper Michajłow <kasper93 at gmail.com>
> ---
> libavformat/internal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/internal.h b/libavformat/internal.h
> index fe428d85eb..bf83571430 100644
> --- a/libavformat/internal.h
> +++ b/libavformat/internal.h
> @@ -354,7 +354,7 @@ static av_always_inline const FFStream *cffstream(const AVStream *st)
> return (const FFStream*)st;
> }
>
> -#ifdef __GNUC__
> +#if defined (__GNUC__) || defined (__clang__)
> #define dynarray_add(tab, nb_ptr, elem)\
> do {\
> __typeof__(tab) _tab = (tab);\
> --
> 2.45.1
This patch also looks good, so I'll push it.
But as with the other one as I asked yesterday, it would be good to
describe the status quo and what the change gains. In this case I presume
that it gains the type checking abilities of the GCC compatible version of
dynarray_add?
Also, regarding these patchs for clang in msvc mode; when testing things I
ran into another build failure, which is fixed by
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20250612093933.395475-1-martin@martin.st/.
I wonder if you haven't run into this as well, or why it isn't happening
for you?
(With that fixed, I'll try to set up fate instances with this build mode;
I already have such for Clang in MSVC mode targeting arm/aarch64, but no
for x86/x86_64 yet.)
// Martin
More information about the ffmpeg-devel
mailing list