]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | // run-pass |
2 | ||
0bf4aa26 | 3 | #![allow(stable_features)] |
9e0c209e | 4 | #![feature(atomic_access)] |
9fa01778 | 5 | use std::sync::atomic::AtomicBool; |
9e0c209e SL |
6 | use std::sync::atomic::Ordering::*; |
7 | ||
9fa01778 | 8 | static mut ATOMIC: AtomicBool = AtomicBool::new(false); |
9e0c209e SL |
9 | |
10 | fn main() { | |
11 | unsafe { | |
12 | assert_eq!(*ATOMIC.get_mut(), false); | |
13 | ATOMIC.store(true, SeqCst); | |
14 | assert_eq!(*ATOMIC.get_mut(), true); | |
15 | ATOMIC.fetch_or(false, SeqCst); | |
16 | assert_eq!(*ATOMIC.get_mut(), true); | |
17 | ATOMIC.fetch_and(false, SeqCst); | |
18 | assert_eq!(*ATOMIC.get_mut(), false); | |
19 | ATOMIC.fetch_nand(true, SeqCst); | |
20 | assert_eq!(*ATOMIC.get_mut(), true); | |
21 | ATOMIC.fetch_xor(true, SeqCst); | |
22 | assert_eq!(*ATOMIC.get_mut(), false); | |
23 | } | |
24 | } |