]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-35134: Move classobject.h to Include/cpython/ (GH-28968)
authorVictor Stinner <vstinner@python.org>
Fri, 15 Oct 2021 07:46:29 +0000 (09:46 +0200)
committerGitHub <noreply@github.com>
Fri, 15 Oct 2021 07:46:29 +0000 (09:46 +0200)
Move classobject.h, context.h, genobject.h and longintrepr.h header
files from Include/ to Include/cpython/.

Remove redundant "#ifndef Py_LIMITED_API" in context.h.

Remove explicit #include "longintrepr.h" in C files. It's not needed,
Python.h already includes it.

15 files changed:
Doc/whatsnew/3.11.rst
Include/Python.h
Include/cpython/classobject.h [moved from Include/classobject.h with 96% similarity]
Include/cpython/context.h [moved from Include/context.h with 99% similarity]
Include/cpython/genobject.h [moved from Include/genobject.h with 93% similarity]
Include/cpython/longintrepr.h [moved from Include/longintrepr.h with 100% similarity]
Makefile.pre.in
Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst
Modules/_decimal/_decimal.c
Objects/abstract.c
Objects/boolobject.c
Objects/longobject.c
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Python/marshal.c

index 734cf1572fcba4adacd1d11330b87c3f2854153b..2e952281865799d1f39392db7fa2e9381abf394c 100644 (file)
@@ -572,7 +572,8 @@ Porting to Python 3.11
   header provides functions like ``printf()`` and ``fopen()``.
   (Contributed by Victor Stinner in :issue:`45434`.)
 
-* The non-limited API files ``cellobject.h`` and ``funcobject.h`` have been
+* The non-limited API files ``cellobject.h``, ``classobject.h``, ``context.h``,
+  ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have been
   moved to the ``Include/cpython`` directory. These files must not be included
   directly, as they are already included in ``Python.h``: :ref:`Include Files
   <api-includes>`. If they have been included directly, consider including
index 89f60fe5c9f94515f3e732457e3f8750de5facd0..bc8d4f9b548894716585963f47a887e3df281da6 100644 (file)
@@ -46,7 +46,7 @@
 #include "bytesobject.h"
 #include "unicodeobject.h"
 #include "longobject.h"
-#include "longintrepr.h"
+#include "cpython/longintrepr.h"
 #include "boolobject.h"
 #include "floatobject.h"
 #include "complexobject.h"
@@ -61,7 +61,7 @@
 #include "methodobject.h"
 #include "moduleobject.h"
 #include "cpython/funcobject.h"
-#include "classobject.h"
+#include "cpython/classobject.h"
 #include "fileobject.h"
 #include "pycapsule.h"
 #include "code.h"
@@ -70,7 +70,8 @@
 #include "sliceobject.h"
 #include "cpython/cellobject.h"
 #include "iterobject.h"
-#include "genobject.h"
+#include "pystate.h"
+#include "cpython/genobject.h"
 #include "descrobject.h"
 #include "genericaliasobject.h"
 #include "warnings.h"
@@ -83,8 +84,7 @@
 #include "pyerrors.h"
 #include "cpython/initconfig.h"
 #include "pythread.h"
-#include "pystate.h"
-#include "context.h"
+#include "cpython/context.h"
 #include "modsupport.h"
 #include "compile.h"
 #include "pythonrun.h"
similarity index 96%
rename from Include/classobject.h
rename to Include/cpython/classobject.h
index 1952f673b7d865442a85487f70c36fbab58f7102..80df8842eb4f784144983a6a213b80389a801456 100644 (file)
@@ -53,5 +53,5 @@ PyAPI_FUNC(PyObject *) PyInstanceMethod_Function(PyObject *);
 #ifdef __cplusplus
 }
 #endif
