From: Victor Stinner Date: Wed, 8 Jan 2020 20:03:45 +0000 (+0100) Subject: Py_DECREF: only pass filename if Py_REF_DEBUG is defined (GH-17870) X-Git-Tag: v3.9.0a3~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f3a0a6bbccfcd9d18afe5575617aefaee9fa37a5;p=thirdparty%2FPython%2Fcpython.git Py_DECREF: only pass filename if Py_REF_DEBUG is defined (GH-17870) Filename and line numbers are not needed when Py_REF_DEBUG are not defined. The static inline _Py_DECREF() function was introduced by commit 2aaf0c12041bcaadd7f2cc5a54450eefd7a6ff12. --- diff --git a/Include/object.h b/Include/object.h index a9d434b51080..7a5f57357b75 100644 --- a/Include/object.h +++ b/Include/object.h @@ -461,11 +461,12 @@ static inline void _Py_INCREF(PyObject *op) #define Py_INCREF(op) _Py_INCREF(_PyObject_CAST(op)) -static inline void _Py_DECREF(const char *filename, int lineno, - PyObject *op) +static inline void _Py_DECREF( +#ifdef Py_REF_DEBUG + const char *filename, int lineno, +#endif + PyObject *op) { - (void)filename; /* may be unused, shut up -Wunused-parameter */ - (void)lineno; /* may be unused, shut up -Wunused-parameter */ _Py_DEC_REFTOTAL; if (--op->ob_refcnt != 0) { #ifdef Py_REF_DEBUG @@ -479,7 +480,11 @@ static inline void _Py_DECREF(const char *filename, int lineno, } } -#define Py_DECREF(op) _Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op)) +#ifdef Py_REF_DEBUG +# define Py_DECREF(op) _Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op)) +#else +# define Py_DECREF(op) _Py_DECREF(_PyObject_CAST(op)) +#endif /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear