@@ -1951,8 +1951,7 @@ macro_rules! if_not_8_bit {
19511951 ( $_: ident, $( $tt: tt) * ) => { $( $tt) * } ;
19521952}
19531953
1954- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic_load_store) ) ]
1955- #[ cfg_attr( bootstrap, cfg( target_has_atomic_load_store = "8" ) ) ]
1954+ #[ cfg( target_has_atomic_load_store) ]
19561955macro_rules! atomic_int {
19571956 ( $cfg_cas: meta,
19581957 $cfg_align: meta,
@@ -3125,8 +3124,7 @@ atomic_int_ptr_sized! {
31253124}
31263125
31273126#[ inline]
3128- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3129- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3127+ #[ cfg( target_has_atomic) ]
31303128fn strongest_failure_ordering ( order : Ordering ) -> Ordering {
31313129 match order {
31323130 Release => Relaxed ,
@@ -3168,8 +3166,7 @@ unsafe fn atomic_load<T: Copy>(dst: *const T, order: Ordering) -> T {
31683166}
31693167
31703168#[ inline]
3171- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3172- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3169+ #[ cfg( target_has_atomic) ]
31733170#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
31743171unsafe fn atomic_swap < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
31753172 // SAFETY: the caller must uphold the safety contract for `atomic_swap`.
@@ -3186,8 +3183,7 @@ unsafe fn atomic_swap<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
31863183
31873184/// Returns the previous value (like __sync_fetch_and_add).
31883185#[ inline]
3189- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3190- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3186+ #[ cfg( target_has_atomic) ]
31913187#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
31923188unsafe fn atomic_add < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
31933189 // SAFETY: the caller must uphold the safety contract for `atomic_add`.
@@ -3204,8 +3200,7 @@ unsafe fn atomic_add<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
32043200
32053201/// Returns the previous value (like __sync_fetch_and_sub).
32063202#[ inline]
3207- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3208- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3203+ #[ cfg( target_has_atomic) ]
32093204#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
32103205unsafe fn atomic_sub < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
32113206 // SAFETY: the caller must uphold the safety contract for `atomic_sub`.
@@ -3221,8 +3216,7 @@ unsafe fn atomic_sub<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
32213216}
32223217
32233218#[ inline]
3224- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3225- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3219+ #[ cfg( target_has_atomic) ]
32263220#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
32273221unsafe fn atomic_compare_exchange < T : Copy > (
32283222 dst : * mut T ,
@@ -3257,8 +3251,7 @@ unsafe fn atomic_compare_exchange<T: Copy>(
32573251}
32583252
32593253#[ inline]
3260- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3261- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3254+ #[ cfg( target_has_atomic) ]
32623255#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
32633256unsafe fn atomic_compare_exchange_weak < T : Copy > (
32643257 dst : * mut T ,
@@ -3293,8 +3286,7 @@ unsafe fn atomic_compare_exchange_weak<T: Copy>(
32933286}
32943287
32953288#[ inline]
3296- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3297- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3289+ #[ cfg( target_has_atomic) ]
32983290#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
32993291unsafe fn atomic_and < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33003292 // SAFETY: the caller must uphold the safety contract for `atomic_and`
@@ -3310,8 +3302,7 @@ unsafe fn atomic_and<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33103302}
33113303
33123304#[ inline]
3313- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3314- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3305+ #[ cfg( target_has_atomic) ]
33153306#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
33163307unsafe fn atomic_nand < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33173308 // SAFETY: the caller must uphold the safety contract for `atomic_nand`
@@ -3327,8 +3318,7 @@ unsafe fn atomic_nand<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33273318}
33283319
33293320#[ inline]
3330- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3331- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3321+ #[ cfg( target_has_atomic) ]
33323322#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
33333323unsafe fn atomic_or < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33343324 // SAFETY: the caller must uphold the safety contract for `atomic_or`
@@ -3344,8 +3334,7 @@ unsafe fn atomic_or<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33443334}
33453335
33463336#[ inline]
3347- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3348- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3337+ #[ cfg( target_has_atomic) ]
33493338#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
33503339unsafe fn atomic_xor < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33513340 // SAFETY: the caller must uphold the safety contract for `atomic_xor`
@@ -3362,8 +3351,7 @@ unsafe fn atomic_xor<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33623351
33633352/// returns the max value (signed comparison)
33643353#[ inline]
3365- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3366- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3354+ #[ cfg( target_has_atomic) ]
33673355#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
33683356unsafe fn atomic_max < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33693357 // SAFETY: the caller must uphold the safety contract for `atomic_max`
@@ -3380,8 +3368,7 @@ unsafe fn atomic_max<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33803368
33813369/// returns the min value (signed comparison)
33823370#[ inline]
3383- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3384- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3371+ #[ cfg( target_has_atomic) ]
33853372#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
33863373unsafe fn atomic_min < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
33873374 // SAFETY: the caller must uphold the safety contract for `atomic_min`
@@ -3398,8 +3385,7 @@ unsafe fn atomic_min<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
33983385
33993386/// returns the max value (unsigned comparison)
34003387#[ inline]
3401- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3402- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3388+ #[ cfg( target_has_atomic) ]
34033389#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
34043390unsafe fn atomic_umax < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
34053391 // SAFETY: the caller must uphold the safety contract for `atomic_umax`
@@ -3416,8 +3402,7 @@ unsafe fn atomic_umax<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T {
34163402
34173403/// returns the min value (unsigned comparison)
34183404#[ inline]
3419- #[ cfg_attr( not( bootstrap) , cfg( target_has_atomic) ) ]
3420- #[ cfg_attr( bootstrap, cfg( target_has_atomic = "8" ) ) ]
3405+ #[ cfg( target_has_atomic) ]
34213406#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
34223407unsafe fn atomic_umin < T : Copy > ( dst : * mut T , val : T , order : Ordering ) -> T {
34233408 // SAFETY: the caller must uphold the safety contract for `atomic_umin`
0 commit comments