bpo-11717: fix ssize_t redefinition error when targeting 32bit Window… · python/cpython@c994ffe (original) (raw)
File tree
5 files changed
lines changed
- Tools/peg_generator/pegen
5 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -101,7 +101,9 @@ typedef intptr_t Py_intptr_t; | ||
101 | 101 | * sizeof(size_t). C99 doesn't define such a thing directly (size_t is an |
102 | 102 | * unsigned integral type). See PEP 353 for details. |
103 | 103 | */ |
104 | -#ifdef HAVE_SSIZE_T | |
104 | +#ifdef HAVE_PY_SSIZE_T | |
105 | + | |
106 | +#elif HAVE_SSIZE_T | |
105 | 107 | typedef ssize_t Py_ssize_t; |
106 | 108 | #elif SIZEOF_VOID_P == SIZEOF_SIZE_T |
107 | 109 | typedef Py_intptr_t Py_ssize_t; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -24,7 +24,7 @@ _Py_IDENTIFIER(n_sequence_fields); | ||
24 | 24 | _Py_IDENTIFIER(n_fields); |
25 | 25 | _Py_IDENTIFIER(n_unnamed_fields); |
26 | 26 | |
27 | -static ssize_t | |
27 | +static Py_ssize_t | |
28 | 28 | get_type_attr_as_size(PyTypeObject *tp, _Py_Identifier *id) |
29 | 29 | { |
30 | 30 | PyObject *name = _PyUnicode_FromId(id); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -165,11 +165,11 @@ WIN32 is still required for the locale module. | ||
165 | 165 | |
166 | 166 | /* Define like size_t, omitting the "unsigned" */ |
167 | 167 | #ifdef MS_WIN64 |
168 | -typedef __int64 ssize_t; | |
168 | +typedef __int64 Py_ssize_t; | |
169 | 169 | #else |
170 | -typedef _W64 int ssize_t; | |
170 | +typedef _W64 int Py_ssize_t; | |
171 | 171 | #endif |
172 | -#define HAVE_SSIZE_T 1 | |
172 | +#define HAVE_PY_SSIZE_T 1 | |
173 | 173 | |
174 | 174 | #if defined(MS_WIN32) && !defined(MS_WIN64) |
175 | 175 | #if defined(_M_IX86) |