]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45482: Rename namespaceobject.h to pycore_namespace.h (GH-28975)
authorVictor Stinner <vstinner@python.org>
Fri, 15 Oct 2021 13:21:21 +0000 (15:21 +0200)
committerGitHub <noreply@github.com>
Fri, 15 Oct 2021 13:21:21 +0000 (15:21 +0200)
Rename Include/namespaceobject.h to
Include/internal/pycore_namespace.h.

The _testmultiphase extension is now built with the
Py_BUILD_CORE_MODULE macro defined to access _PyNamespace_Type.

object.c: remove unused "pycore_context.h" include.

14 files changed:
Include/Python.h
Include/internal/pycore_namespace.h [new file with mode: 0644]
Include/namespaceobject.h [deleted file]
Makefile.pre.in
Modules/_testcapimodule.c
Modules/_testmultiphase.c
Modules/timemodule.c
Objects/namespaceobject.c
Objects/object.c
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Python/import.c
Python/sysmodule.c
setup.py

index a2de514702f2fb6a4add44bd7f8a391cb6ab97aa..c0a621ad44afd1fbacd69f1c39d774d2a88c0a56 100644 (file)
@@ -77,7 +77,6 @@
 #include "warnings.h"
 #include "weakrefobject.h"
 #include "structseq.h"
-#include "namespaceobject.h"
 #include "cpython/picklebufobject.h"
 #include "cpython/pytime.h"
 #include "codecs.h"
diff --git a/Include/internal/pycore_namespace.h b/Include/internal/pycore_namespace.h
new file mode 100644 (file)
index 0000000..cb76f04
--- /dev/null
@@ -0,0 +1,20 @@
+// Simple namespace object interface
+
+#ifndef Py_INTERNAL_NAMESPACE_H
+#define Py_INTERNAL_NAMESPACE_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+#  error "this header requires Py_BUILD_CORE define"
+#endif
+
+PyAPI_DATA(PyTypeObject) _PyNamespace_Type;
+
+PyAPI_FUNC(PyObject *) _PyNamespace_New(PyObject *kwds);
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // !Py_INTERNAL_NAMESPACE_H
diff --git a/Include/namespaceobject.h b/Include/namespaceobject.h
deleted file mode 100644 (file)
index 0c8d95c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-/* simple namespace object interface */
-
-#ifndef NAMESPACEOBJECT_H
-#define NAMESPACEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef Py_LIMITED_API
-PyAPI_DATA(PyTypeObject) _PyNamespace_Type;
-
-PyAPI_FUNC(PyObject *) _PyNamespace_New(PyObject *kwds);
-#endif /* !Py_LIMITED_API */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !NAMESPACEOBJECT_H */
index b79b71f59b1459a7251fb121f5eac35ac3237378..9de51711ac4c53a98969861f1faae0c199b5365c 100644 (file)
@@ -1151,7 +1151,6 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/methodobject.h \
                $(srcdir)/Include/modsupport.h \
                $(srcdir)/Include/moduleobject.h \
-               $(srcdir)/Include/namespaceobject.h \
                $(srcdir)/Include/object.h \
                $(srcdir)/Include/objimpl.h \
                $(srcdir)/Include/opcode.h \
@@ -1261,6 +1260,7 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/internal/pycore_list.h \
                $(srcdir)/Include/internal/pycore_long.h \
                $(srcdir)/Include/internal/pycore_moduleobject.h \
+               $(srcdir)/Include/internal/pycore_namespace.h \
                $(srcdir)/Include/internal/pycore_object.h \
                $(srcdir)/Include/internal/pycore_pathconfig.h \
                $(srcdir)/Include/internal/pycore_pyarena.h \
index 7cbd2dc3b6a51f263eae869679b28591ecfbd664..82cfc04c410961ad8c8305c7586db3fa2f6ff6b3 100644 (file)
@@ -1167,8 +1167,8 @@ test_get_type_qualname(PyObject *self, PyObject *Py_UNUSED(ignored))
     assert(strcmp(PyUnicode_AsUTF8(tp_qualname), "int") == 0);
     Py_DECREF(tp_qualname);
 
-    tp_qualname = PyType_GetQualName(&_PyNamespace_Type);
-    assert(strcmp(PyUnicode_AsUTF8(tp_qualname), "SimpleNamespace") == 0);
+    tp_qualname = PyType_GetQualName(&PyODict_Type);
+    assert(strcmp(PyUnicode_AsUTF8(tp_qualname), "OrderedDict") == 0);
     Py_DECREF(tp_qualname);
 
     PyObject *HeapTypeNameType = PyType_FromSpec(&HeapTypeNameType_Spec);
index e0ed77d265cdcc7fd82b0dc66847156fa028e873..2d25e16bd4d390832b30717b5b354cded37f8c68 100644 (file)
@@ -3,6 +3,7 @@
  */
 
 #include "Python.h"
+#include "pycore_namespace.h"     // _PyNamespace_New()
 
 /* State for testing module state access from methods */
 
index ca8d62d5cc9380500a3f50dbb59e96e341459256..0ef3b2ffaa89871d1bdec54ecde5a5196600012d 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "Python.h"
 #include "pycore_fileutils.h"     // _Py_BEGIN_SUPPRESS_IPH
+#include "pycore_namespace.h"     // _PyNamespace_New()
 
 #include <ctype.h>
 
index fa37ed250d30a4b7f777748785aca8433c5c0d36..7875e7cafecb65529597d61b9158d0bf12b9b734 100644 (file)
@@ -1,6 +1,7 @@
 // namespace object implementation
 
 #include "Python.h"
+#include "pycore_namespace.h"     // _PyNamespace_Type
 #include "structmember.h"         // PyMemberDef
 
 
