portable_atomic/gen/
utils.rs1#![allow(unused_macros)]
6
7#[cfg(all(
28 target_pointer_width = "32",
29 any(
30 target_arch = "aarch64",
31 target_arch = "amdgpu",
32 target_arch = "arm64ec",
33 target_arch = "bpf",
34 target_arch = "loongarch64",
35 target_arch = "mips64",
36 target_arch = "mips64r6",
37 target_arch = "nvptx64",
38 target_arch = "powerpc64",
39 target_arch = "riscv64",
40 target_arch = "s390x",
41 target_arch = "sparc64",
42 target_arch = "wasm64",
43 target_arch = "x86_64",
44 ),
45))]
46#[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
47macro_rules! ptr_reg {
48 ($ptr:ident) => {{
49 let _: *const _ = $ptr; #[cfg(not(portable_atomic_no_asm_maybe_uninit))]
51 #[allow(clippy::ptr_as_ptr)]
52 {
53 crate::utils::zero_extend64_ptr($ptr as *mut ())
56 }
57 #[cfg(portable_atomic_no_asm_maybe_uninit)]
58 {
59 $ptr as u64
63 }
64 }};
65}
66#[cfg(not(all(
67 target_pointer_width = "32",
68 any(
69 target_arch = "aarch64",
70 target_arch = "amdgpu",
71 target_arch = "arm64ec",
72 target_arch = "bpf",
73 target_arch = "loongarch64",
74 target_arch = "mips64",
75 target_arch = "mips64r6",
76 target_arch = "nvptx64",
77 target_arch = "powerpc64",
78 target_arch = "riscv64",
79 target_arch = "s390x",
80 target_arch = "sparc64",
81 target_arch = "wasm64",
82 target_arch = "x86_64",
83 ),
84)))]
85#[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
86macro_rules! ptr_reg {
87 ($ptr:ident) => {{
88 let _: *const _ = $ptr; $ptr }};
91}
92
93#[cfg(any(
99 not(any(target_pointer_width = "16", target_pointer_width = "32")), target_arch = "aarch64",
101 target_arch = "amdgpu",
102 target_arch = "arm64ec",
103 target_arch = "bpf",
104 target_arch = "loongarch64",
105 target_arch = "mips64",
106 target_arch = "mips64r6",
107 target_arch = "nvptx64",
108 target_arch = "powerpc64",
109 target_arch = "riscv64",
110 target_arch = "s390x",
111 target_arch = "sparc64",
112 target_arch = "wasm64",
113 target_arch = "x86_64",
114))]
115#[macro_use]
116mod fast_atomic_64_macros {
117 macro_rules! cfg_has_fast_atomic_64 {
118 ($($tt:tt)*) => {
119 $($tt)*
120 };
121 }
122 macro_rules! cfg_no_fast_atomic_64 {
123 ($($tt:tt)*) => {};
124 }
125}
126#[cfg(not(any(
127 not(any(target_pointer_width = "16", target_pointer_width = "32")), target_arch = "aarch64",
129 target_arch = "amdgpu",
130 target_arch = "arm64ec",
131 target_arch = "bpf",
132 target_arch = "loongarch64",
133 target_arch = "mips64",
134 target_arch = "mips64r6",
135 target_arch = "nvptx64",
136 target_arch = "powerpc64",
137 target_arch = "riscv64",
138 target_arch = "s390x",
139 target_arch = "sparc64",
140 target_arch = "wasm64",
141 target_arch = "x86_64",
142)))]
143#[macro_use]
144mod fast_atomic_64_macros {
145 macro_rules! cfg_has_fast_atomic_64 {
146 ($($tt:tt)*) => {};
147 }
148 macro_rules! cfg_no_fast_atomic_64 {
149 ($($tt:tt)*) => {
150 $($tt)*
151 };
152 }
153}