]> granicus.if.org Git - python/commitdiff
Merged revisions 71159 via svnmerge from
authorMatthias Klose <doko@ubuntu.com>
Sat, 4 Apr 2009 15:52:50 +0000 (15:52 +0000)
committerMatthias Klose <doko@ubuntu.com>
Sat, 4 Apr 2009 15:52:50 +0000 (15:52 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71159 | matthias.klose | 2009-04-04 17:51:23 +0200 (Sa, 04 Apr 2009) | 2 lines

  - Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings.
........

Include/object.h
Misc/NEWS

index b02689cc4a6ed3f4e2def65d9f17eb7a2bb75e7a..a5f769e6247b986f299282a72a3e0c91c05a84d3 100644 (file)
@@ -746,11 +746,13 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force);
        ((PyObject*)(op))->ob_refcnt++)
 
 #define Py_DECREF(op)                                  \
-       if (_Py_DEC_REFTOTAL  _Py_REF_DEBUG_COMMA       \
-           --((PyObject*)(op))->ob_refcnt != 0)                \
-               _Py_CHECK_REFCNT(op)                    \
-       else                                            \
-               _Py_Dealloc((PyObject *)(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)
 
 /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear
  * and tp_dealloc implementatons.
index 09190a0b900f148bdb3b44663661dbbcd5369b99..4ca5e26c76e69da163066dc9d9b8022671a920ec 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -92,6 +92,8 @@ 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
 -------