1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
FFmpeg/compat
Wan-Teh Chang 6a93b596c5 compat/atomics: add typecasts in atomic_compare_exchange_strong()
The Solaris and Windows emulations of atomic_compare_exchange_strong()
need typecasts to avoid compiler warnings, because the functions they
call expect a void* pointer but an intptr_t integer is passed.

Note that the emulations of atomic_compare_exchange_strong() (except
the gcc version) only work for atomic_intptr_t because of the type of
the second argument (|expected|). See
http://en.cppreference.com/w/c/atomic:

_Bool atomic_compare_exchange_strong( volatile A* obj,
                                      C* expected, C desired );

The types of the first argument and second argument are different
(|A| and |C|, respectively). |C| is the non-atomic type corresponding
to |A|. In the emulations of atomic_compare_exchange_strong(), |C| is
intptr_t. This implies |A| can only be sig_intptr_t.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
2016-12-08 15:53:58 -05:00
..
aix compat: Add missing license boilerplates 2013-07-18 18:12:38 +02:00
atomics compat/atomics: add typecasts in atomic_compare_exchange_strong() 2016-12-08 15:53:58 -05:00
dispatch_semaphore jack: Support OSX 2016-03-31 18:03:21 +02:00
float Work around broken floating point limits on some systems. 2014-03-10 10:27:17 +01:00
msvcrt compat/vsnprintf: return number of bytes required on truncation. 2012-09-15 14:33:11 -04:00
solaris build: add Solaris symbol versioning 2015-10-11 15:42:36 +02:00
tms470 compat: Add missing license boilerplates 2013-07-18 18:12:38 +02:00
windows use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe 2015-07-24 18:21:22 +03:00
getopt.c cosmetics: Write NULL pointer equality checks more compactly 2014-08-15 03:18:18 -07:00
strtod.c Use the avstring.h locale-independent character type functions 2013-03-07 15:16:36 +02:00
w32pthreads.h w32pthreads: Fix function pointer casts 2016-11-24 16:14:33 +01:00