]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Py_DECREF: only pass filename if Py_REF_DEBUG is defined (GH-17870)
authorVictor Stinner <vstinner@python.org>
Wed, 8 Jan 2020 20:03:45 +0000 (21:03 +0100)
committerGitHub <noreply@github.com>
Wed, 8 Jan 2020 20:03:45 +0000 (21:03 +0100)
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.

Include/object.h

index a9d434b5108068335e20ce4043f43289c1e68282..7a5f57357b75f306869466750381af82a7fc8e8c 100644 (file)
@@ -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