@@ -256,7 +256,7 @@ cfg_if::cfg_if! {
256
256
}
257
257
258
258
pub unsafe fn panic ( data : Box < dyn Any + Send > ) -> u32 {
259
- use core:: intrinsics:: atomic_store ;
259
+ use core:: intrinsics:: atomic_store_seqcst ;
260
260
261
261
// _CxxThrowException executes entirely on this stack frame, so there's no
262
262
// need to otherwise transfer `data` to the heap. We just pass a stack
@@ -288,20 +288,23 @@ pub unsafe fn panic(data: Box<dyn Any + Send>) -> u32 {
288
288
//
289
289
// In any case, we basically need to do something like this until we can
290
290
// express more operations in statics (and we may never be able to).
291
- atomic_store ( & mut THROW_INFO . pmfnUnwind as * mut _ as * mut u32 , ptr ! ( exception_cleanup) as u32 ) ;
292
- atomic_store (
291
+ atomic_store_seqcst (
292
+ & mut THROW_INFO . pmfnUnwind as * mut _ as * mut u32 ,
293
+ ptr ! ( exception_cleanup) as u32 ,
294
+ ) ;
295
+ atomic_store_seqcst (
293
296
& mut THROW_INFO . pCatchableTypeArray as * mut _ as * mut u32 ,
294
297
ptr ! ( & CATCHABLE_TYPE_ARRAY as * const _) as u32 ,
295
298
) ;
296
- atomic_store (
299
+ atomic_store_seqcst (
297
300
& mut CATCHABLE_TYPE_ARRAY . arrayOfCatchableTypes [ 0 ] as * mut _ as * mut u32 ,
298
301
ptr ! ( & CATCHABLE_TYPE as * const _) as u32 ,
299
302
) ;
300
- atomic_store (
303
+ atomic_store_seqcst (
301
304
& mut CATCHABLE_TYPE . pType as * mut _ as * mut u32 ,
302
305
ptr ! ( & TYPE_DESCRIPTOR as * const _) as u32 ,
303
306
) ;
304
- atomic_store (
307
+ atomic_store_seqcst (
305
308
& mut CATCHABLE_TYPE . copyFunction as * mut _ as * mut u32 ,
306
309
ptr ! ( exception_copy) as u32 ,
307
310
) ;
0 commit comments