summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-11-20 23:43:09 (GMT)
committerGitHub <noreply@github.com>2018-11-20 23:43:09 (GMT)
commit3e21ad1a254cc33e8d4920ad7f026254ec728bee (patch)
treeab186540595bbf2651c60f6c5a70a0007148372e /Include
parentc8fe9ccf7bfbcf9a2cb48e3b6abacf6ec0e5e58d (diff)
downloadcpython-3e21ad1a254cc33e8d4920ad7f026254ec728bee.zip
cpython-3e21ad1a254cc33e8d4920ad7f026254ec728bee.tar.gz
cpython-3e21ad1a254cc33e8d4920ad7f026254ec728bee.tar.bz2
bpo-35081: Move _PyGC_FINALIZED() back to C API (GH-10626)
Partially revert commit 1a6be91e6fd65ce9cb88cbbbb193db7e92ec6076, move back PyGC API from the internal API to the C API: * _PyGCHead_NEXT(g), _PyGCHead_SET_NEXT(g, p) * _PyGCHead_PREV(g), _PyGCHead_SET_PREV(g, p) * _PyGCHead_FINALIZED(g), _PyGCHead_SET_FINALIZED(g) * _PyGC_FINALIZED(o), _PyGC_SET_FINALIZED(o) * _PyGC_PREV_MASK_FINALIZED * _PyGC_PREV_MASK_COLLECTING * _PyGC_PREV_SHIFT * _PyGC_PREV_MASK _PyObject_GC_TRACK(o) and _PyObject_GC_UNTRACK(o) remain in the internal API.
Diffstat (limited to 'Include')
-rw-r--r--Include/objimpl.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/Include/objimpl.h b/Include/objimpl.h
index e1946c7..b51b751 100644
--- a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -288,10 +288,7 @@ typedef struct {
#define _PyObject_GC_MAY_BE_TRACKED(obj) \
(PyObject_IS_GC(obj) && \
(!PyTuple_CheckExact(obj) || _PyObject_GC_IS_TRACKED(obj)))
-#endif
-
-#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN)
/* Bit flags for _gc_prev */
/* Bit 0 is set when tp_finalize is called */
@@ -324,7 +321,10 @@ typedef struct {
_PyGCHead_FINALIZED(_Py_AS_GC(o))
#define _PyGC_SET_FINALIZED(o) \
_PyGCHead_SET_FINALIZED(_Py_AS_GC(o))
+#endif /* !defined(Py_LIMITED_API) */
+
+#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN)
/* Tell the GC to track this object.
*
* NB: While the object is tracked by the collector, it must be safe to call the