summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew/3.10.rst
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-05-27 12:55:10 (GMT)
committerGitHub <noreply@github.com>2020-05-27 12:55:10 (GMT)
commitfe2978b3b940fe2478335e3a2ca5ad22338cdf9c (patch)
tree046e4e97f50b96d62239f8081f7ce6263ef02d78 /Doc/whatsnew/3.10.rst
parent20941de0ddc39ce9f07e29b4cc770e8a9ef14d41 (diff)
downloadcpython-fe2978b3b940fe2478335e3a2ca5ad22338cdf9c.zip
cpython-fe2978b3b940fe2478335e3a2ca5ad22338cdf9c.tar.gz
cpython-fe2978b3b940fe2478335e3a2ca5ad22338cdf9c.tar.bz2
bpo-39573: Convert Py_REFCNT and Py_SIZE to functions (GH-20429)
Convert Py_REFCNT() and Py_SIZE() macros to static inline functions. They cannot be used as l-value anymore: use Py_SET_REFCNT() and Py_SET_SIZE() to set an object reference count and size. Replace &Py_SIZE(self) with &((PyVarObject*)self)->ob_size in arraymodule.c. This change is backward incompatible on purpose, to prepare the C API for an opaque PyObject structure.
Diffstat (limited to 'Doc/whatsnew/3.10.rst')
-rw-r--r--Doc/whatsnew/3.10.rst9
1 files changed, 9 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index fabd9a2..9edef1e 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -138,6 +138,15 @@ Porting to Python 3.10
see :c:func:`Py_SET_TYPE()` (available since Python 3.9).
(Contributed by Dong-hee Na in :issue:`39573`.)
+* Since :c:func:`Py_REFCNT()` is changed to the inline static function,
+ ``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, new_refcnt)``:
+ see :c:func:`Py_SET_REFCNT()` (available since Python 3.9).
+ (Contributed by Victor Stinner in :issue:`39573`.)
+
+* Since :c:func:`Py_SIZE()` is changed to the inline static function,
+ ``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, new_size)``:
+ see :c:func:`Py_SET_SIZE()` (available since Python 3.9).
+ (Contributed by Victor Stinner in :issue:`39573`.)
Removed
-------