diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-03-23 13:38:06 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-03-28 09:12:48 +0100 |
commit | 5d71f97e0e02740bf85c6de9c2855e5592bd053c (patch) | |
tree | ece61a2c212ea7503ce3c2d2e94fdf52ea9ee19a /libavformat/allformats.c | |
parent | a69cedb6a641c7dd742adac917f63fe3c0c8a064 (diff) | |
download | ffmpeg-5d71f97e0e02740bf85c6de9c2855e5592bd053c.tar.gz |
all: Don't use ATOMIC_VAR_INIT
C11 required to use ATOMIC_VAR_INIT to statically initialize
atomic objects with static storage duration. Yet this macro
was unsuitable for initializing structures [1] and was actually
unneeded for all known implementations (this includes our
compatibility fallback implementations which simply wrap the value
in parentheses: #define ATOMIC_VAR_INIT(value) (value)).
Therefore C17 deprecated the macro and C23 actually removed it [2].
Since commit 5ff0eb34d2b1089d3dd9f27fdb51520001709138 we default
to C17 if the compiler supports it; Clang warns about ATOMIC_VAR_INIT
in this mode. Given that no implementation ever needed this macro,
this commit stops using it to avoid this warning.
[1]: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2396.htm#dr_485
[2]: https://en.cppreference.com/w/c/atomic/ATOMIC_VAR_INIT
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/allformats.c')
-rw-r--r-- | libavformat/allformats.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/allformats.c b/libavformat/allformats.c index e15d0fa6d7..9df42bb87a 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -576,8 +576,8 @@ extern const FFInputFormat ff_vapoursynth_demuxer; #include "libavformat/muxer_list.c" #include "libavformat/demuxer_list.c" -static atomic_uintptr_t indev_list_intptr = ATOMIC_VAR_INIT(0); -static atomic_uintptr_t outdev_list_intptr = ATOMIC_VAR_INIT(0); +static atomic_uintptr_t indev_list_intptr = 0; +static atomic_uintptr_t outdev_list_intptr = 0; const AVOutputFormat *av_muxer_iterate(void **opaque) { |