use portable AtomicU64 for powerPC and MIPS
This commit is contained in:
parent
248dd14fa5
commit
f2a40e99ff
5 changed files with 28 additions and 4 deletions
|
@ -138,7 +138,6 @@ cfg_match! {
|
|||
[std::sync::atomic::AtomicUsize]
|
||||
[std::sync::atomic::AtomicU8]
|
||||
[std::sync::atomic::AtomicU32]
|
||||
[std::sync::atomic::AtomicU64]
|
||||
[std::backtrace::Backtrace]
|
||||
[std::io::Error]
|
||||
[std::fs::File]
|
||||
|
@ -148,6 +147,18 @@ cfg_match! {
|
|||
[crate::owned_slice::OwnedSlice]
|
||||
);
|
||||
|
||||
// PowerPC and MIPS platforms with 32-bit pointers do not
|
||||
// have AtomicU64 type.
|
||||
#[cfg(not(any(target_arch = "powerpc", target_arch = "mips")))]
|
||||
already_sync!(
|
||||
[std::sync::atomic::AtomicU64]
|
||||
);
|
||||
|
||||
#[cfg(any(target_arch = "powerpc", target_arch = "mips"))]
|
||||
already_sync!(
|
||||
[portable_atomic::AtomicU64]
|
||||
);
|
||||
|
||||
macro_rules! impl_dyn_sync {
|
||||
($($($attr: meta)* [$ty: ty where $($generics2: tt)*])*) => {
|
||||
$(unsafe impl<$($generics2)*> DynSync for $ty {})*
|
||||
|
|
|
@ -265,7 +265,15 @@ cfg_match! {
|
|||
|
||||
pub use std::sync::OnceLock;
|
||||
|
||||
pub use std::sync::atomic::{AtomicBool, AtomicUsize, AtomicU32, AtomicU64};
|
||||
pub use std::sync::atomic::{AtomicBool, AtomicUsize, AtomicU32};
|
||||
|
||||
// PowerPC and MIPS platforms with 32-bit pointers do not
|
||||
// have AtomicU64 type.
|
||||
#[cfg(not(any(target_arch = "powerpc", target_arch = "mips")))]
|
||||
pub use std::sync::atomic::AtomicU64;
|
||||
|
||||
#[cfg(any(target_arch = "powerpc", target_arch = "mips"))]
|
||||
pub use portable_atomic::AtomicU64;
|
||||
|
||||
pub use std::sync::Arc as Lrc;
|
||||
pub use std::sync::Weak as Weak;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue