If only offsetof() is needed: include stddef.h instead.
When structmember.h is used, add a comment explaining that
PyMemberDef is used.
/* ABCMeta implementation */
#include "Python.h"
-#include "structmember.h"
#include "clinic/_abc.c.h"
/*[clinic input]
#include "Python.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
/*[clinic input]
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <bzlib.h>
#include <stdio.h>
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#ifdef STDC_HEADERS
#include <stddef.h>
#else
-#include <sys/types.h> /* For size_t */
+#include <sys/types.h> // size_t
#endif
/*[clinic input]
#define MODULE_VERSION "1.0"
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <stdbool.h>
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <ffi.h>
#ifdef MS_WIN32
*/
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#ifdef MS_WIN32
#include <windows.h>
#if defined(MS_WIN32) && !defined(_WIN32_WCE)
/*
Per: https://msdn.microsoft.com/en-us/library/7572ztz4.aspx
-To be returned by value in RAX, user-defined types must have a length
+To be returned by value in RAX, user-defined types must have a length
of 1, 2, 4, 8, 16, 32, or 64 bits
*/
int can_return_struct_as_int(size_t s)
#include "Python.h"
#include "datetime.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <time.h>
#include <Python.h>
#include "longintrepr.h"
-#include "structmember.h"
#include "complexobject.h"
#include "mpdecimal.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
/* -------------------------------------------------------------------- */
/* configuration */
#include "Python.h"
#include "pycore_pymem.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_pystate.h" // _PyThreadState_GET()
#include "pycore_tupleobject.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
/* _functools module written and maintained
by Hye-Shik Chang <perky@FreeBSD.org>
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
#include "hashlib.h"
#include "pystrhex.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
#include "_iomodule.h"
#ifdef HAVE_SYS_TYPES_H
#define PY_SSIZE_T_CLEAN
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "_iomodule.h"
/*[clinic input]
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h" /* for offsetof() */
+#include <stddef.h> // offsetof()
#include "_iomodule.h"
/*[clinic input]
#define PY_SSIZE_T_CLEAN
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <stdbool.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#define PY_SSIZE_T_CLEAN
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
#include "_iomodule.h"
/*[clinic input]
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
#include "pycore_accu.h"
#include "pycore_object.h"
#include "_iomodule.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "pycore_interp.h" // PyInterpreterState.fs_codec
+#include "pycore_interp.h" // PyInterpreterState.fs_codec
#include "pycore_object.h"
-#include "pycore_pystate.h" // _PyInterpreterState_GET()
-#include "structmember.h"
+#include "pycore_pystate.h" // _PyInterpreterState_GET()
+#include "structmember.h" // PyMemberDef
#include "_iomodule.h"
/*[clinic input]
#ifdef MS_WINDOWS
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#endif
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "pycore_accu.h"
typedef struct {
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <stdarg.h>
#include <string.h>
#define PY_SSIZE_T_CLEAN
#include <Python.h>
-#include "structmember.h"
// for shm_open() and shm_unlink()
#ifdef HAVE_SYS_MMAN_H
#endif
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
PyDoc_STRVAR(pickle_module_doc,
"Optimized C implementation for the Python pickle module.");
#include "Python.h"
-#include "structmember.h" /* offsetof */
+#include <stddef.h> // offsetof()
/*[clinic input]
module _queue
#include "cache.h"
#include "module.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "connection.h"
#include "statement.h"
#include "cursor.h"
*/
#include <Python.h>
-#include <structmember.h>
#include "cursor.h"
#include "microprotocols.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h" /* offsetof */
+#include "structmember.h" // PyMemberDef
#include "sre.h"
/* statistics accelerator C extension: _statistics module. */
#include "Python.h"
-#include "structmember.h"
#include "clinic/_statisticsmodule.c.h"
/*[clinic input]
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <ctype.h>
/*[clinic input]
#include "Python.h"
#include "datetime.h"
#include "marshal.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <float.h>
#include <signal.h>
#include "Python.h"
#include "pycore_pylifecycle.h"
-#include "pycore_interp.h" // _PyInterpreterState.num_threads
-#include "pycore_pystate.h" // _PyThreadState_Init()
-#include <stddef.h> // offsetof()
+#include "pycore_interp.h" // _PyInterpreterState.num_threads
+#include "pycore_pystate.h" // _PyThreadState_Init()
+#include <stddef.h> // offsetof()
static PyObject *ThreadError;
static PyObject *str_dict;
/* Thread-local objects */
-#include "structmember.h"
-
/* Quick overview:
We need to be able to reclaim reference cycles as soon as possible
/* See http://www.python.org/2.4/license for licensing details. */
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#define WINDOWS_LEAN_AND_MEAN
#include "windows.h"
}
}
else if (command_line != Py_None) {
- PyErr_Format(PyExc_TypeError,
- "CreateProcess() argument 2 must be str or None, not %s",
+ PyErr_Format(PyExc_TypeError,
+ "CreateProcess() argument 2 must be str or None, not %s",
Py_TYPE(command_line)->tp_name);
goto cleanup;
}
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
#ifdef STDC_HEADERS
#include <stddef.h>
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "multibytecodec.h"
#include "clinic/multibytecodec.c.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
#include "pycore_tupleobject.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
/* Itertools module written and maintained
by Raymond D. Hettinger <python@rcn.com>
#define PY_SSIZE_T_CLEAN
#include <Python.h>
-#include "structmember.h"
+#include <stddef.h> // offsetof()
#ifndef MS_WINDOWS
#define UNIX
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
Check itemsize */
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#define WINDOWS_LEAN_AND_MEAN
#include <winsock2.h>
# include <windows.h>
#endif
-#include "pycore_ceval.h" /* _PyEval_ReInitThreads() */
-#include "pycore_import.h" /* _PyImport_ReInitLock() */
-#include "pycore_pystate.h" /* _PyInterpreterState_GET() */
-#include "structmember.h"
+#include "pycore_ceval.h" // _PyEval_ReInitThreads()
+#include "pycore_import.h" // _PyImport_ReInitLock()
+#include "pycore_pystate.h" // _PyInterpreterState_GET()
+#include "structmember.h" // PyMemberDef
#ifndef MS_WINDOWS
# include "posixmodule.h"
#else
#include "Python.h"
#include <ctype.h>
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "frameobject.h"
#include "expat.h"
#endif
#include "Python.h"
-#include <structmember.h>
+#include "structmember.h" // PyMemberDef
#ifdef HAVE_SYS_DEVPOLL_H
#include <sys/resource.h>
/* SHA objects */
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "hashlib.h"
#include "pystrhex.h"
/* SHA objects */
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "hashlib.h"
#include "pystrhex.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#ifdef _Py_MEMORY_SANITIZER
# include <sanitizer/msan_interface.h>
#include "Python.h"
#include "ucnhash.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <stdbool.h>
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
PyDoc_STRVAR(xxsubtype__doc__,
"xxsubtype is an example module showing how to subtype builtin types from C.\n"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "zlib.h"
/* Abstract Object Interface (many thanks to Jim Fulton) */
#include "Python.h"
-#include "pycore_abstract.h" // _PyIndex_Check()
-#include "pycore_ceval.h" // _Py_EnterRecursiveCall()
+#include "pycore_abstract.h" // _PyIndex_Check()
+#include "pycore_ceval.h" // _Py_EnterRecursiveCall()
#include "pycore_pyerrors.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_pystate.h" // _PyThreadState_GET()
#include <ctype.h>
-#include "structmember.h" /* we need the offsetof() macro from there */
+#include <stddef.h> // offsetof()
#include "longintrepr.h"
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "pycore_abstract.h" // _PyIndex_Check()
+#include "pycore_abstract.h" // _PyIndex_Check()
#include "pycore_bytes_methods.h"
#include "pycore_object.h"
#include "pycore_pymem.h"
-#include "structmember.h"
#include "bytesobject.h"
#include "pystrhex.h"
#include "pycore_object.h"
#include "pycore_pyerrors.h"
#include "pycore_pymem.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
-#include "structmember.h"
+#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "structmember.h" // PyMemberDef
#define TP_DESCR_GET(t) ((t)->tp_descr_get)
#include "Python.h"
#include "code.h"
#include "opcode.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "pycore_code.h"
#include "pycore_interp.h" // PyInterpreterState.co_extra_freefuncs
#include "pycore_pystate.h" // _PyInterpreterState_GET()
/* Submitted by Jim Hugunin */
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
/*[clinic input]
class complex "PyComplexObject *" "&PyComplex_Type"
#include "pycore_object.h"
#include "pycore_pystate.h" // _PyThreadState_GET()
#include "pycore_tupleobject.h"
-#include "structmember.h" /* Why is this not included in Python.h? */
+#include "structmember.h" // PyMemberDef
_Py_IDENTIFIER(getattr);
#include "pycore_initconfig.h"
#include "pycore_object.h"
#include "pycore_pymem.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "osdefs.h"
#include "code.h"
#include "frameobject.h"
#include "opcode.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#define OFF(x) offsetof(PyFrameObject, x)
#include "pycore_pymem.h"
#include "pycore_tupleobject.h"
#include "code.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
PyObject *
PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
typedef struct {
PyObject_HEAD
_PyUnicodeWriter writer;
_PyUnicodeWriter_Init(&writer);
-
+
if (ga_repr_item(&writer, alias->origin) < 0) {
goto error;
}
/* Generator object implementation */
#include "Python.h"
-#include "pycore_ceval.h" // _PyEval_EvalFrame()
+#include "pycore_ceval.h" // _PyEval_EvalFrame()
#include "pycore_object.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_pystate.h" // _PyThreadState_GET()
#include "frameobject.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "opcode.h"
static PyObject *gen_close(PyGenObject *, PyObject *);
/* Method object implementation */
#include "Python.h"
-#include "pycore_ceval.h" // _Py_EnterRecursiveCall()
+#include "pycore_ceval.h" // _Py_EnterRecursiveCall()
#include "pycore_object.h"
#include "pycore_pyerrors.h"
#include "pycore_pymem.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
-#include "structmember.h"
+#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "structmember.h" // PyMemberDef
/* undefine macro trampoline to PyCFunction_NewEx */
#undef PyCFunction_New
/* Module object implementation */
#include "Python.h"
-#include "pycore_interp.h" // PyInterpreterState.importlib
-#include "pycore_pystate.h" // _PyInterpreterState_GET()
-#include "structmember.h"
+#include "pycore_interp.h" // PyInterpreterState.importlib
+#include "pycore_pystate.h" // _PyInterpreterState_GET()
+#include "structmember.h" // PyMemberDef
static Py_ssize_t max_module_number;
// namespace object implementation
#include "Python.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
typedef struct {
#include "Python.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include <stddef.h> // offsetof()
#include "dict-common.h"
#include <stddef.h>
#include "Python.h"
#include "pycore_abstract.h" // _PyIndex_Check()
#include "pycore_tupleobject.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
/* Support objects whose length is > PY_SSIZE_T_MAX.
*/
#include "Python.h"
-#include "pycore_object.h" // _PyObject_GC_UNTRACK()
-#include "structmember.h"
+#include "pycore_object.h" // _PyObject_GC_UNTRACK()
+#include <stddef.h> // offsetof()
/* Object used as dummy key to fill deleted entries */
static PyObject _dummy_struct;
*/
#include "Python.h"
-#include "pycore_abstract.h" // _PyIndex_Check()
+#include "pycore_abstract.h" // _PyIndex_Check()
#include "pycore_object.h"
#include "pycore_pymem.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
static PyObject *
ellipsis_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
#include "Python.h"
#include "pycore_tupleobject.h"
#include "pycore_object.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
static const char visible_length_key[] = "n_sequence_fields";
static const char real_length_key[] = "n_fields";
#include "pycore_initconfig.h"
#include "pycore_object.h"
#include "pycore_pyerrors.h"
-#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_pystate.h" // _PyThreadState_GET()
#include "frameobject.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include <ctype.h>
#include "Python.h"
-#include "pycore_object.h" // _PyObject_GET_WEAKREFS_LISTPTR
-#include "structmember.h"
+#include "pycore_object.h" // _PyObject_GET_WEAKREFS_LISTPTR()
+#include "structmember.h" // PyMemberDef
#define GET_WEAKREFS_LISTPTR(o) \
#define PY_SSIZE_T_CLEAN
#include "Python.h"
-#include "structmember.h"
-#include "windows.h"
+#include "structmember.h" // PyMemberDef
+#include <windows.h>
static BOOL PyHKEY_AsHKEY(PyObject *ob, HKEY *pRes, BOOL bNoneOK);
static BOOL clinic_HKEY_converter(PyObject *ob, void *p);
f.write('\n')
f.write('#include "Python.h"\n')
f.write('#include "%s-ast.h"\n' % mod.name)
- f.write('#include "structmember.h"\n')
+ f.write('#include "structmember.h" // PyMemberDef\n')
f.write('\n')
generate_module_def(f, mod)
#include "Python.h"
#include "Python-ast.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
typedef struct {
int initialized;
#include "opcode.h"
#include "pydtrace.h"
#include "setobject.h"
-#include "structmember.h"
#include <ctype.h>
#include "pycore_object.h"
#include "pycore_pyerrors.h"
#include "pycore_pystate.h" // _PyThreadState_GET()
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#define CONTEXT_FREELIST_MAXLEN 255
#include "Python.h"
#include "pycore_hamt.h"
-#include "pycore_object.h" // _PyObject_GC_TRACK()
-#include "structmember.h"
+#include "pycore_object.h" // _PyObject_GC_TRACK()
+#include <stddef.h> // offsetof()
/*
This file provides an implementation of an immutable mapping using the
/* Map C struct members to Python object attributes */
#include "Python.h"
-
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
PyObject *
PyMember_GetOne(const char *addr, PyMemberDef *l)
#include "pycore_pystate.h" // _PyThreadState_GET()
#include "symtable.h"
#undef Yield /* undefine macro conflicting with <winbase.h> */
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
/* error strings used for warnings */
#define GLOBAL_PARAM \
#include "code.h"
#include "frameobject.h"
-#include "structmember.h"
+#include "structmember.h" // PyMemberDef
#include "osdefs.h"
#ifdef HAVE_FCNTL_H
#include <fcntl.h>