[Python-checkins] r71160 - in python/branches/release26-maint: Include/object.h Misc/NEWS

matthias.klose python-checkins at python.org
Sat Apr 4 17:52:51 CEST 2009


Author: matthias.klose
Date: Sat Apr  4 17:52:50 2009
New Revision: 71160

Log:
Merged revisions 71159 via svnmerge from 
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.
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Include/object.h
   python/branches/release26-maint/Misc/NEWS

Modified: python/branches/release26-maint/Include/object.h
==============================================================================
--- python/branches/release26-maint/Include/object.h	(original)
+++ python/branches/release26-maint/Include/object.h	Sat Apr  4 17:52:50 2009
@@ -746,11 +746,13 @@
 	((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.

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Sat Apr  4 17:52:50 2009
@@ -92,6 +92,8 @@
 - Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with
   short file names.
 
+- Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings.
+
 Library
 -------
 


More information about the Python-checkins mailing list