mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
gh-108765: Move standard includes to Python.h (#108769)
* Move <ctype.h>, <limits.h> and <stdarg.h> standard includes to Python.h. * Move "pystats.h" include from object.h to Python.h. * Remove redundant "pymem.h" include in objimpl.h and "pyport.h" include in pymem.h; Python.h already includes them earlier. * Remove redundant <wchar.h> include in unicodeobject.h; Python.h already includes it. * Move _SGI_MP_SOURCE define from Python.h to pyport.h. * pycore_condvar.h includes explicitly <unistd.h> for the _POSIX_THREADS macro.
This commit is contained in:
parent
0e01fac315
commit
45b9e6a61f
10 changed files with 45 additions and 61 deletions
|
|
@ -5,42 +5,50 @@
|
|||
#ifndef Py_PYTHON_H
|
||||
#define Py_PYTHON_H
|
||||
|
||||
// Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" {
|
||||
// Since this is a "meta-include" file, "#ifdef __cplusplus / extern "C" {"
|
||||
// is not needed.
|
||||
|
||||
|
||||
// Include Python header files
|
||||
#include "patchlevel.h"
|
||||
#include "pyconfig.h"
|
||||
#include "pymacconfig.h"
|
||||
|
||||
#if defined(__sgi) && !defined(_SGI_MP_SOURCE)
|
||||
# define _SGI_MP_SOURCE
|
||||
#endif
|
||||
|
||||
// stdlib.h, stdio.h, errno.h and string.h headers are not used by Python
|
||||
// headers, but kept for backward compatibility. They are excluded from the
|
||||
// limited C API of Python 3.11.
|
||||
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
|
||||
# include <stdlib.h>
|
||||
# include <stdio.h> // FILE*
|
||||
# include <errno.h> // errno
|
||||
# include <string.h> // memcpy()
|
||||
#endif
|
||||
#ifndef MS_WINDOWS
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
// Include standard header files
|
||||
#include <assert.h> // assert()
|
||||
#include <ctype.h> // tolower()
|
||||
#include <inttypes.h> // uintptr_t
|
||||
#include <limits.h> // INT_MAX
|
||||
#include <stdarg.h> // va_list
|
||||
#include <wchar.h> // wchar_t
|
||||
#ifdef HAVE_STDDEF_H
|
||||
# include <stddef.h> // size_t
|
||||
#endif
|
||||
#ifndef MS_WINDOWS
|
||||
# include <unistd.h> // sysconf()
|
||||
#endif
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <wchar.h> // wchar_t
|
||||
// errno.h, stdio.h, stdlib.h and string.h headers are no longer used by Python
|
||||
// headers, but kept for backward compatibility (no introduce new compiler
|
||||
// warnings). They are not included by the limited C API version 3.11 and
|
||||
// above.
|
||||
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
|
||||
# include <errno.h> // errno
|
||||
# include <stdio.h> // FILE*
|
||||
# include <stdlib.h> // getenv()
|
||||
# include <string.h> // memcpy()
|
||||
#endif
|
||||
|
||||
|
||||
// Include Python header files
|
||||
#include "pyport.h"
|
||||
#include "pymacro.h"
|
||||
#include "pymath.h"
|
||||
#include "pymem.h"
|
||||
#include "pytypedefs.h"
|
||||
#include "pybuffer.h"
|
||||
#include "pystats.h"
|
||||
#include "object.h"
|
||||
#include "objimpl.h"
|
||||
#include "typeslots.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue