https://github.com/python/cpython/commit/3149d64c93f02217eb01c0fd82c26a685b5281c1
commit: 3149d64c93f02217eb01c0fd82c26a685b5281c1
branch: main
author: Stan Ulbrych <[email protected]>
committer: ZeroIntensity <[email protected]>
date: 2025-11-19T13:32:18-05:00
summary:
gh-141004: Document `Py_LOCAL` and `Py_LOCAL_INLINE` (GH-141725)
files:
M Doc/c-api/intro.rst
M Doc/whatsnew/2.5.rst
diff --git a/Doc/c-api/intro.rst b/Doc/c-api/intro.rst
index bace21b7981091..c39e006f059d30 100644
--- a/Doc/c-api/intro.rst
+++ b/Doc/c-api/intro.rst
@@ -171,6 +171,17 @@ complete listing.
Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the
command line (see :c:member:`PyConfig.use_environment`).
+.. c:macro:: Py_LOCAL(type)
+
+ Declare a function returning the specified *type* using a fast-calling
+ qualifier for functions that are local to the current file.
+ Semantically, this is equivalent to ``static type``.
+
+.. c:macro:: Py_LOCAL_INLINE(type)
+
+ Equivalent to :c:macro:`Py_LOCAL` but additionally requests the function
+ be inlined.
+
.. c:macro:: Py_MAX(x, y)
Return the maximum value between ``x`` and ``y``.
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index 3430ac8668e280..e195d9d462dda9 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -2169,9 +2169,9 @@ Changes to Python's build process and to the C API
include:
* Two new macros can be used to indicate C functions that are local to the
current file so that a faster calling convention can be used.
- ``Py_LOCAL(type)`` declares the function as returning a value of the
+ :c:macro:`Py_LOCAL` declares the function as returning a value of the
specified *type* and uses a fast-calling qualifier.
- ``Py_LOCAL_INLINE(type)`` does the same thing and also requests the
+ :c:macro:`Py_LOCAL_INLINE` does the same thing and also requests the
function be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined
before
:file:`python.h` is included, a set of more aggressive optimizations are
enabled
for the module; you should benchmark the results to find out if these
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]