mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
[3.14] gh-134989: Fix Py_RETURN_NONE in the limited C API (GH-135165) (#135178)
gh-134989: Fix Py_RETURN_NONE in the limited C API (GH-135165)
Fix Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE macros in the
limited C API 3.11 and older:
Don't treat Py_None, Py_True and Py_False as immortal.
(cherry picked from commit 9258f3da91)
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
285c69ea38
commit
e11d4a18e1
3 changed files with 20 additions and 5 deletions
|
|
@ -654,8 +654,13 @@ PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
|
|||
PyAPI_FUNC(int) Py_IsNone(PyObject *x);
|
||||
#define Py_IsNone(x) Py_Is((x), Py_None)
|
||||
|
||||
/* Macro for returning Py_None from a function */
|
||||
#define Py_RETURN_NONE return Py_None
|
||||
/* Macro for returning Py_None from a function.
|
||||
* Only treat Py_None as immortal in the limited C API 3.12 and newer. */
|
||||
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
|
||||
# define Py_RETURN_NONE return Py_NewRef(Py_None)
|
||||
#else
|
||||
# define Py_RETURN_NONE return Py_None
|
||||
#endif
|
||||
|
||||
/*
|
||||
Py_NotImplemented is a singleton used to signal that an operation is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue