diff --git a/Include/object.h b/Include/object.h index fb5376a2ed9..cfca64f9ab6 100644 --- a/Include/object.h +++ b/Include/object.h @@ -749,13 +749,11 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force); ((PyObject*)(op))->ob_refcnt++) #define Py_DECREF(op) \ - do { \ - if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \ - --((PyObject*)(op))->ob_refcnt != 0) \ - _Py_CHECK_REFCNT(op) \ - else \ - _Py_Dealloc((PyObject *)(op)) \ - } while (0) + if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \ + --((PyObject*)(op))->ob_refcnt != 0) \ + _Py_CHECK_REFCNT(op) \ + else \ + _Py_Dealloc((PyObject *)(op)) /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear * and tp_dealloc implementatons. diff --git a/Misc/NEWS b/Misc/NEWS index f254bfd5d38..db86b517b24 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -207,8 +207,6 @@ Core and Builtins - Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short file names. -- Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings. - Library -------