summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-02-05 17:24:33 (GMT)
committerGitHub <noreply@github.com>2020-02-05 17:24:33 (GMT)
commit58f4e1a6ee4c6ea82f3f5075d9d9d344ce6b8a56 (patch)
tree7165c2eee324d0e68ef2383bc05a2bdedb845c6e
parentb39fb8e847ac59b539ad7e93df91c1709815180e (diff)
downloadcpython-58f4e1a6ee4c6ea82f3f5075d9d9d344ce6b8a56.zip
cpython-58f4e1a6ee4c6ea82f3f5075d9d9d344ce6b8a56.tar.gz
cpython-58f4e1a6ee4c6ea82f3f5075d9d9d344ce6b8a56.tar.bz2
bpo-39542: Declare _Py_AddToAllObjects() in pycore_object.h (GH-18368)
_Py_AddToAllObjects() is used in bltinmodule.c and typeobject.c when Py_TRACE_REFS is defined. Fix Py_TRACE_REFS build.
-rw-r--r--Include/internal/pycore_object.h1
-rw-r--r--Objects/object.c2
-rw-r--r--Python/bltinmodule.c3
3 files changed, 4 insertions, 2 deletions
diff --git a/Include/internal/pycore_object.h b/Include/internal/pycore_object.h
index eac39c8..10a5746 100644
--- a/Include/internal/pycore_object.h
+++ b/Include/internal/pycore_object.h
@@ -82,6 +82,7 @@ extern void _PyDebug_PrintTotalRefs(void);
#endif
#ifdef Py_TRACE_REFS
+extern void _Py_AddToAllObjects(PyObject *op, int force);
extern void _Py_PrintReferences(FILE *);
extern void _Py_PrintReferenceAddresses(FILE *);
#endif
diff --git a/Objects/object.c b/Objects/object.c
index 43b838a..9eaa163 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -93,7 +93,7 @@ static PyObject refchain = {&refchain, &refchain};
* way, though; exceptions include statically allocated type objects, and
* statically allocated singletons (like Py_True and Py_None).
*/
-static void
+void
_Py_AddToAllObjects(PyObject *op, int force)
{
#ifdef Py_DEBUG
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 5818eb9..cdb1eaa 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -4,6 +4,7 @@
#include <ctype.h>
#include "ast.h"
#undef Yield /* undefine macro conflicting with <winbase.h> */
+#include "pycore_object.h"
#include "pycore_pyerrors.h"
#include "pycore_pystate.h"
#include "pycore_tupleobject.h"
@@ -2443,7 +2444,7 @@ builtin_sum_impl(PyObject *module, PyObject *iterable, PyObject *start)
would change the value of empty. In fact, using
in-place addition rather that binary addition for
any of the steps introduces subtle behavior changes:
-
+
https://bugs.python.org/issue18305 */
temp = PyNumber_Add(result, item);
Py_DECREF(result);