index 5e719d45b60a696f21afb3f9bbc6b04185c06d3a..25f5a2133d5745ca3f9d7cac030bd1df29d44b82 100644 (file)
@@ -4,10 +4,10 @@
 #include "Python.h"
 #include "pycore_call.h"          // _PyObject_CallNoArgs()
 #include "pycore_ceval.h"         // _Py_EnterRecursiveCall()
-#include "pycore_context.h"
-#include "pycore_dict.h"
+#include "pycore_dict.h"          // _PyObject_MakeDictFromInstanceAttributes()
 #include "pycore_floatobject.h"   // _PyFloat_DebugMallocStats()
 #include "pycore_initconfig.h"    // _PyStatus_EXCEPTION()
+#include "pycore_namespace.h"     // _PyNamespace_Type
 #include "pycore_object.h"        // _PyType_CheckConsistency()
 #include "pycore_pyerrors.h"      // _PyErr_Occurred()
 #include "pycore_pylifecycle.h"   // _PyTypes_InitSlotDefs()
index 357d0a7071031c30712f3ae3dbc10494e03263fc..015d783c89a83bf7bea2ce9401ce4733b4d3ea50 100644 (file)
     <ClInclude Include="..\Include\internal\pycore_list.h" />
     <ClInclude Include="..\Include\internal\pycore_long.h" />
     <ClInclude Include="..\Include\internal\pycore_moduleobject.h" />
+    <ClInclude Include="..\Include\internal\pycore_namespace.h" />
     <ClInclude Include="..\Include\internal\pycore_object.h" />
     <ClInclude Include="..\Include\internal\pycore_pathconfig.h" />
     <ClInclude Include="..\Include\internal\pycore_pyarena.h" />
     <ClInclude Include="..\Include\methodobject.h" />
     <ClInclude Include="..\Include\modsupport.h" />
     <ClInclude Include="..\Include\moduleobject.h" />
-    <ClInclude Include="..\Include\namespaceobject.h" />
     <ClInclude Include="..\Include\object.h" />
     <ClInclude Include="..\Include\objimpl.h" />
     <ClInclude Include="..\Include\opcode.h" />
index 1a3ad884d4ac3ee4b2d6181fbfd003c1deb6e027..94528b9261fa60daae3f7aaebde4432793a7b97f 100644 (file)
     <ClInclude Include="..\Include\pyhash.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\namespaceobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Modules\hashtable.h">
       <Filter>Modules</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\internal\pycore_moduleobject.h">
       <Filter>Include\internal</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\internal\pycore_namespace.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\internal\pycore_object.h">
       <Filter>Include\internal</Filter>
     </ClInclude>
index f2160928c4fa7c05837f7fb48155c5a7a326fcf6..fe4686cd56b3ba37aa0510b081c129e9c879d4d7 100644 (file)
@@ -3,19 +3,19 @@
 #include "Python.h"
 
 #include "pycore_import.h"        // _PyImport_BootstrapImp()
-#include "pycore_initconfig.h"
-#include "pycore_pyerrors.h"
-#include "pycore_pyhash.h"
+#include "pycore_initconfig.h"    // _PyStatus_OK()
+#include "pycore_interp.h"        // _PyInterpreterState_ClearModules()
+#include "pycore_namespace.h"     // _PyNamespace_Type
+#include "pycore_pyerrors.h"      // _PyErr_SetString()
+#include "pycore_pyhash.h"        // _Py_KeyedHash()
 #include "pycore_pylifecycle.h"
 #include "pycore_pymem.h"         // _PyMem_SetDefaultAllocator()
-#include "pycore_interp.h"        // _PyInterpreterState_ClearModules()
 #include "pycore_pystate.h"       // _PyInterpreterState_GET()
-#include "pycore_sysmodule.h"
-#include "marshal.h"
-#include "code.h"
-#include "importdl.h"
-#include "pydtrace.h"
-#include <stdbool.h>
+#include "pycore_sysmodule.h"     // _PySys_Audit()
+#include "marshal.h"              // PyMarshal_ReadObjectFromString()
+#include "importdl.h"             // _PyImport_DynLoadFiletab
+#include "pydtrace.h"             // PyDTrace_IMPORT_FIND_LOAD_START_ENABLED()
+#include <stdbool.h>              // bool
 
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
index ae3cbf1954e09eb5f8c1d80e1bd744a27cef1926..ad9be714c021abb61017b8d86eb18de617b01d27 100644 (file)
@@ -20,6 +20,7 @@ Data members:
 #include "pycore_code.h"          // _Py_QuickenedCount
 #include "pycore_frame.h"         // InterpreterFrame
 #include "pycore_initconfig.h"    // _PyStatus_EXCEPTION()
+#include "pycore_namespace.h"     // _PyNamespace_New()
 #include "pycore_object.h"        // _PyObject_IS_GC()
 #include "pycore_pathconfig.h"    // _PyPathConfig_ComputeSysPath0()
 #include "pycore_pyerrors.h"      // _PyErr_Fetch()
index 56c06cbddaf21d6c790829643e06d17b6c3f80ab..24365ef3d927ba68b618d263fe390d28a90687ac 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1043,7 +1043,8 @@ class PyBuildExt(build_ext):
         self.add(Extension('_testimportmultiple', ['_testimportmultiple.c']))
 
         # Test multi-phase extension module init (PEP 489)
-        self.add(Extension('_testmultiphase', ['_testmultiphase.c']))
+        self.add(Extension('_testmultiphase', ['_testmultiphase.c'],
+                           extra_compile_args=['-DPy_BUILD_CORE_MODULE']))
 
         # Fuzz tests.
         self.add(Extension('_xxtestfuzz',