Atomic compound expressions try to use atomicrmw if possible, but this path doesn't set the Result variable, leaving it to crash in later code if anything ever tries to use the result of the expression. This fixes that issue by recalculating the new value based on the old one atomically loaded.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Thanks JF.
To github.com:llvm/llvm-project.git
0ec6a4882ee..10e0d64337d master -> master
Separately, does this do floating-point add / sub properly? We added them too C++20.
It looks like that already works because it doesn't/can't use LLVM's atomicrmw path.