@@ -506,15 +506,23 @@ static inline void _Py_atomic_fence_release(void);
506
506
// --- aliases ---------------------------------------------------------------
507
507
508
508
#if SIZEOF_LONG == 8
509
- # define _Py_atomic_load_ulong _Py_atomic_load_uint64
510
- # define _Py_atomic_load_ulong_relaxed _Py_atomic_load_uint64_relaxed
511
- # define _Py_atomic_store_ulong _Py_atomic_store_uint64
512
- # define _Py_atomic_store_ulong_relaxed _Py_atomic_store_uint64_relaxed
509
+ # define _Py_atomic_load_ulong (p ) \
510
+ _Py_atomic_load_uint64((uint64_t *)p)
511
+ # define _Py_atomic_load_ulong_relaxed (p ) \
512
+ _Py_atomic_load_uint64_relaxed((uint64_t *)p)
513
+ # define _Py_atomic_store_ulong (p , v ) \
514
+ _Py_atomic_store_uint64((uint64_t *)p, v)
515
+ # define _Py_atomic_store_ulong_relaxed (p , v ) \
516
+ _Py_atomic_store_uint64_relaxed((uint64_t *)p, v)
513
517
#elif SIZEOF_LONG == 4
514
- # define _Py_atomic_load_ulong _Py_atomic_load_uint32
515
- # define _Py_atomic_load_ulong_relaxed _Py_atomic_load_uint32_relaxed
516
- # define _Py_atomic_store_ulong _Py_atomic_store_uint32
517
- # define _Py_atomic_store_ulong_relaxed _Py_atomic_store_uint32_relaxed
518
+ # define _Py_atomic_load_ulong (p ) \
519
+ _Py_atomic_load_uint32((uint32_t *)p)
520
+ # define _Py_atomic_load_ulong_relaxed (p ) \
521
+ _Py_atomic_load_uint32_relaxed((uint32_t *)p)
522
+ # define _Py_atomic_store_ulong (p , v ) \
523
+ _Py_atomic_store_uint32((uint32_t *)p, v)
524
+ # define _Py_atomic_store_ulong_relaxed (p , v ) \
525
+ _Py_atomic_store_uint32_relaxed((uint32_t *)p, v)
518
526
#else
519
527
# error "long must be 4 or 8 bytes in size"
520
528
#endif // SIZEOF_LONG
0 commit comments