mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-16 22:31:26 -07:00
pass over atomic operations
- use cast to volatile trick for atomic loads on x64 windows - removed unnecessary includes on windows - upgraded clang and gcc code paths to use modern atomics Removed WIN32_LEAN_AND_MEAN because we were already compiling without it and there is code path in os_gfx_win32.c that relies on including full windows.h
This commit is contained in:
@@ -23,16 +23,6 @@
|
||||
|
||||
#define BitExtract(x, count, shift) (((x) >> (shift)) & ((1 << (count)) - 1))
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
#if OS_WINDOWS
|
||||
# define ins_atomic_ptr_eval_cond_assign(x,k,c) InterlockedCompareExchangePointer((volatile PVOID *)(x),(k),(c))
|
||||
# define ins_atomic_u32_add_eval(x,c) InterlockedAdd((volatile LONG *)(x), c)
|
||||
# define ins_atomic_u32_inc_eval(x) InterlockedIncrement((volatile LONG *)x)
|
||||
#else
|
||||
# error "atomics are not defined for this system"
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
// Linked List Helpers
|
||||
|
||||
|
||||
Reference in New Issue
Block a user