zig/stage1
kcbanner bc28454b43 zig.h: replace _InterlockedExchangeAdd with a plain volatile load
This was causing zig2.exe to crash during bootstrap, because there was an atomic
load of read-only memory, and the attempt to write to it as part of the (idempotent)
atomic exchange was invalid.

Aligned reads (of u32 / u64) are atomic on x86 / x64, so this is replaced with an
optimization-proof load (`__iso_volatile_load8*`) and a reordering barrier.
2024-07-13 17:46:24 -04:00
..
2022-12-06 12:15:04 -07:00
2024-03-23 11:32:37 +01:00
2022-12-06 12:15:04 -07:00
2024-05-08 19:37:29 -07:00