summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.10.rst24
1 files changed, 21 insertions, 3 deletions
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index 0b65647..1234b2e 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -135,17 +135,35 @@ Porting to Python 3.10
* Since :c:func:`Py_TYPE()` is changed to the inline static function,
``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, new_type)``:
- see :c:func:`Py_SET_TYPE()` (available since Python 3.9).
+ see :c:func:`Py_SET_TYPE()` (available since Python 3.9). For backward
+ compatibility, this macro can be used::
+
+ #if PY_VERSION_HEX < 0x030900A4
+ # define Py_SET_TYPE(obj, type) ((Py_TYPE(obj) = (type)), (void)0)
+ #endif
+
(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).
+ see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). For backward
+ compatibility, this macro can be used::
+
+ #if PY_VERSION_HEX < 0x030900A4
+ # define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)
+ #endif
+
(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).
+ see :c:func:`Py_SET_SIZE()` (available since Python 3.9). For backward
+ compatibility, this macro can be used::
+
+ #if PY_VERSION_HEX < 0x030900A4
+ # define Py_SET_SIZE(obj, size) ((Py_SIZE(obj) = (size)), (void)0)
+ #endif
+
(Contributed by Victor Stinner in :issue:`39573`.)
* Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed