Skip to content

Commit fcdb634

Browse files
committed
provisional fix to compile on windows
1 parent e460b5a commit fcdb634

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Include/internal/pycore_pyatomic_ft_wrappers.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,11 @@ extern "C" {
110110
#define FT_ATOMIC_LOAD_ULLONG_RELAXED(value) \
111111
_Py_atomic_load_ullong_relaxed(&value)
112112

113+
// This should probably be moved into its own file as a real function.
113114
static inline void *
114-
FT_ATOMIC_MEMCPY_PTR_RELAXED(void *dest, void *src, ssize_t n)
115+
_Py_atomic_memcpy_ptr_relaxed(void *dest, void *src, Py_ssize_t sn)
115116
{
117+
size_t n = (size_t)sn;
116118
assert(((uintptr_t)dest & (sizeof (void *) - 1)) == 0);
117119
assert(((uintptr_t)src & (sizeof (void *) - 1)) == 0);
118120
assert(n % sizeof(void *) == 0);
@@ -127,9 +129,13 @@ FT_ATOMIC_MEMCPY_PTR_RELAXED(void *dest, void *src, ssize_t n)
127129
return dest;
128130
}
129131

132+
#define FT_ATOMIC_MEMCPY_PTR_RELAXED(dest, src, n) \
133+
_Py_atomic_memcpy_ptr_relaxed(dest, src, (Py_ssize_t)(n))
134+
130135
static inline void *
131-
FT_ATOMIC_MEMMOVE_PTR_RELAXED(void *dest, void *src, ssize_t n)
136+
_Py_atomic_memmove_ptr_relaxed(void *dest, void *src, Py_ssize_t sn)
132137
{
138+
size_t n = (size_t)sn;
133139
assert(((uintptr_t)dest & (sizeof (void *) - 1)) == 0);
134140
assert(((uintptr_t)src & (sizeof (void *) - 1)) == 0);
135141
assert(n % sizeof(void *) == 0);
@@ -151,6 +157,9 @@ FT_ATOMIC_MEMMOVE_PTR_RELAXED(void *dest, void *src, ssize_t n)
151157
return dest;
152158
}
153159

160+
#define FT_ATOMIC_MEMMOVE_PTR_RELAXED(dest, src, n) \
161+
_Py_atomic_memmove_ptr_relaxed(dest, src, (Py_ssize_t)(n))
162+
154163

155164
#else
156165
#define FT_ATOMIC_LOAD_PTR(value) value

0 commit comments

Comments
 (0)