[Python-checkins] Py_DECREF: only pass filename if Py_REF_DEBUG is defined (GH-17870)

Victor Stinner webhook-mailer at python.org
Wed Jan 8 15:03:53 EST 2020


https://github.com/python/cpython/commit/f3a0a6bbccfcd9d18afe5575617aefaee9fa37a5
commit: f3a0a6bbccfcd9d18afe5575617aefaee9fa37a5
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-01-08T21:03:45+01:00
summary:

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.

files:
M Include/object.h

diff --git a/Include/object.h b/Include/object.h
index a9d434b510806..7a5f57357b75f 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



More information about the Python-checkins mailing list