Skip to content

Commit

Permalink
po-35134: Move Include/funcobject.h to Include/cpython/ (GH-28958)
Browse files Browse the repository at this point in the history
Remove redundant "#ifndef Py_LIMITED_API" in funcobject.h.
  • Loading branch information
vstinner authored Oct 14, 2021
1 parent 7076bef commit 37b1d60
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 10 deletions.
6 changes: 6 additions & 0 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,12 @@ Porting to Python 3.11
header provides functions like ``printf()`` and ``fopen()``.
(Contributed by Victor Stinner in :issue:`45434`.)

* The non-limited API file ``funcobject.h`` has been moved to the
``Include/cpython`` directory. This file must not be included directly, as it
is already included in ``Python.h``: :ref:`Include Files <api-includes>`. If
it has been included directly, consider including ``Python.h`` instead.
(Contributed by Victor Stinner in :issue:`35134`.)

Deprecated
----------

Expand Down
2 changes: 1 addition & 1 deletion Include/Python.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
#include "setobject.h"
#include "methodobject.h"
#include "moduleobject.h"
#include "funcobject.h"
#include "cpython/funcobject.h"
#include "classobject.h"
#include "fileobject.h"
#include "pycapsule.h"
Expand Down
4 changes: 1 addition & 3 deletions Include/funcobject.h → Include/cpython/funcobject.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

/* Function object interface */

#ifndef Py_LIMITED_API
#ifndef Py_FUNCOBJECT_H
#define Py_FUNCOBJECT_H
Expand Down Expand Up @@ -76,15 +76,13 @@ PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *);
PyAPI_FUNC(int) PyFunction_SetAnnotations(PyObject *, PyObject *);

#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyFunction_Vectorcall(
PyObject *func,
PyObject *const *stack,
size_t nargsf,
PyObject *kwnames);

uint32_t _PyFunction_GetVersionForCurrentState(PyFunctionObject *func);
#endif

/* Macros for direct access to these values. Type checks are *not*
done, so use with care. */
Expand Down
2 changes: 1 addition & 1 deletion Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -1145,7 +1145,6 @@ PYTHON_HEADERS= \
$(srcdir)/Include/fileutils.h \
$(srcdir)/Include/floatobject.h \
$(srcdir)/Include/frameobject.h \
$(srcdir)/Include/funcobject.h \
$(srcdir)/Include/genobject.h \
$(srcdir)/Include/import.h \
$(srcdir)/Include/interpreteridobject.h \
Expand Down Expand Up @@ -1210,6 +1209,7 @@ PYTHON_HEADERS= \
$(srcdir)/Include/cpython/fileutils.h \
$(srcdir)/Include/cpython/floatobject.h \
$(srcdir)/Include/cpython/frameobject.h \
$(srcdir)/Include/cpython/funcobject.h \
$(srcdir)/Include/cpython/import.h \
$(srcdir)/Include/cpython/initconfig.h \
$(srcdir)/Include/cpython/interpreteridobject.h \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Move Include/funcobject.h header file to Include/cpython/funcobject.h.
C extensions should only include the main ``<Python.h>`` header.
Patch by Victor Stinner.
2 changes: 1 addition & 1 deletion PCbuild/pythoncore.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@
<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\import.h" />
<ClInclude Include="..\Include\cpython\initconfig.h" />
<ClInclude Include="..\Include\cpython\interpreteridobject.h" />
Expand Down Expand Up @@ -169,7 +170,6 @@
<ClInclude Include="..\Include\fileutils.h" />
<ClInclude Include="..\Include\floatobject.h" />
<ClInclude Include="..\Include\frameobject.h" />
<ClInclude Include="..\Include\funcobject.h" />
<ClInclude Include="..\Include\genobject.h" />
<ClInclude Include="..\Include\import.h" />
<ClInclude Include="..\Include\internal\pycore_abstract.h" />
Expand Down
6 changes: 3 additions & 3 deletions PCbuild/pythoncore.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,6 @@
<ClInclude Include="..\Include\frameobject.h">
<Filter>Include</Filter>
</ClInclude>
<ClInclude Include="..\Include\funcobject.h">
<Filter>Include</Filter>
</ClInclude>
<ClInclude Include="..\Include\genobject.h">
<Filter>Include</Filter>
</ClInclude>
Expand Down Expand Up @@ -456,6 +453,9 @@
<ClInclude Include="..\Include\cpython\frameobject.h">
<Filter>Include\cpython</Filter>
</ClInclude>
<ClInclude Include="..\Include\cpython\funcobject.h">
<Filter>Include\cpython</Filter>
</ClInclude>
<ClInclude Include="..\Include\cpython\interpreteridobject.h">
<Filter>Include\cpython</Filter>
</ClInclude>
Expand Down
1 change: 0 additions & 1 deletion Tools/scripts/stable_abi.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
"datetime.h",
"dtoa.h",
"frameobject.h",
"funcobject.h",
"genobject.h",
"longintrepr.h",
"parsetok.h",
Expand Down

0 comments on commit 37b1d60

Please sign in to comment.