mirror of
https://github.com/librempeg/librempeg
synced 2024-11-22 18:49:58 +00:00
6a93b596c5
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> |
||
---|---|---|
.. | ||
aix | ||
atomics | ||
dispatch_semaphore | ||
float | ||
msvcrt | ||
solaris | ||
tms470 | ||
windows | ||
getopt.c | ||
strtod.c | ||
w32pthreads.h |