mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-45434: Cleanup Python.h header file (GH-28883)
* Move limits.h include and UCHAR_MAX checks to pyport.h. * Move sanitizers macros to pyport.h. * Remove comment about <assert.h>: C extensions are built with NDEBUG automatically by Python.
This commit is contained in:
parent
2f92e2a590
commit
47717d1186
2 changed files with 39 additions and 52 deletions
|
@ -5,6 +5,14 @@
|
|||
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <limits.h>
|
||||
#ifndef UCHAR_MAX
|
||||
# error "limits.h must define UCHAR_MAX"
|
||||
#endif
|
||||
#if UCHAR_MAX != 255
|
||||
# error "Python's source code assumes C's unsigned char is an 8-bit type"
|
||||
#endif
|
||||
|
||||
|
||||
/* Defines to build Python and its standard library:
|
||||
*
|
||||
|
@ -851,4 +859,22 @@ extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler;
|
|||
#endif
|
||||
|
||||
|
||||
/* A convenient way for code to know if sanitizers are enabled. */
|
||||
#if defined(__has_feature)
|
||||
# if __has_feature(memory_sanitizer)
|
||||
# if !defined(_Py_MEMORY_SANITIZER)
|
||||
# define _Py_MEMORY_SANITIZER
|
||||
# endif
|
||||
# endif
|
||||
# if __has_feature(address_sanitizer)
|
||||
# if !defined(_Py_ADDRESS_SANITIZER)
|
||||
# define _Py_ADDRESS_SANITIZER
|
||||
# endif
|
||||
# endif
|
||||
#elif defined(__GNUC__)
|
||||
# if defined(__SANITIZE_ADDRESS__)
|
||||
# define _Py_ADDRESS_SANITIZER
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* Py_PYPORT_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue