Skip to content

genSym: Reimplement via CAS on 32-bit platforms

Ben Gamari requested to merge wip/genSym-32 into master

Previously the remaining use of the C implementation on 32-bit platforms resulted in a subtle bug, #24261 (closed). This was due to the C object (which used the RTS's atomic_inc64 macro) being compiled without -threaded yet later being used in a threaded compiler.

Side-step this issue by using the pure Haskell genSym implementation on all platforms. This required implementing fetchAddWord64Addr# in terms of CAS on 64-bit platforms.

Fixes #24261 (closed).

Merge request reports