Commit ec13b932 authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-35081: Add Include/internal/pycore_tupleobject.h (GH-10705)

Move _PyTuple_ITEMS() to a new header file:
Include/internal/pycore_tupleobject.h
parent 8ac6539d
#ifndef Py_INTERNAL_TUPLEOBJECT_H
#define Py_INTERNAL_TUPLEOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif
#if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN)
# error "this header requires Py_BUILD_CORE or Py_BUILD_CORE_BUILTIN define"
#endif
#include "tupleobject.h"
#define _PyTuple_ITEMS(op) (_PyTuple_CAST(op)->ob_item)
#ifdef __cplusplus
}
#endif
#endif /* !Py_INTERNAL_TUPLEOBJECT_H */
...@@ -61,10 +61,6 @@ PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *); ...@@ -61,10 +61,6 @@ PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *);
#define PyTuple_GET_ITEM(op, i) (_PyTuple_CAST(op)->ob_item[i]) #define PyTuple_GET_ITEM(op, i) (_PyTuple_CAST(op)->ob_item[i])
#define PyTuple_GET_SIZE(op) (assert(PyTuple_Check(op)), Py_SIZE(op)) #define PyTuple_GET_SIZE(op) (assert(PyTuple_Check(op)), Py_SIZE(op))
#ifdef Py_BUILD_CORE
# define _PyTuple_ITEMS(op) (_PyTuple_CAST(op)->ob_item)
#endif
/* Macro, *only* to be used to fill in brand new tuples */ /* Macro, *only* to be used to fill in brand new tuples */
#define PyTuple_SET_ITEM(op, i, v) (_PyTuple_CAST(op)->ob_item[i] = v) #define PyTuple_SET_ITEM(op, i, v) (_PyTuple_CAST(op)->ob_item[i] = v)
#endif #endif
......
...@@ -1043,6 +1043,7 @@ PYTHON_HEADERS= \ ...@@ -1043,6 +1043,7 @@ PYTHON_HEADERS= \
$(srcdir)/Include/internal/pycore_pylifecycle.h \ $(srcdir)/Include/internal/pycore_pylifecycle.h \
$(srcdir)/Include/internal/pycore_pymem.h \ $(srcdir)/Include/internal/pycore_pymem.h \
$(srcdir)/Include/internal/pycore_pystate.h \ $(srcdir)/Include/internal/pycore_pystate.h \
$(srcdir)/Include/internal/pycore_tupleobject.h \
$(srcdir)/Include/internal/pycore_warnings.h \ $(srcdir)/Include/internal/pycore_warnings.h \
$(DTRACE_HEADERS) $(DTRACE_HEADERS)
......
#include "Python.h" #include "Python.h"
#include "pycore_pymem.h" #include "pycore_pymem.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
#include "structmember.h" #include "structmember.h"
/* _functools module written and maintained /* _functools module written and maintained
......
#include "Python.h" #include "Python.h"
#include "pycore_object.h" #include "pycore_object.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
#include "frameobject.h" #include "frameobject.h"
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "code.h" #include "code.h"
#include "structmember.h" #include "structmember.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
/* Holder for co_extra information */ /* Holder for co_extra information */
typedef struct { typedef struct {
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include "Python.h" #include "Python.h"
#include "pycore_object.h" #include "pycore_object.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
#include "structmember.h" /* Why is this not included in Python.h? */ #include "structmember.h" /* Why is this not included in Python.h? */
/*[clinic input] /*[clinic input]
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "pycore_object.h" #include "pycore_object.h"
#include "pycore_pymem.h" #include "pycore_pymem.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
#include "code.h" #include "code.h"
#include "structmember.h" #include "structmember.h"
......
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
<ClInclude Include="..\Include\internal\pycore_pylifecycle.h" /> <ClInclude Include="..\Include\internal\pycore_pylifecycle.h" />
<ClInclude Include="..\Include\internal\pycore_pymem.h" /> <ClInclude Include="..\Include\internal\pycore_pymem.h" />
<ClInclude Include="..\Include\internal\pycore_pystate.h" /> <ClInclude Include="..\Include\internal\pycore_pystate.h" />
<ClInclude Include="..\Include\internal\pycore_tupleobject.h" />
<ClInclude Include="..\Include\internal\pycore_warnings.h" /> <ClInclude Include="..\Include\internal\pycore_warnings.h" />
<ClInclude Include="..\Include\intrcheck.h" /> <ClInclude Include="..\Include\intrcheck.h" />
<ClInclude Include="..\Include\iterobject.h" /> <ClInclude Include="..\Include\iterobject.h" />
......
...@@ -180,6 +180,9 @@ ...@@ -180,6 +180,9 @@
<ClInclude Include="..\Include\internal\pycore_pystate.h"> <ClInclude Include="..\Include\internal\pycore_pystate.h">
<Filter>Include</Filter> <Filter>Include</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\Include\internal\pycore_tupleobject.h">
<Filter>Include</Filter>
</ClInclude>
<ClInclude Include="..\Include\internal\pycore_warnings.h"> <ClInclude Include="..\Include\internal\pycore_warnings.h">
<Filter>Include</Filter> <Filter>Include</Filter>
</ClInclude> </ClInclude>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "Python.h" #include "Python.h"
#include "pycore_object.h" #include "pycore_object.h"
#include "pycore_pystate.h" #include "pycore_pystate.h"
#include "pycore_tupleobject.h"
#include "code.h" #include "code.h"
#include "dictobject.h" #include "dictobject.h"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
/* New getargs implementation */ /* New getargs implementation */
#include "Python.h" #include "Python.h"
#include "pycore_tupleobject.h"
#include <ctype.h> #include <ctype.h>
#include <float.h> #include <float.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment