bpo-35059: PyObject_INIT() casts to PyObject* (GH-10674)

PyObject_INIT() and PyObject_INIT_VAR() now cast their first argument
to PyObject*, as done in Python 3.7.

Revert partially commit b4435e20a9.
This commit is contained in:
Victor Stinner 2018-11-23 14:27:38 +01:00 • committed by GitHub
parent 353933e712
commit b509d52083
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 18 additions and 12 deletions

View file

@ -86,7 +86,7 @@ _PyBytes_FromSize(Py_ssize_t size, int use_calloc)
op = (PyBytesObject *)PyObject_Malloc(PyBytesObject_SIZE + size);
if (op == NULL)
return PyErr_NoMemory();
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
op->ob_shash = -1;
if (!use_calloc)
op->ob_sval[size] = '\0';
@ -164,7 +164,7 @@ PyBytes_FromString(const char *str)
op = (PyBytesObject *)PyObject_MALLOC(PyBytesObject_SIZE + size);
if (op == NULL)
return PyErr_NoMemory();
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
op->ob_shash = -1;
memcpy(op->ob_sval, str, size+1);
/* share short strings */
@ -1509,7 +1509,7 @@ bytes_repeat(PyBytesObject *a, Py_ssize_t n)
op = (PyBytesObject *)PyObject_MALLOC(PyBytesObject_SIZE + nbytes);
if (op == NULL)
return PyErr_NoMemory();
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
op->ob_shash = -1;
op->ob_sval[size] = '\0';
if (Py_SIZE(a) == 1 && n > 0) {

View file

@ -56,7 +56,7 @@ PyMethod_New(PyObject *func, PyObject *self)
im = free_list;
if (im != NULL) {
free_list = (PyMethodObject *)(im->im_self);
(void)PyObject_INIT((PyObject *)im, &PyMethod_Type);
(void)PyObject_INIT(im, &PyMethod_Type);
numfree--;
}
else {

View file

@ -228,7 +228,7 @@ PyComplex_FromCComplex(Py_complex cval)
op = (PyComplexObject *) PyObject_MALLOC(sizeof(PyComplexObject));
if (op == NULL)
return PyErr_NoMemory();
(void)PyObject_INIT((PyObject *)op, &PyComplex_Type);
(void)PyObject_INIT(op, &PyComplex_Type);
op->cval = cval;
return (PyObject *) op;
}

View file

@ -124,7 +124,7 @@ PyFloat_FromDouble(double fval)
return PyErr_NoMemory();
}
/* Inline PyObject_New */
(void)PyObject_INIT((PyObject *)op, &PyFloat_Type);
(void)PyObject_INIT(op, &PyFloat_Type);
op->ob_fval = fval;
return (PyObject *) op;
}

View file

@ -211,7 +211,7 @@ _PyLong_New(Py_ssize_t size)
PyErr_NoMemory();
return NULL;
}
return (PyLongObject*)PyObject_INIT_VAR((PyVarObject *)result, &PyLong_Type, size);
return (PyLongObject*)PyObject_INIT_VAR(result, &PyLong_Type, size);
}
PyObject *
@ -5620,7 +5620,7 @@ _PyLong_Init(void)
assert(v->ob_digit[0] == (digit)abs(ival));
}
else {
(void)PyObject_INIT((PyObject *)v, &PyLong_Type);
(void)PyObject_INIT(v, &PyLong_Type);
}
Py_SIZE(v) = size;
v->ob_digit[0] = (digit)abs(ival);

View file

@ -32,7 +32,7 @@ PyCFunction_NewEx(PyMethodDef *ml, PyObject *self, PyObject *module)
op = free_list;
if (op != NULL) {
free_list = (PyCFunctionObject *)(op->m_self);
(void)PyObject_INIT((PyObject *)op, &PyCFunction_Type);
(void)PyObject_INIT(op, &PyCFunction_Type);
numfree--;
}
else {