]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-35134: Move non-limited C API files to Include/cpython/ (GH-24561)
authorNicholas Sim <nsim@posteo.net>
Fri, 19 Feb 2021 14:55:46 +0000 (22:55 +0800)
committerGitHub <noreply@github.com>
Fri, 19 Feb 2021 14:55:46 +0000 (15:55 +0100)
Include/{odictobject.h,parser_interface.h,picklebufobject.h,pydebug.h,pyfpe.h}
into Include/cpython/.

Parser: peg_api: include Python.h instead of parser_interface.h.

14 files changed:
Doc/whatsnew/3.10.rst
Include/Python.h
Include/cpython/odictobject.h [moved from Include/odictobject.h with 100% similarity]
Include/cpython/parser_interface.h [moved from Include/parser_interface.h with 100% similarity]
Include/cpython/picklebufobject.h [moved from Include/picklebufobject.h with 100% similarity]
Include/cpython/pydebug.h [moved from Include/pydebug.h with 100% similarity]
Include/cpython/pyfpe.h [moved from Include/pyfpe.h with 100% similarity]
Makefile.pre.in
Misc/NEWS.d/next/C API/2021-02-18-18-46-42.bpo-35134.dFpEDT.rst [new file with mode: 0644]
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Parser/peg_api.c
Python/pythonrun.c
Tools/scripts/stable_abi.py

index b903b3e0b81d9f26ea6d47b5a5ec5e2c74d0c098..c4a79b6a1e98fadf7501bd1797fb66de3e834079 100644 (file)
@@ -934,6 +934,14 @@ Porting to Python 3.10
   bugs like ``if (PyList_SET_ITEM (a, b, c) < 0) ...`` test.
   (Contributed by Zackery Spytz and Victor Stinner in :issue:`30459`.)
 
+* The non-limited API files ``odictobject.h``, ``parser_interface.h``,
+  ``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``,
+  ``pyfpe.h``, and ``pytime.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 ``Python.h`` instead.
+  (Contributed by Nicholas Sim in :issue:`35134`)
+
 Deprecated
 ----------
 
index c71a71f875e3e4915e13f7a08c8d74fa9d297374..86dbbcf6bd85da64eef99d93c8dc208810ce6cc8 100644 (file)
@@ -89,7 +89,7 @@
 #include "typeslots.h"
 #include "pyhash.h"
 
-#include "pydebug.h"
+#include "cpython/pydebug.h"
 
 #include "bytearrayobject.h"
 #include "bytesobject.h"
 #include "tupleobject.h"
 #include "listobject.h"
 #include "dictobject.h"
-#include "odictobject.h"
+#include "cpython/odictobject.h"
 #include "enumobject.h"
 #include "setobject.h"
 #include "methodobject.h"
 #include "weakrefobject.h"
 #include "structseq.h"
 #include "namespaceobject.h"
-#include "picklebufobject.h"
+#include "cpython/picklebufobject.h"
 #include "cpython/pytime.h"
 
 #include "codecs.h"
 #include "modsupport.h"
 #include "compile.h"
 #include "pythonrun.h"
-#include "parser_interface.h"
+#include "cpython/parser_interface.h"
 #include "pylifecycle.h"
 #include "ceval.h"
 #include "sysmodule.h"
 #include "pystrtod.h"
 #include "pystrcmp.h"
 #include "fileutils.h"
-#include "pyfpe.h"
+#include "cpython/pyfpe.h"
 #include "tracemalloc.h"
 
 #endif /* !Py_PYTHON_H */
similarity index 100%
rename from Include/pydebug.h
rename to Include/cpython/pydebug.h
similarity index 100%
rename from Include/pyfpe.h
rename to Include/cpython/pyfpe.h
index e4ac248d1f02e8528b111a888f16ce38d501c005..0f59700952989e03c6df148ae011528a6e20b889 100644 (file)
@@ -316,7 +316,7 @@ PEGEN_OBJS=         \
 
 
 PEGEN_HEADERS= \
-               $(srcdir)/Include/parser_interface.h \
+               $(srcdir)/Include/cpython/parser_interface.h \
                $(srcdir)/Parser/pegen.h \
                $(srcdir)/Parser/string_parser.h
 
@@ -1056,17 +1056,13 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/namespaceobject.h \
                $(srcdir)/Include/object.h \
                $(srcdir)/Include/objimpl.h \
-               $(srcdir)/Include/odictobject.h \
                $(srcdir)/Include/opcode.h \
                $(srcdir)/Include/osdefs.h \
                $(srcdir)/Include/osmodule.h \
                $(srcdir)/Include/patchlevel.h \
-               $(srcdir)/Include/picklebufobject.h \
                $(srcdir)/Include/pycapsule.h \
-               $(srcdir)/Include/pydebug.h \
                $(srcdir)/Include/pydtrace.h \
                $(srcdir)/Include/pyerrors.h \
-               $(srcdir)/Include/pyfpe.h \
                $(srcdir)/Include/pyframe.h \
                $(srcdir)/Include/pyhash.h \
                $(srcdir)/Include/pylifecycle.h \
@@ -1116,9 +1112,13 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/cpython/methodobject.h \
                $(srcdir)/Include/cpython/object.h \
                $(srcdir)/Include/cpython/objimpl.h \
+               $(srcdir)/Include/cpython/odictobject.h \
+               $(srcdir)/Include/cpython/picklebufobject.h \
                $(srcdir)/Include/cpython/pyarena.h \
                $(srcdir)/Include/cpython/pyctype.h \
