diff --git a/Misc/NEWS b/Misc/NEWS index 4b326ff98e0..06223600ac2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -13,6 +13,8 @@ Core and Builtins - Issue #19255: The builtins module is restored to initial value before cleaning other modules. The sys and builtins modules are cleaned last. +- Issue #20588: Make Python-ast.c C89 compliant. + - Issue #20437: Fixed 22 potential bugs when deleting objects references. - Issue #20500: Displaying an exception at interpreter shutdown no longer diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 80e432a3e96..d6086e68bf2 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -1203,10 +1203,14 @@ PyObject* PyAST_mod2obj(mod_ty t) mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode) { mod_ty res; - PyObject *req_type[] = {(PyObject*)Module_type, (PyObject*)Expression_type, - (PyObject*)Interactive_type}; + PyObject *req_type[3]; char *req_name[] = {"Module", "Expression", "Interactive"}; int isinstance; + + req_type[0] = (PyObject*)Module_type; + req_type[1] = (PyObject*)Expression_type; + req_type[2] = (PyObject*)Interactive_type; + assert(0 <= mode && mode <= 2); if (!init_types()) diff --git a/Python/Python-ast.c b/Python/Python-ast.c index e07a93fee8f..44fdafc50ae 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -7023,10 +7023,14 @@ PyObject* PyAST_mod2obj(mod_ty t) mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode) { mod_ty res; - PyObject *req_type[] = {(PyObject*)Module_type, (PyObject*)Expression_type, - (PyObject*)Interactive_type}; + PyObject *req_type[3]; char *req_name[] = {"Module", "Expression", "Interactive"}; int isinstance; + + req_type[0] = (PyObject*)Module_type; + req_type[1] = (PyObject*)Expression_type; + req_type[2] = (PyObject*)Interactive_type; + assert(0 <= mode && mode <= 2); if (!init_types())