friendlyanon
friendlyanon
That defeats the purpose. I don't see how an [atomic unconditional exchange without a return value](https://www.felixcloutier.com/x86/xchg) would help implementing an [atomic conditional exchange with a return value](https://www.felixcloutier.com/x86/cmpxchg). For a 386...
Sounds good to me. I originally intended to put this PR up as a draft, mainly to gather feedback from Matt, but he hasn't commented on this topic yet. Explicitly...
> perhaps there would be a way to bring 98's driver-based solution over for 386? Sure, but that's outside my current abilities or the scope of this PR.
Actually, inline asm is causing values to be left on the stack: Ghidra ```asm ************************************************************** * FUNCTION * ************************************************************** LONG __stdcall InterlockedCompareExchange(LONG * Destina LONG EAX:4 LONG * Stack[0x4]:4 Destination...
Where do these warnings come from? Your output doesn't associate them to a particular line. Are they coming from 3rd party headers? Are you using clang-tidy-14 or a newer version?
The main goal of this PR is to point out issues and provide solutions to some of them. I would have opened an issue first, but issues can't do that...
Additionally, I would also look into splitting the C "package" into something separate. Seeing how this project is already packaged by Conan, but only the header-only C++ part of it:...