1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
--- atomic.orig/src/lib.rs
+++ atomic/src/lib.rs
@@ -500,4 +500,8 @@
}
+ // on 32-bit x86 64 bit atomics exist, but they can't be used to implement
+ // atomic<i64> because AtomicI64 has a greater alignment requirement than
+ // i64.
+ #[cfg(any(feature = "fallback",all(target_has_atomic = "64",not(target_arch = "x86"))))]
#[test]
fn atomic_i64() {
@@ -523,4 +527,5 @@
}
+ #[cfg(any(feature = "fallback",all(feature = "nightly", target_has_atomic = "128")))]
#[test]
fn atomic_i128() {
@@ -631,4 +636,8 @@
}
+ // on 32-bit x86 64 bit atomics exist, but they can't be used to implement
+ // atomic<u64> because AtomicU64 has a greater alignment requirement than
+ // u64.
+ #[cfg(any(feature = "fallback",all(target_has_atomic = "64",not(target_arch = "x86"))))]
#[test]
fn atomic_u64() {
@@ -654,4 +663,5 @@
}
+ #[cfg(any(feature = "fallback",all(feature = "nightly", target_has_atomic = "128")))]
#[test]
fn atomic_u128() {
@@ -696,4 +706,5 @@
}
+ #[cfg(feature = "fallback")]
#[test]
fn atomic_foo() {
@@ -715,4 +726,5 @@
}
+ #[cfg(feature = "fallback")]
#[test]
fn atomic_bar() {
|