]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-95914: Add What's New item describing PEP 670 changes (#98315)
authorC.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Mon, 17 Oct 2022 19:16:37 +0000 (14:16 -0500)
committerGitHub <noreply@github.com>
Mon, 17 Oct 2022 19:16:37 +0000 (21:16 +0200)
Doc/whatsnew/3.11.rst

index 73e23a1a9e7f956c823becef87c1d9481e0574dc..1e93fcaaf791faea82053582e374274b226bab97 100644 (file)
@@ -1895,6 +1895,17 @@ New Features
 Porting to Python 3.11
 ----------------------
 
+* Some macros have been converted to static inline functions to avoid
+  `macro pitfalls <https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html>`_.
+  The change should be mostly transparent to users,
+  as the replacement functions will cast their arguments to the expected types
+  to avoid compiler warnings due to static type checks.
+  However, when the limited C API is set to >=3.11,
+  these casts are not done,
+  and callers will need to cast arguments to their expected types.
+  See :pep:`670` for more details.
+  (Contributed by Victor Stinner and Erlend E. Aasland in :gh:`89653`.)
+
 * :c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback``
   arguments, the interpreter now derives those values from the exception
   instance (the ``value`` argument). The function still steals references