Message330329
> Drawbacks: Require a specific type can introduce compiler warnings if the caller doesn't pass the proper type (PyObject* or PyVarObject*). _Py_NewReference() and _Py_ForgetReference() seem to be properly used, but not PyObject_INIT() and PyObject_INIT_VAR().
I worked around this issue by adding a macro to cast the argument and declare the static inline function with a different name. Example:
static inline void _Py_INCREF(PyObject *op)
{
_Py_INC_REFTOTAL;
op->ob_refcnt++;
}
#define Py_INCREF(op) _Py_INCREF(_PyObject_CAST(op)) |
|
Date |
User |
Action |
Args |
2018-11-23 15:14:49 | vstinner | set | recipients:
+ vstinner, mark.dickinson, benjamin.peterson, eric.snow, serhiy.storchaka, thatiparthy, Aaron Hall, pablogsal, miss-islington |
2018-11-23 15:14:49 | vstinner | set | messageid: <1542986089.51.0.788709270274.issue35059@psf.upfronthosting.co.za> |
2018-11-23 15:14:49 | vstinner | link | issue35059 messages |
2018-11-23 15:14:49 | vstinner | create | |
|