bpo-35081: Move Py_BUILD_CORE code to internal/mem.h (GH-10249)
* Add #include "internal/mem.h" to C files using
_PyMem_SetDefaultAllocator().
* Include/internal/mem.h now requires Py_BUILD_CORE to be defined.
diff --git a/Include/internal/mem.h b/Include/internal/mem.h
index a731e30..4a41b77 100644
--- a/Include/internal/mem.h
+++ b/Include/internal/mem.h
@@ -4,6 +4,10 @@
extern "C" {
#endif
+#ifndef Py_BUILD_CORE
+# error "Py_BUILD_CORE must be defined to include this header"
+#endif
+
#include "objimpl.h"
#include "pymem.h"
@@ -145,6 +149,14 @@
#define _PyGC_generation0 _PyRuntime.gc.generation0
+
+/* Set the memory allocator of the specified domain to the default.
+ Save the old allocator into *old_alloc if it's non-NULL.
+ Return on success, or return -1 if the domain is unknown. */
+PyAPI_FUNC(int) _PyMem_SetDefaultAllocator(
+ PyMemAllocatorDomain domain,
+ PyMemAllocatorEx *old_alloc);
+
#ifdef __cplusplus
}
#endif