1
0
forked from aniani/vim

patch 8.1.2201: cannot build with dynamically linked Python 3.8

Problem:    Cannot build with dynamically linked Python 3.8.
Solution:   Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata,
            closes #4080)
This commit is contained in:
Bram Moolenaar 2019-10-23 21:37:25 +02:00
parent 1cac70953d
commit 13a1f3fb0c
2 changed files with 38 additions and 0 deletions

View File

@ -600,6 +600,42 @@ static struct
{"", NULL},
};
# if PY_VERSION_HEX >= 0x030800f0
static inline void
py3__Py_DECREF(const char *filename UNUSED, int lineno UNUSED, PyObject *op)
{
_Py_DEC_REFTOTAL;
if (--op->ob_refcnt != 0)
{
# ifdef Py_REF_DEBUG
if (op->ob_refcnt < 0)
{
_Py_NegativeRefcount(filename, lineno, op);
}
# endif
}
else
{
_Py_Dealloc(op);
}
}
# undef Py_DECREF
# define Py_DECREF(op) py3__Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op))
static inline void
py3__Py_XDECREF(PyObject *op)
{
if (op != NULL)
{
Py_DECREF(op);
}
}
# undef Py_XDECREF
# define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op))
# endif
/*
* Free python.dll
*/

View File

@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2201,
/**/
2200,
/**/