2017-01-05 00:57:48 -08:00
|
|
|
const assert = @import("std").debug.assert;
|
2017-05-01 10:12:38 -07:00
|
|
|
const AtomicOrder = @import("builtin").AtomicOrder;
|
2017-01-05 00:57:48 -08:00
|
|
|
|
2017-03-16 13:02:35 -07:00
|
|
|
test "cmpxchg" {
|
2016-12-18 21:41:37 -08:00
|
|
|
var x: i32 = 1234;
|
|
|
|
while (!@cmpxchg(&x, 1234, 5678, AtomicOrder.SeqCst, AtomicOrder.SeqCst)) {}
|
|
|
|
assert(x == 5678);
|
|
|
|
}
|
|
|
|
|
2017-03-16 13:02:35 -07:00
|
|
|
test "fence" {
|
2016-12-18 21:41:37 -08:00
|
|
|
var x: i32 = 1234;
|
|
|
|
@fence(AtomicOrder.SeqCst);
|
|
|
|
x = 5678;
|
|
|
|
}
|