-#endif /* !Py_CLASSOBJECT_H */
-#endif /* Py_LIMITED_API */
+#endif   // !Py_CLASSOBJECT_H
+#endif   // !Py_LIMITED_API
similarity index 99%
rename from Include/context.h
rename to Include/cpython/context.h
index 4e5007089dd94bc1a50ca07340674deace6188bf..4db079f7633f48b2bb4d51339c795886b5734902 100644 (file)
@@ -1,12 +1,10 @@
+#ifndef Py_LIMITED_API
 #ifndef Py_CONTEXT_H
 #define Py_CONTEXT_H
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#ifndef Py_LIMITED_API
-
-
 PyAPI_DATA(PyTypeObject) PyContext_Type;
 typedef struct _pycontextobject PyContext;
 
@@ -73,9 +71,8 @@ PyAPI_FUNC(int) PyContextVar_Reset(PyObject *var, PyObject *token);
 PyAPI_FUNC(PyObject *) _PyContext_NewHamtForTests(void);
 
 
-#endif /* !Py_LIMITED_API */
-
 #ifdef __cplusplus
 }
 #endif
 #endif /* !Py_CONTEXT_H */
+#endif /* !Py_LIMITED_API */
similarity index 93%
rename from Include/genobject.h
rename to Include/cpython/genobject.h
index 55a8b34afd60eddf3712161812678ad508fd973c..8f87cf5fff7579b39a9d758e59c767a50867589a 100644 (file)
@@ -1,4 +1,3 @@
-
 /* Generator object interface */
 
 #ifndef Py_LIMITED_API
