ao: simplify hack for float atomics

stdatomic.h defines no atomic_float typedef. We can't just use _Atomic
unconditionally, because we support compilers without C11 atomics. So
just create a custom atomic_float typedef in the wrapper, which uses
_Atomic in the C11 code path.
This commit is contained in:
wm4
2017-11-30 01:14:33 +01:00
parent 963eb15006
commit 6f8cf73f54
3 changed files with 7 additions and 16 deletions

View File

@@ -24,6 +24,7 @@
#if HAVE_STDATOMIC
#include <stdatomic.h>
typedef _Atomic float mp_atomic_float;
#else
// Emulate the parts of C11 stdatomic.h needed by mpv.
@@ -36,6 +37,8 @@ typedef struct { long long v; } atomic_llong;
typedef struct { uint_least32_t v; } atomic_uint_least32_t;
typedef struct { unsigned long long v; } atomic_ullong;
typedef struct { float v; } mp_atomic_float;
#define ATOMIC_VAR_INIT(x) \
{.v = (x)}