+               $(srcdir)/Include/cpython/pydebug.h \
                $(srcdir)/Include/cpython/pyerrors.h \
+               $(srcdir)/Include/cpython/pyfpe.h \
                $(srcdir)/Include/cpython/pylifecycle.h \
                $(srcdir)/Include/cpython/pymem.h \
                $(srcdir)/Include/cpython/pystate.h \
diff --git a/Misc/NEWS.d/next/C API/2021-02-18-18-46-42.bpo-35134.dFpEDT.rst b/Misc/NEWS.d/next/C API/2021-02-18-18-46-42.bpo-35134.dFpEDT.rst
new file mode 100644 (file)
index 0000000..5384cb8
--- /dev/null
@@ -0,0 +1,3 @@
+Move odictobject.h, parser_interface.h, picklebufobject.h, pydebug.h, and
+pyfpe.h into the cpython/ directory. They must not be included directly, as
+they are already included by Python.h: :ref:`Include Files <api-includes>`.
index 89b6218a2739a5678d59446a97cd45d4ea8ceb34..92355a886d91a753abb019db96c79988b22fc996 100644 (file)
     <ClInclude Include="..\Include\cpython\methodobject.h" />
     <ClInclude Include="..\Include\cpython\object.h" />
     <ClInclude Include="..\Include\cpython\objimpl.h" />
+    <ClInclude Include="..\Include\cpython\odictobject.h" />
+    <ClInclude Include="..\Include\cpython\parser_interface.h" />
+    <ClInclude Include="..\Include\cpython\picklebufobject.h" />
     <ClInclude Include="..\Include\cpython\pyarena.h" />
     <ClInclude Include="..\Include\cpython\pyctype.h" />
+    <ClInclude Include="..\Include\cpython\pydebug.h" />
     <ClInclude Include="..\Include\cpython\pyerrors.h" />
+    <ClInclude Include="..\Include\cpython\pyfpe.h" />
     <ClInclude Include="..\Include\cpython\pylifecycle.h" />
     <ClInclude Include="..\Include\cpython\pymem.h" />
     <ClInclude Include="..\Include\cpython\pystate.h" />
     <ClInclude Include="..\Include\namespaceobject.h" />
     <ClInclude Include="..\Include\object.h" />
     <ClInclude Include="..\Include\objimpl.h" />
-    <ClInclude Include="..\Include\odictobject.h" />
     <ClInclude Include="..\Include\opcode.h" />
     <ClInclude Include="..\Include\osdefs.h" />
     <ClInclude Include="..\Include\osmodule.h" />
     <ClInclude Include="..\Include\patchlevel.h" />
-    <ClInclude Include="..\Include\parser_interface.h" />
-    <ClInclude Include="..\Include\picklebufobject.h" />
     <ClInclude Include="..\Include\py_curses.h" />
     <ClInclude Include="..\Include\pycapsule.h" />
-    <ClInclude Include="..\Include\pydebug.h" />
     <ClInclude Include="..\Include\pyerrors.h" />
     <ClInclude Include="..\Include\pyexpat.h" />
-    <ClInclude Include="..\Include\pyfpe.h" />
     <ClInclude Include="..\Include\pyframe.h" />
     <ClInclude Include="..\Include\pyhash.h" />
     <ClInclude Include="..\Include\pylifecycle.h" />
index bd8fd3433bce0a98a4447a22405c2aa6d067aaf1..d0b69dbc5b64fd142278afc3a29fc4caafd52366 100644 (file)
     <ClInclude Include="..\Include\patchlevel.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\picklebufobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\py_curses.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\pycapsule.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\pydebug.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\pyerrors.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\pyexpat.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\pyfpe.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\pylifecycle.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Modules\hashtable.h">
       <Filter>Modules</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\odictobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Parser\pegen.h">
       <Filter>Parser</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\listobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\odictobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\unicodeobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\object.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\parser_interface.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\cpython\picklebufobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\pyarena.h">
       <Filter>Include</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\pyctype.h">
       <Filter>Include</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\pydebug.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\pyerrors.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\pyfpe.h">
+      <Filter>Include</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\pymem.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
     <ClInclude Include="..\Include\cpython\initconfig.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\parser_interface.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\internal\pycore_warnings.h">
       <Filter>Include\internal</Filter>
     </ClInclude>
index 8381d5e86b0db5eaba0493ae156c528b95ea7316..1555dea51c2d97933306b9f824b0bfefafefb49e 100644 (file)
@@ -1,4 +1,4 @@
-#include "parser_interface.h"
+#include "Python.h"
 
 #include "tokenizer.h"
 #include "pegen.h"
index dacf1a647106fb822531b6bdcc5d58cf881e4c5e..338a1b96d39e1b4a7a76af1e4e253db358096df6 100644 (file)
@@ -26,8 +26,6 @@
 #include "symtable.h"             // PySymtable_BuildObject()
 #include "marshal.h"              // PyMarshal_ReadLongFromFile()
 
-#include "parser_interface.h"      // PyParser_ASTFrom*
-
 #ifdef MS_WINDOWS
 #  include "malloc.h"             // alloca()
 #endif
index 44f426e096adcf5bb294ebc36120c7d6575f282b..cc1009da1bde25bffbdc3f698d2886f793880aa7 100755 (executable)
@@ -23,7 +23,6 @@ EXCLUDED_HEADERS = {
     "longintrepr.h",
     "parsetok.h",
     "pyatomic.h",
-    "pydebug.h",
     "pytime.h",
     "symtable.h",
     "token.h",