]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-98724: Fix Py_CLEAR() macro side effects (#99100)
authorVictor Stinner <vstinner@python.org>
Wed, 9 Nov 2022 13:06:36 +0000 (14:06 +0100)
committerGitHub <noreply@github.com>
Wed, 9 Nov 2022 13:06:36 +0000 (14:06 +0100)
commitc03e05c2e72f3ea5e797389e7d1042eef85ad37a
tree3a30ddb1b3b35a9b2ea7d233f242c72e74e71e71
parent0124b5dd28eff7bb80eb7244e97e402a036db13b
gh-98724: Fix Py_CLEAR() macro side effects (#99100)

The Py_CLEAR(), Py_SETREF() and Py_XSETREF() macros now only evaluate
their argument once. If an argument has side effects, these side
effects are no longer duplicated.

Add test_py_clear() and test_py_setref() unit tests to _testcapi.
Doc/c-api/refcounting.rst
Doc/whatsnew/3.12.rst
Include/cpython/object.h
Include/object.h
Misc/NEWS.d/next/C API/2022-11-04-16-13-35.gh-issue-98724.p0urWO.rst [new file with mode: 0644]
Modules/_testcapimodule.c