mirror of
https://github.com/shadps4-emu/ext-libusb.git
synced 2026-01-31 00:55:21 +01:00
Use stdatomic instead of gcc-internal atomics
The __atomic operations are internal to gcc and not necessarily supported by all c11 compilers. Use the atomics in stdatomic instead. Signed-off-by: Nathan Hjelm <hjelmn@google.com>
This commit is contained in:
@@ -103,11 +103,12 @@ typedef volatile LONG usbi_atomic_t;
|
||||
#define usbi_atomic_inc(a) InterlockedIncrement((a))
|
||||
#define usbi_atomic_dec(a) InterlockedDecrement((a))
|
||||
#else
|
||||
typedef long usbi_atomic_t;
|
||||
#define usbi_atomic_load(a) __atomic_load_n((a), __ATOMIC_SEQ_CST)
|
||||
#define usbi_atomic_store(a, v) __atomic_store_n((a), (v), __ATOMIC_SEQ_CST)
|
||||
#define usbi_atomic_inc(a) __atomic_add_fetch((a), 1, __ATOMIC_SEQ_CST)
|
||||
#define usbi_atomic_dec(a) __atomic_sub_fetch((a), 1, __ATOMIC_SEQ_CST)
|
||||
#include <stdatomic.h>
|
||||
typedef atomic_long usbi_atomic_t;
|
||||
#define usbi_atomic_load(a) atomic_load((a))
|
||||
#define usbi_atomic_store(a, v) atomic_store((a), (v))
|
||||
#define usbi_atomic_inc(a) (atomic_fetch_add((a), 1) + 1)
|
||||
#define usbi_atomic_dec(a) (atomic_fetch_add((a), -1) - 1)
|
||||
#endif
|
||||
|
||||
/* Internal abstractions for event handling and thread synchronization */
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define LIBUSB_NANO 11587
|
||||
#define LIBUSB_NANO 11588
|
||||
|
||||
Reference in New Issue
Block a user