mirror of
https://github.com/python/cpython.git
synced 2024-11-30 13:24:13 +08:00
51e7f5caba
+ Redirect PyMem_{Del, DEL} to the object allocator's free() when pymalloc is enabled. Needed so old extensions can continue to mix PyObject_New with PyMem_DEL. + This implies that pgen needs to be able to see the PyObject_XYZ declarations too. pgenheaders.h now includes Python.h. An implication is that I expect obmalloc.o needs to get linked into pgen on non-Windows boxes. + When PYMALLOC_DEBUG is defined, *all* Py memory API functions now funnel through the debug allocator wrapper around pymalloc. This is the default in a debug build. + That caused compile.c to fail: it indirectly mixed PyMem_Malloc with raw platform free() in one place. This is verbotten.
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
#ifndef Py_PGENHEADERS_H
|
|
#define Py_PGENHEADERS_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/* Include files and extern declarations used by most of the parser. */
|
|
|
|
#include "Python.h"
|
|
|
|
DL_IMPORT(void) PySys_WriteStdout(const char *format, ...)
|
|
__attribute__((format(printf, 1, 2)));
|
|
DL_IMPORT(void) PySys_WriteStderr(const char *format, ...)
|
|
__attribute__((format(printf, 1, 2)));
|
|
|
|
#define addarc _Py_addarc
|
|
#define addbit _Py_addbit
|
|
#define adddfa _Py_adddfa
|
|
#define addfirstsets _Py_addfirstsets
|
|
#define addlabel _Py_addlabel
|
|
#define addstate _Py_addstate
|
|
#define delbitset _Py_delbitset
|
|
#define dumptree _Py_dumptree
|
|
#define findlabel _Py_findlabel
|
|
#define mergebitset _Py_mergebitset
|
|
#define meta_grammar _Py_meta_grammar
|
|
#define newbitset _Py_newbitset
|
|
#define newgrammar _Py_newgrammar
|
|
#define pgen _Py_pgen
|
|
#define printgrammar _Py_printgrammar
|
|
#define printnonterminals _Py_printnonterminals
|
|
#define printtree _Py_printtree
|
|
#define samebitset _Py_samebitset
|
|
#define showtree _Py_showtree
|
|
#define tok_dump _Py_tok_dump
|
|
#define translatelabels _Py_translatelabels
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_PGENHEADERS_H */
|