bpo-35059: Add Py_STATIC_INLINE() macro (GH-10093)

* Add Py_STATIC_INLINE() macro to declare a "static inline" function.
  If the compiler supports it, try to always inline the function even if no
  optimization level was specified.
* Modify pydtrace.h to use Py_STATIC_INLINE() when WITH_DTRACE is
  not defined.
* Add an unit test on Py_DECREF() to make sure that
  _Py_NegativeRefcount() reports the correct filename.
This commit is contained in:
Victor Stinner 2018-10-25 17:28:11 +02:00 committed by GitHub
parent d03b775781
commit 18618e652c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 92 additions and 36 deletions

View file

@ -200,14 +200,14 @@ void dec_count(PyTypeObject *tp)
#ifdef Py_REF_DEBUG
/* Log a fatal error; doesn't return. */
void
_Py_NegativeRefcount(const char *fname, int lineno, PyObject *op)
_Py_NegativeRefcount(const char *filename, int lineno, PyObject *op)
{
char buf[300];
PyOS_snprintf(buf, sizeof(buf),
"%s:%i object at %p has negative ref count "
"%" PY_FORMAT_SIZE_T "d",
fname, lineno, op, op->ob_refcnt);
filename, lineno, op, op->ob_refcnt);
Py_FatalError(buf);
}