diff options
author | Victor Stinner <vstinner@python.org> | 2022-11-28 15:40:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-28 15:40:08 (GMT) |
commit | 02f72b8b938e301bbaaf0142547014e074bd564c (patch) | |
tree | 1ffd7f82d70652c6f480a67fe70aa8ae248fae18 /Doc/library | |
parent | 53eef27133c1da395b3b4d7ce0ab1d5b743ffb41 (diff) | |
download | cpython-02f72b8b938e301bbaaf0142547014e074bd564c.zip cpython-02f72b8b938e301bbaaf0142547014e074bd564c.tar.gz cpython-02f72b8b938e301bbaaf0142547014e074bd564c.tar.bz2 |
gh-89653: PEP 670: Convert macros to functions (#99843)
Convert macros to static inline functions to avoid macro pitfalls,
like duplication of side effects:
* DK_ENTRIES()
* DK_UNICODE_ENTRIES()
* PyCode_GetNumFree()
* PyFloat_AS_DOUBLE()
* PyInstanceMethod_GET_FUNCTION()
* PyMemoryView_GET_BASE()
* PyMemoryView_GET_BUFFER()
* PyMethod_GET_FUNCTION()
* PyMethod_GET_SELF()
* PySet_GET_SIZE()
* _PyHeapType_GET_MEMBERS()
Changes:
* PyCode_GetNumFree() casts PyCode_GetNumFree.co_nfreevars from int
to Py_ssize_t to be future proof, and because Py_ssize_t is
commonly used in the C API.
* PyCode_GetNumFree() doesn't cast its argument: the replaced macro
already required the exact type PyCodeObject*.
* Add assertions in some functions using "CAST" macros to check
the arguments type when Python is built with assertions
(debug build).
* Remove an outdated comment in unicodeobject.h.
Diffstat (limited to 'Doc/library')
0 files changed, 0 insertions, 0 deletions