Skip to content

Commit

Permalink
pythongh-120593: Fix const qualified in pyatomic.h
Browse files Browse the repository at this point in the history
Remove the 'const' qualifier of the argument of functions:

* _Py_atomic_load_ptr()
* _Py_atomic_load_ptr_relaxed()
* _Py_atomic_load_ptr_acquire()
  • Loading branch information
vstinner committed Jun 26, 2024
1 parent 44eafd6 commit eb1e734
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
6 changes: 3 additions & 3 deletions Include/cpython/pyatomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ static inline Py_ssize_t
_Py_atomic_load_ssize(const Py_ssize_t *obj);

static inline void *
_Py_atomic_load_ptr(const void *obj);
_Py_atomic_load_ptr(void *obj);


// --- _Py_atomic_load_relaxed -----------------------------------------------
Expand Down Expand Up @@ -358,7 +358,7 @@ static inline Py_ssize_t
_Py_atomic_load_ssize_relaxed(const Py_ssize_t *obj);

static inline void *
_Py_atomic_load_ptr_relaxed(const void *obj);
_Py_atomic_load_ptr_relaxed(void *obj);

static inline unsigned long long
_Py_atomic_load_ullong_relaxed(const unsigned long long *obj);
Expand Down Expand Up @@ -463,7 +463,7 @@ _Py_atomic_store_ullong_relaxed(unsigned long long *obj,

// Loads `*obj` (acquire operation)
static inline void *
_Py_atomic_load_ptr_acquire(const void *obj);
_Py_atomic_load_ptr_acquire(void *obj);

static inline uintptr_t
_Py_atomic_load_uintptr_acquire(const uintptr_t *obj);
Expand Down
10 changes: 5 additions & 5 deletions Include/cpython/pyatomic_gcc.h
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ _Py_atomic_load_ssize(const Py_ssize_t *obj)
{ return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }

static inline void *
_Py_atomic_load_ptr(const void *obj)
_Py_atomic_load_ptr(void *obj)
{ return (void *)__atomic_load_n((void **)obj, __ATOMIC_SEQ_CST); }


Expand Down Expand Up @@ -355,8 +355,8 @@ _Py_atomic_load_ssize_relaxed(const Py_ssize_t *obj)
{ return __atomic_load_n(obj, __ATOMIC_RELAXED); }

static inline void *
_Py_atomic_load_ptr_relaxed(const void *obj)
{ return (void *)__atomic_load_n((const void **)obj, __ATOMIC_RELAXED); }
_Py_atomic_load_ptr_relaxed(void *obj)
{ return (void *)__atomic_load_n((void **)obj, __ATOMIC_RELAXED); }

static inline unsigned long long
_Py_atomic_load_ullong_relaxed(const unsigned long long *obj)
Expand Down Expand Up @@ -489,12 +489,12 @@ _Py_atomic_store_ullong_relaxed(unsigned long long *obj,
// --- _Py_atomic_load_ptr_acquire / _Py_atomic_store_ptr_release ------------

static inline void *
_Py_atomic_load_ptr_acquire(const void *obj)
_Py_atomic_load_ptr_acquire(void *obj)
{ return (void *)__atomic_load_n((void **)obj, __ATOMIC_ACQUIRE); }

static inline uintptr_t
_Py_atomic_load_uintptr_acquire(const uintptr_t *obj)
{ return (uintptr_t)__atomic_load_n((uintptr_t *)obj, __ATOMIC_ACQUIRE); }
{ return (uintptr_t)__atomic_load_n(obj, __ATOMIC_ACQUIRE); }

static inline void
_Py_atomic_store_ptr_release(void *obj, void *value)
Expand Down
10 changes: 5 additions & 5 deletions Include/cpython/pyatomic_msc.h
Original file line number Diff line number Diff line change
Expand Up @@ -595,12 +595,12 @@ _Py_atomic_load_int64(const int64_t *obj)
}

static inline void*
_Py_atomic_load_ptr(const void *obj)
_Py_atomic_load_ptr(void *obj)
{
#if SIZEOF_VOID_P == 8
return (void*)_Py_atomic_load_uint64((const uint64_t *)obj);
return (void*)_Py_atomic_load_uint64((uint64_t *)obj);
#else
return (void*)_Py_atomic_load_uint32((const uint32_t *)obj);
return (void*)_Py_atomic_load_uint32((uint32_t *)obj);
#endif
}

Expand Down Expand Up @@ -707,7 +707,7 @@ _Py_atomic_load_ssize_relaxed(const Py_ssize_t *obj)
}

static inline void*
_Py_atomic_load_ptr_relaxed(const void *obj)
_Py_atomic_load_ptr_relaxed(void *obj)
{
return *(void * volatile *)obj;
}
Expand Down Expand Up @@ -903,7 +903,7 @@ _Py_atomic_store_ullong_relaxed(unsigned long long *obj,
// --- _Py_atomic_load_ptr_acquire / _Py_atomic_store_ptr_release ------------

static inline void *
_Py_atomic_load_ptr_acquire(const void *obj)
_Py_atomic_load_ptr_acquire(void *obj)
{
#if defined(_M_X64) || defined(_M_IX86)
return *(void * volatile *)obj;
Expand Down
12 changes: 6 additions & 6 deletions Include/cpython/pyatomic_std.h
Original file line number Diff line number Diff line change
Expand Up @@ -498,10 +498,10 @@ _Py_atomic_load_ssize(const Py_ssize_t *obj)
}

static inline void*
_Py_atomic_load_ptr(const void *obj)
_Py_atomic_load_ptr(void *obj)
{
_Py_USING_STD;
return atomic_load((const _Atomic(void*)*)obj);
return atomic_load((_Atomic(void*)*)obj);
}


Expand Down Expand Up @@ -612,10 +612,10 @@ _Py_atomic_load_ssize_relaxed(const Py_ssize_t *obj)
}

static inline void*
_Py_atomic_load_ptr_relaxed(const void *obj)
_Py_atomic_load_ptr_relaxed(void *obj)
{
_Py_USING_STD;
return atomic_load_explicit((const _Atomic(void*)*)obj,
return atomic_load_explicit((_Atomic(void*)*)obj,
memory_order_relaxed);
}

Expand Down Expand Up @@ -856,10 +856,10 @@ _Py_atomic_store_ullong_relaxed(unsigned long long *obj,
// --- _Py_atomic_load_ptr_acquire / _Py_atomic_store_ptr_release ------------

static inline void *
_Py_atomic_load_ptr_acquire(const void *obj)
_Py_atomic_load_ptr_acquire(void *obj)
{
_Py_USING_STD;
return atomic_load_explicit((const _Atomic(void*)*)obj,
return atomic_load_explicit((_Atomic(void*)*)obj,
memory_order_acquire);
}

Expand Down

0 comments on commit eb1e734

Please sign in to comment.