| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Move the non-limited implementation of Py_INCREF() and Py_DECREF() from Include/object.h to Include/cpython/object.h. Move static inline functions using Py_INCREF/DECREF() after the cpython/object.h include: Py_XINCREF(), Py_XDECREF(), Py_NewRef() and Py_XNewRef().
|
Cool - I didn't think this was going to be possible. I'm seeing some build failures locally in modules that target Py_LIMITED_API < 0x030c0000. These don't include either definition of Py_INCREF/DECREF because Include/cpython/object.h is only include if Py_LIMITED_API is NOT defined and the Include/object.h definition is only for Py_LIMITED_API >= 0x030c0000 (or debug builds). In file included from ./Include/Python.h:52,
from ./Modules/_testimportmultiple.c:15:
./Include/object.h: In function ‘Py_XINCREF’:
./Include/object.h:968:9: error: implicit declaration of function ‘Py_INCREF’; did you mean ‘Py_XINCREF’? [-Werror=implicit-function-declaration]
968 | Py_INCREF(op);
| ^~~~~~~~~
| Py_XINCREF
|
Sorry, something went wrong.
Sadly, it doesn't work because of Py_LIMITED_API+0 >= 0x030c0000 test in #if defined(Py_LIMITED_API) && (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG)). I should think about a different approach. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Move the non-limited implementation of Py_INCREF() and Py_DECREF() from Include/object.h to Include/cpython/object.h.
Move static inline functions using Py_INCREF/DECREF() after the cpython/object.h include: Py_XINCREF(), Py_XDECREF(), Py_NewRef() and Py_XNewRef().