|
5 | 5 | */ |
6 | 6 |
|
7 | 7 | #include "parts.h" |
8 | | -#include "pyconfig.h" // SIZEOF_VOID_P |
| 8 | +// #include "pyconfig.h" // SIZEOF_VOID_P |
9 | 9 |
|
10 | 10 | // We define atomic bitwise operations on these types |
11 | 11 | #define FOR_BITWISE_TYPES(V) \ |
@@ -157,77 +157,77 @@ test_atomic_load_store_int_release_acquire(PyObject *self, PyObject *obj) { \ |
157 | 157 | Py_RETURN_NONE; |
158 | 158 | } |
159 | 159 |
|
160 | | -static PyObject * |
161 | | -test_atomic_memcpy_ptr_store_relaxed(PyObject *self, PyObject *obj) { |
162 | | -#if SIZEOF_VOID_P == 8 |
163 | | -#define p0 (void *)0x5555555555555555 |
164 | | -#define p1 (void *)0xaaaaaaaaaaaaaaaa |
165 | | -#define p2 (void *)0xfedcba9876543210 |
166 | | -#define p3 (void *)0x0123456789abcdef |
167 | | -#else |
168 | | -#if SIZEOF_VOID_P == 4 |
169 | | -#define p0 (void *)0x55555555 |
170 | | -#define p1 (void *)0xaaaaaaaa |
171 | | -#define p2 (void *)0x76543210 |
172 | | -#define p3 (void *)0x01234567 |
173 | | -#else |
174 | | -#error "unexpected sizeof(void *), expecting 8 or 4" |
175 | | -#endif |
176 | | -#endif |
177 | | - void *src[4] = { (void *)0, p2, p3, (void *)0 }; |
178 | | - void *dst[4] = { p0, (void *)0, (void *)0, p1 }; |
179 | | - assert(_Py_atomic_memcpy_ptr_store_relaxed(&dst[1], &src[1], SIZEOF_VOID_P * 2) == &dst[1]); |
180 | | - assert(dst[0] == p0); |
181 | | - assert(dst[1] == p2); |
182 | | - assert(dst[2] == p3); |
183 | | - assert(dst[3] == p1); |
184 | | - Py_RETURN_NONE; |
185 | | -#undef p3 |
186 | | -#undef p2 |
187 | | -#undef p1 |
188 | | -#undef p0 |
189 | | -} |
| 160 | +// static PyObject * |
| 161 | +// test_atomic_memcpy_ptr_store_relaxed(PyObject *self, PyObject *obj) { |
| 162 | +// #if SIZEOF_VOID_P == 8 |
| 163 | +// #define p0 (void *)0x5555555555555555 |
| 164 | +// #define p1 (void *)0xaaaaaaaaaaaaaaaa |
| 165 | +// #define p2 (void *)0xfedcba9876543210 |
| 166 | +// #define p3 (void *)0x0123456789abcdef |
| 167 | +// #else |
| 168 | +// #if SIZEOF_VOID_P == 4 |
| 169 | +// #define p0 (void *)0x55555555 |
| 170 | +// #define p1 (void *)0xaaaaaaaa |
| 171 | +// #define p2 (void *)0x76543210 |
| 172 | +// #define p3 (void *)0x01234567 |
| 173 | +// #else |
| 174 | +// #error "unexpected sizeof(void *), expecting 8 or 4" |
| 175 | +// #endif |
| 176 | +// #endif |
| 177 | +// void *src[4] = { (void *)0, p2, p3, (void *)0 }; |
| 178 | +// void *dst[4] = { p0, (void *)0, (void *)0, p1 }; |
| 179 | +// assert(_Py_atomic_memcpy_ptr_store_relaxed(&dst[1], &src[1], SIZEOF_VOID_P * 2) == &dst[1]); |
| 180 | +// assert(dst[0] == p0); |
| 181 | +// assert(dst[1] == p2); |
| 182 | +// assert(dst[2] == p3); |
| 183 | +// assert(dst[3] == p1); |
| 184 | +// Py_RETURN_NONE; |
| 185 | +// #undef p3 |
| 186 | +// #undef p2 |
| 187 | +// #undef p1 |
| 188 | +// #undef p0 |
| 189 | +// } |
190 | 190 |
|
191 | | -static PyObject * |
192 | | -test_atomic_memmove_ptr_store_relaxed(PyObject *self, PyObject *obj) { |
193 | | -#if SIZEOF_VOID_P == 8 |
194 | | -#define p0 (void *)0x5555555555555555 |
195 | | -#define p1 (void *)0xaaaaaaaaaaaaaaaa |
196 | | -#define p2 (void *)0xfedcba9876543210 |
197 | | -#define p3 (void *)0x0123456789abcdef |
198 | | -#define p4 (void *)0x0f2d4b6987a5c3e1 |
199 | | -#else |
200 | | -#if SIZEOF_VOID_P == 4 |
201 | | -#define p0 (void *)0x55555555 |
202 | | -#define p1 (void *)0xaaaaaaaa |
203 | | -#define p2 (void *)0x76543210 |
204 | | -#define p3 (void *)0x01234567 |
205 | | -#define p4 (void *)0x07254361 |
206 | | -#else |
207 | | -#error "unexpected sizeof(void *), expecting 8 or 4" |
208 | | -#endif |
209 | | -#endif |
210 | | - void *back[5] = { p0, p2, p3, p4, p1 }; |
211 | | - assert(_Py_atomic_memmove_ptr_store_relaxed(&back[1], &back[2], SIZEOF_VOID_P * 2) == &back[1]); |
212 | | - assert(back[0] == p0); |
213 | | - assert(back[1] == p3); |
214 | | - assert(back[2] == p4); |
215 | | - assert(back[3] == p4); |
216 | | - assert(back[4] == p1); |
217 | | - void *fwd[5] = { p0, p2, p3, p4, p1 }; |
218 | | - assert(_Py_atomic_memmove_ptr_store_relaxed(&fwd[2], &fwd[1], SIZEOF_VOID_P * 2) == &fwd[2]); |
219 | | - assert(fwd[0] == p0); |
220 | | - assert(fwd[1] == p2); |
221 | | - assert(fwd[2] == p2); |
222 | | - assert(fwd[3] == p3); |
223 | | - assert(fwd[4] == p1); |
224 | | - Py_RETURN_NONE; |
225 | | -#undef p4 |
226 | | -#undef p3 |
227 | | -#undef p2 |
228 | | -#undef p1 |
229 | | -#undef p0 |
230 | | -} |
| 191 | +// static PyObject * |
| 192 | +// test_atomic_memmove_ptr_store_relaxed(PyObject *self, PyObject *obj) { |
| 193 | +// #if SIZEOF_VOID_P == 8 |
| 194 | +// #define p0 (void *)0x5555555555555555 |
| 195 | +// #define p1 (void *)0xaaaaaaaaaaaaaaaa |
| 196 | +// #define p2 (void *)0xfedcba9876543210 |
| 197 | +// #define p3 (void *)0x0123456789abcdef |
| 198 | +// #define p4 (void *)0x0f2d4b6987a5c3e1 |
| 199 | +// #else |
| 200 | +// #if SIZEOF_VOID_P == 4 |
| 201 | +// #define p0 (void *)0x55555555 |
| 202 | +// #define p1 (void *)0xaaaaaaaa |
| 203 | +// #define p2 (void *)0x76543210 |
| 204 | +// #define p3 (void *)0x01234567 |
| 205 | +// #define p4 (void *)0x07254361 |
| 206 | +// #else |
| 207 | +// #error "unexpected sizeof(void *), expecting 8 or 4" |
| 208 | +// #endif |
| 209 | +// #endif |
| 210 | +// void *back[5] = { p0, p2, p3, p4, p1 }; |
| 211 | +// assert(_Py_atomic_memmove_ptr_store_relaxed(&back[1], &back[2], SIZEOF_VOID_P * 2) == &back[1]); |
| 212 | +// assert(back[0] == p0); |
| 213 | +// assert(back[1] == p3); |
| 214 | +// assert(back[2] == p4); |
| 215 | +// assert(back[3] == p4); |
| 216 | +// assert(back[4] == p1); |
| 217 | +// void *fwd[5] = { p0, p2, p3, p4, p1 }; |
| 218 | +// assert(_Py_atomic_memmove_ptr_store_relaxed(&fwd[2], &fwd[1], SIZEOF_VOID_P * 2) == &fwd[2]); |
| 219 | +// assert(fwd[0] == p0); |
| 220 | +// assert(fwd[1] == p2); |
| 221 | +// assert(fwd[2] == p2); |
| 222 | +// assert(fwd[3] == p3); |
| 223 | +// assert(fwd[4] == p1); |
| 224 | +// Py_RETURN_NONE; |
| 225 | +// #undef p4 |
| 226 | +// #undef p3 |
| 227 | +// #undef p2 |
| 228 | +// #undef p1 |
| 229 | +// #undef p0 |
| 230 | +// } |
231 | 231 |
|
232 | 232 | // NOTE: all tests should start with "test_atomic_" to be included |
233 | 233 | // in test_pyatomic.py |
|
0 commit comments