[FFmpeg-devel] [PATCH] atomics: Fix the win32 atomic_exchange function
James Almer
jamrial at gmail.com
Sun Apr 4 00:48:35 EEST 2021
On 4/3/2021 6:19 PM, Martin Storsjö wrote:
> This fixes building with MSVC after
> a2a38b160620d91bc3f895dadc4501c589998b9c.
>
> Remove the stray semicolon, and add casts for the input argument
> (which is an intptr_t*) to the right type (void *volatile *).
> ---
> compat/atomics/win32/stdatomic.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
> index bb8e6e7e15..9e91e27262 100644
> --- a/compat/atomics/win32/stdatomic.h
> +++ b/compat/atomics/win32/stdatomic.h
> @@ -96,7 +96,7 @@ do { \
> atomic_load(object)
>
> #define atomic_exchange(object, desired) \
> - InterlockedExchangePointer(object, desired);
> + InterlockedExchangePointer((void *volatile *)object, (void *)desired)
nit: PVOID instead of void*, same as elsewhere in this file, and how
it's documented in the official docs.
>
> #define atomic_exchange_explicit(object, desired, order) \
> atomic_exchange(object, desired)
>
More information about the ffmpeg-devel
mailing list