@@ -8,8 +7,7 @@
 extern "C" {
 #endif
 
-#include "pystate.h"   /* _PyErr_StackItem */
-#include "abstract.h" /* PySendResult */
+/* --- Generators --------------------------------------------------------- */
 
 /* _PyGenObject_HEAD defines the initial segment of generator
    and coroutine objects. */
@@ -45,7 +43,9 @@ PyAPI_FUNC(int) _PyGen_FetchStopIterationValue(PyObject **);
 PyObject *_PyGen_yf(PyGenObject *);
 PyAPI_FUNC(void) _PyGen_Finalize(PyObject *self);
 
-#ifndef Py_LIMITED_API
+
+/* --- PyCoroObject ------------------------------------------------------- */
+
 typedef struct {
     _PyGenObject_HEAD(cr)
     PyObject *cr_origin;
@@ -59,7 +59,8 @@ PyObject *_PyCoro_GetAwaitableIter(PyObject *o);
 PyAPI_FUNC(PyObject *) PyCoro_New(PyFrameObject *,
     PyObject *name, PyObject *qualname);
 
-/* Asynchronous Generators */
+
+/* --- Asynchronous Generators -------------------------------------------- */
 
 typedef struct {
     _PyGenObject_HEAD(ag)
@@ -89,7 +90,6 @@ PyAPI_FUNC(PyObject *) PyAsyncGen_New(PyFrameObject *,
 
 PyObject *_PyAsyncGenValueWrapperNew(PyObject *);
 
-#endif
 
 #undef _PyGenObject_HEAD
 
index 32bbab068f7027981fb61fcf1b12298db5c0647b..a81161e147d30beba57f3d00809ba413789921cd 100644 (file)
@@ -1128,12 +1128,10 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/bytearrayobject.h \
                $(srcdir)/Include/bytesobject.h \
                $(srcdir)/Include/ceval.h \
-               $(srcdir)/Include/classobject.h \
                $(srcdir)/Include/code.h \
                $(srcdir)/Include/codecs.h \
                $(srcdir)/Include/compile.h \
                $(srcdir)/Include/complexobject.h \
-               $(srcdir)/Include/context.h \
                $(srcdir)/Include/descrobject.h \
                $(srcdir)/Include/dictobject.h \
                $(srcdir)/Include/dynamic_annotations.h \
@@ -1144,13 +1142,11 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/fileutils.h \
                $(srcdir)/Include/floatobject.h \
                $(srcdir)/Include/frameobject.h \
-               $(srcdir)/Include/genobject.h \
                $(srcdir)/Include/import.h \
                $(srcdir)/Include/interpreteridobject.h \
                $(srcdir)/Include/intrcheck.h \
                $(srcdir)/Include/iterobject.h \
                $(srcdir)/Include/listobject.h \
-               $(srcdir)/Include/longintrepr.h \
                $(srcdir)/Include/longobject.h \
                $(srcdir)/Include/marshal.h \
                $(srcdir)/Include/memoryobject.h \
@@ -1202,18 +1198,22 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/cpython/bytesobject.h \
                $(srcdir)/Include/cpython/cellobject.h \
                $(srcdir)/Include/cpython/ceval.h \
+               $(srcdir)/Include/cpython/classobject.h \
                $(srcdir)/Include/cpython/code.h \
                $(srcdir)/Include/cpython/compile.h \
+               $(srcdir)/Include/cpython/context.h \
                $(srcdir)/Include/cpython/dictobject.h \
                $(srcdir)/Include/cpython/fileobject.h \
                $(srcdir)/Include/cpython/fileutils.h \
                $(srcdir)/Include/cpython/floatobject.h \
                $(srcdir)/Include/cpython/frameobject.h \
                $(srcdir)/Include/cpython/funcobject.h \
+               $(srcdir)/Include/cpython/genobject.h \
                $(srcdir)/Include/cpython/import.h \
                $(srcdir)/Include/cpython/initconfig.h \
                $(srcdir)/Include/cpython/interpreteridobject.h \
                $(srcdir)/Include/cpython/listobject.h \
+               $(srcdir)/Include/cpython/longintrepr.h \
                $(srcdir)/Include/cpython/methodobject.h \
                $(srcdir)/Include/cpython/object.h \
                $(srcdir)/Include/cpython/objimpl.h \
index 800f6e7f927410a2068ae2e411f88af8d886ad97..4ab10884a54922ecac333c37468146a5c6dd2ffe 100644 (file)
@@ -1,3 +1,4 @@
-Move ``cellobject.h`` and ``funcobject.h`` header files from ``Include/`` to
+Move ``cellobject.h``, ``classobject.h``, ``context.h``, ``funcobject.h``,
+``genobject.h`` and ``longintrepr.h`` header files from ``Include/`` to
 ``Include/cpython/``. C extensions should only include the main ``<Python.h>``
 header. Patch by Victor Stinner.
index dd876f200365d59fb0b1dc6dd9ab728325f7a9ae..237edd5191fd948c16e2754fbd94466e2683f873 100644 (file)
@@ -28,7 +28,6 @@
 
 #include <Python.h>
 #include "pycore_pystate.h"       // _PyThreadState_GET()
-#include "longintrepr.h"
 #include "complexobject.h"
 #include "mpdecimal.h"
 
index 0d6cefd3eb8612b189428b5bedc3af6646633781..6f7b94600e278adcd3c01ed172f50953314d5982 100644 (file)
@@ -10,7 +10,6 @@
 #include "pycore_unionobject.h"   // _PyUnion_Check()
 #include <ctype.h>
 #include <stddef.h>               // offsetof()
-#include "longintrepr.h"
 
 
 
index c72243a160b88051f0c144666c816c276467c089..53f819260579749d2574833863dabd621a02e456 100644 (file)
@@ -2,7 +2,6 @@
 
 #include "Python.h"
 #include "pycore_pyerrors.h"      // _Py_FatalRefcountError()
-#include "longintrepr.h"
 
 /* We define bool_repr to return "False" or "True" */
 
index 66e164974a92c21b91f512984db1b45a0f784856..5325d1852bc029fe239c827dbfbbac9668b7d1f3 100644 (file)
@@ -8,7 +8,6 @@
 #include "pycore_long.h"          // __PyLong_GetSmallInt_internal()
 #include "pycore_object.h"        // _PyObject_InitVar()
 #include "pycore_pystate.h"       // _Py_IsMainInterpreter()
-#include "longintrepr.h"
 
 #include <ctype.h>
 #include <float.h>
index 877064e877debe2a730f1a989a5fd0bb9a796856..0b0ff45621dcb8e4eab19da4e96d27c30729eac1 100644 (file)
     <ClInclude Include="..\Include\bytearrayobject.h" />
     <ClInclude Include="..\Include\bytesobject.h" />
     <ClInclude Include="..\Include\ceval.h" />
-    <ClInclude Include="..\Include\classobject.h" />
     <ClInclude Include="..\Include\code.h" />
     <ClInclude Include="..\Include\codecs.h" />
     <ClInclude Include="..\Include\compile.h" />
     <ClInclude Include="..\Include\complexobject.h" />
-    <ClInclude Include="..\Include\context.h" />
     <ClInclude Include="..\Include\cpython\abstract.h" />
     <ClInclude Include="..\Include\cpython\bytearrayobject.h" />
     <ClInclude Include="..\Include\cpython\bytesobject.h" />
     <ClInclude Include="..\Include\cpython\cellobject.h" />
     <ClInclude Include="..\Include\cpython\ceval.h" />
+    <ClInclude Include="..\Include\cpython\classobject.h" />
     <ClInclude Include="..\Include\cpython\code.h" />
     <ClInclude Include="..\Include\cpython\compile.h" />
+    <ClInclude Include="..\Include\cpython\context.h" />
     <ClInclude Include="..\Include\cpython\dictobject.h" />
     <ClInclude Include="..\Include\cpython\fileobject.h" />
     <ClInclude Include="..\Include\cpython\fileutils.h" />
     <ClInclude Include="..\Include\cpython\floatobject.h" />
     <ClInclude Include="..\Include\cpython\frameobject.h" />
     <ClInclude Include="..\Include\cpython\funcobject.h" />
+    <ClInclude Include="..\Include\cpython\genobject.h" />
     <ClInclude Include="..\Include\cpython\import.h" />
     <ClInclude Include="..\Include\cpython\initconfig.h" />
     <ClInclude Include="..\Include\cpython\interpreteridobject.h" />
     <ClInclude Include="..\Include\cpython\listobject.h" />
+    <ClInclude Include="..\Include\cpython\longintrepr.h" />
     <ClInclude Include="..\Include\cpython\methodobject.h" />
     <ClInclude Include="..\Include\cpython\object.h" />
     <ClInclude Include="..\Include\cpython\objimpl.h" />
     <ClInclude Include="..\Include\fileutils.h" />
     <ClInclude Include="..\Include\floatobject.h" />
     <ClInclude Include="..\Include\frameobject.h" />
-    <ClInclude Include="..\Include\genobject.h" />
     <ClInclude Include="..\Include\import.h" />
     <ClInclude Include="..\Include\internal\pycore_abstract.h" />
     <ClInclude Include="..\Include\internal\pycore_accu.h" />
     <ClInclude Include="..\Include\intrcheck.h" />
     <ClInclude Include="..\Include\iterobject.h" />
     <ClInclude Include="..\Include\listobject.h" />
-    <ClInclude Include="..\Include\longintrepr.h" />
     <ClInclude Include="..\Include\longobject.h" />
     <ClInclude Include="..\Include\marshal.h" />
     <ClInclude Include="..\Include\memoryobject.h" />
index b8841c90cc1b96596956c2d5ac0cdb2938eac8cd..17794fce88bc8100279ff9bd37dca921d5c135b0 100644 (file)
@@ -54,9 +54,6 @@
     <ClInclude Include="..\Include\ceval.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\classobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\code.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -69,9 +66,6 @@
     <ClInclude Include="..\Include\complexobject.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\context.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\datetime.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\frameobject.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\genobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\import.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\listobject.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\longintrepr.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\longobject.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\ceval.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\classobject.h">
+      <Filter>Include\cpython</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\code.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\compile.h">
       <Filter>Include</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\context.h">
+      <Filter>Include\cpython</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\dictobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\listobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\longintrepr.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\odictobject.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\funcobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\genobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\interpreteridobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
index e9ad566b71b107dcf55103d69776893404cbba5e..51c77555d9ea97036f07b7069c27317d035bd39c 100644 (file)
@@ -13,7 +13,6 @@
 #include "pycore_code.h"          // _PyCode_New()
 #include "pycore_floatobject.h"   // _PyFloat_Pack8()
 #include "pycore_hashtable.h"     // _Py_hashtable_t
-#include "longintrepr.h"
 #include "code.h"
 #include "marshal.h"              // Py_MARSHAL_VERSION