bpo-21120: Exclude Python-ast.h, ast.h and asdl.h from the limited API (#14634)
The PyArena type is not part of the limited API, so these headers shouldn't be part of it either.
This commit is contained in:
parent
6954be815a
commit
421a72af4d
|
@ -6,6 +6,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef Py_LIMITED_API
|
||||
#include "asdl.h"
|
||||
|
||||
#undef Yield /* undefine macro conflicting with <winbase.h> */
|
||||
|
@ -708,6 +709,7 @@ type_ignore_ty _Py_TypeIgnore(int lineno, string tag, PyArena *arena);
|
|||
PyObject* PyAST_mod2obj(mod_ty t);
|
||||
mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
|
||||
int PyAST_Check(PyObject* obj);
|
||||
#endif /* !Py_LIMITED_API */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#ifndef Py_LIMITED_API
|
||||
#ifndef Py_ASDL_H
|
||||
#define Py_ASDL_H
|
||||
|
||||
|
@ -44,3 +45,4 @@ asdl_int_seq *_Py_asdl_int_seq_new(Py_ssize_t size, PyArena *arena);
|
|||
#endif
|
||||
|
||||
#endif /* !Py_ASDL_H */
|
||||
#endif /* Py_LIMITED_API */
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#ifndef Py_LIMITED_API
|
||||
#ifndef Py_AST_H
|
||||
#define Py_AST_H
|
||||
#ifdef __cplusplus
|
||||
|
@ -19,8 +20,6 @@ PyAPI_FUNC(mod_ty) PyAST_FromNodeObject(
|
|||
PyObject *filename,
|
||||
PyArena *arena);
|
||||
|
||||
#ifndef Py_LIMITED_API
|
||||
|
||||
/* _PyAST_ExprAsUnicode is defined in ast_unparse.c */
|
||||
PyAPI_FUNC(PyObject *) _PyAST_ExprAsUnicode(expr_ty);
|
||||
|
||||
|
@ -29,9 +28,8 @@ PyAPI_FUNC(PyObject *) _PyAST_ExprAsUnicode(expr_ty);
|
|||
Doesn't set exception. */
|
||||
PyAPI_FUNC(PyObject *) _PyAST_GetDocString(asdl_seq *);
|
||||
|
||||
#endif /* !Py_LIMITED_API */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* !Py_AST_H */
|
||||
#endif /* !Py_LIMITED_API */
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Exclude Python-ast.h, ast.h and asdl.h from the limited API.
|
|
@ -1339,6 +1339,7 @@ def main(srcfile, dump_module=False):
|
|||
f.write('extern "C" {\n')
|
||||
f.write('#endif\n')
|
||||
f.write('\n')
|
||||
f.write('#ifndef Py_LIMITED_API\n')
|
||||
f.write('#include "asdl.h"\n')
|
||||
f.write('\n')
|
||||
f.write('#undef Yield /* undefine macro conflicting with <winbase.h> */\n')
|
||||
|
@ -1353,6 +1354,7 @@ def main(srcfile, dump_module=False):
|
|||
f.write("PyObject* PyAST_mod2obj(mod_ty t);\n")
|
||||
f.write("mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);\n")
|
||||
f.write("int PyAST_Check(PyObject* obj);\n")
|
||||
f.write("#endif /* !Py_LIMITED_API */\n")
|
||||
f.write('\n')
|
||||
f.write('#ifdef __cplusplus\n')
|
||||
f.write('}\n')
|
||||
|
|
Loading…
Reference in New Issue