Skip to content

Commit 272fec6

Browse files
committed
another test
1 parent 9bf93f2 commit 272fec6

File tree

5 files changed

+58
-3
lines changed

5 files changed

+58
-3
lines changed

Include/cpython/pyatomic.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,13 @@ static inline Py_ssize_t
545545
_Py_atomic_load_ssize_acquire(const Py_ssize_t *obj);
546546

547547

548-
// // --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
548+
// --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
549+
550+
static inline void *
551+
_Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n);
552+
553+
static inline void *
554+
_Py_atomic_memmove_ptr_store_relaxed(void *dest, void *src, size_t n);
549555

550556
// static inline void *
551557
// _Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n)

Include/cpython/pyatomic_gcc.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,22 @@ static inline Py_ssize_t
600600
_Py_atomic_load_ssize_acquire(const Py_ssize_t *obj)
601601
{ return __atomic_load_n(obj, __ATOMIC_ACQUIRE); }
602602

603+
604+
// --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
605+
606+
static inline void *
607+
_Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n)
608+
{
609+
return memcpy(dest, src, n);
610+
}
611+
612+
static inline void *
613+
_Py_atomic_memmove_ptr_store_relaxed(void *dest, void *src, size_t n)
614+
{
615+
return memmove(dest, src, n);
616+
}
617+
618+
603619
// --- _Py_atomic_fence ------------------------------------------------------
604620

605621
static inline void

Include/cpython/pyatomic_msc.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,22 @@ _Py_atomic_load_ssize_acquire(const Py_ssize_t *obj)
11541154
#endif
11551155
}
11561156

1157+
1158+
// --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
1159+
1160+
static inline void *
1161+
_Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n)
1162+
{
1163+
return memcpy(dest, src, n);
1164+
}
1165+
1166+
static inline void *
1167+
_Py_atomic_memmove_ptr_store_relaxed(void *dest, void *src, size_t n)
1168+
{
1169+
return memmove(dest, src, n);
1170+
}
1171+
1172+
11571173
// --- _Py_atomic_fence ------------------------------------------------------
11581174

11591175
static inline void

Include/cpython/pyatomic_std.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,21 @@ _Py_atomic_load_ssize_acquire(const Py_ssize_t *obj)
10881088
}
10891089

10901090

1091+
// --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
1092+
1093+
static inline void *
1094+
_Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n)
1095+
{
1096+
return memcpy(dest, src, n);
1097+
}
1098+
1099+
static inline void *
1100+
_Py_atomic_memmove_ptr_store_relaxed(void *dest, void *src, size_t n)
1101+
{
1102+
return memmove(dest, src, n);
1103+
}
1104+
1105+
10911106
// --- _Py_atomic_fence ------------------------------------------------------
10921107

10931108
static inline void

Include/internal/pycore_pyatomic_ft_wrappers.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ extern "C" {
114114
#define FT_MUTEX_LOCK(lock) PyMutex_Lock(lock)
115115
#define FT_MUTEX_UNLOCK(lock) PyMutex_Unlock(lock)
116116

117-
#define FT_ATOMIC_MEMCPY_PTR_STORE_RELAXED(dest, src, n) memcpy(dest, src, n)
118-
#define FT_ATOMIC_MEMMOVE_PTR_STORE_RELAXED(dest, src, n) memmove(dest, src, n)
117+
#define FT_ATOMIC_MEMCPY_PTR_STORE_RELAXED(dest, src, n) \
118+
_Py_atomic_memcpy_ptr_store_relaxed(dest, src, (size_t)(n))
119+
#define FT_ATOMIC_MEMMOVE_PTR_STORE_RELAXED(dest, src, n) \
120+
_Py_atomic_memmove_ptr_store_relaxed(dest, src, (size_t)(n))
119121

120122

121123
#else

0 commit comments

Comments
 (0)