about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorAndre Bogus <bogusandre@gmail.com>2018-03-02 06:52:27 +0100
committerAndre Bogus <bogusandre@gmail.com>2018-03-30 12:27:14 +0200
commit0f5e4191632de4bbc1ef4ef2be26b517861cbff0 (patch)
tree9b9d20a2dbae25349839e421e4e2578c72d1958d /src/rustllvm/RustWrapper.cpp
parent5e4603f99066eaf2c1cf19ac3afbac9057b1e177 (diff)
downloadrust-0f5e4191632de4bbc1ef4ef2be26b517861cbff0.tar.gz
rust-0f5e4191632de4bbc1ef4ef2be26b517861cbff0.zip
Add a generic CAS loop to std::sync::Atomic*
This adds a new method to all numeric `Atomic*` types with a
safe compare-and-set loop, so users will no longer need to write
their own, except in *very* strange circumstances.

This solves #48384 with `x.fetch_max(_)`/`x.fetch_min(_)`. It
also relates to #48655 (which I misuse as tracking issue for now).

*note* This *might* need a crater run because the functions could
clash with third party extension traits.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions