@@ -154,6 +154,36 @@ mod atomic_32_macros {
154
154
) ,
155
155
target_has_atomic = "64" ,
156
156
not( any( target_pointer_width = "16" , target_pointer_width = "32" ) ) ,
157
+ all(
158
+ target_arch = "riscv32" ,
159
+ not( any( miri, portable_atomic_sanitize_thread) ) ,
160
+ not( portable_atomic_no_asm) ,
161
+ any(
162
+ target_feature = "experimental-zacas" ,
163
+ portable_atomic_target_feature = "experimental-zacas" ,
164
+ // TODO(riscv)
165
+ // all(
166
+ // feature = "fallback",
167
+ // not(portable_atomic_no_outline_atomics),
168
+ // any(test, portable_atomic_outline_atomics), // TODO(riscv): currently disabled by default
169
+ // any(
170
+ // all(
171
+ // target_os = "linux",
172
+ // any(
173
+ // target_env = "gnu",
174
+ // all(
175
+ // any(target_env = "musl", target_env = "ohos"),
176
+ // not(target_feature = "crt-static"),
177
+ // ),
178
+ // portable_atomic_outline_atomics,
179
+ // ),
180
+ // ),
181
+ // target_os = "android",
182
+ // ),
183
+ // not(any(miri, portable_atomic_sanitize_thread)),
184
+ // ),
185
+ ) ,
186
+ ) ,
157
187
) )
158
188
) ]
159
189
#[ macro_use]
@@ -201,6 +231,36 @@ mod atomic_64_macros {
201
231
) ,
202
232
target_has_atomic = "64" ,
203
233
not( any( target_pointer_width = "16" , target_pointer_width = "32" ) ) ,
234
+ all(
235
+ target_arch = "riscv32" ,
236
+ not( any( miri, portable_atomic_sanitize_thread) ) ,
237
+ not( portable_atomic_no_asm) ,
238
+ any(
239
+ target_feature = "experimental-zacas" ,
240
+ portable_atomic_target_feature = "experimental-zacas" ,
241
+ // TODO(riscv)
242
+ // all(
243
+ // feature = "fallback",
244
+ // not(portable_atomic_no_outline_atomics),
245
+ // any(test, portable_atomic_outline_atomics), // TODO(riscv): currently disabled by default
246
+ // any(
247
+ // all(
248
+ // target_os = "linux",
249
+ // any(
250
+ // target_env = "gnu",
251
+ // all(
252
+ // any(target_env = "musl", target_env = "ohos"),
253
+ // not(target_feature = "crt-static"),
254
+ // ),
255
+ // portable_atomic_outline_atomics,
256
+ // ),
257
+ // ),
258
+ // target_os = "android",
259
+ // ),
260
+ // not(any(miri, portable_atomic_sanitize_thread)),
261
+ // ),
262
+ ) ,
263
+ ) ,
204
264
) ) )
205
265
) ]
206
266
#[ macro_use]
@@ -247,11 +307,11 @@ mod atomic_64_macros {
247
307
any(
248
308
target_feature = "experimental-zacas" ,
249
309
portable_atomic_target_feature = "experimental-zacas" ,
250
- // TODO(riscv64 )
310
+ // TODO(riscv )
251
311
// all(
252
312
// feature = "fallback",
253
313
// not(portable_atomic_no_outline_atomics),
254
- // any(test, portable_atomic_outline_atomics), // TODO(riscv64 ): currently disabled by default
314
+ // any(test, portable_atomic_outline_atomics), // TODO(riscv ): currently disabled by default
255
315
// any(
256
316
// all(
257
317
// target_os = "linux",
@@ -366,11 +426,11 @@ mod atomic_128_macros {
366
426
any(
367
427
target_feature = "experimental-zacas" ,
368
428
portable_atomic_target_feature = "experimental-zacas" ,
369
- // TODO(riscv64 )
429
+ // TODO(riscv )
370
430
// all(
371
431
// feature = "fallback",
372
432
// not(portable_atomic_no_outline_atomics),
373
- // any(test, portable_atomic_outline_atomics), // TODO(riscv64 ): currently disabled by default
433
+ // any(test, portable_atomic_outline_atomics), // TODO(riscv ): currently disabled by default
374
434
// any(
375
435
// all(
376
436
// target_os = "linux",
0 commit comments