From c2f665e721e4e4629cc4a2c5eb6464c3dc7325e3 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 10 Feb 2014 22:19:02 -0500 Subject: [PATCH] don't put runtime values in array initializer for C89 compliance (closes #20588) --- Misc/NEWS | 2 ++ Parser/asdl_c.py | 8 ++++++-- Python/Python-ast.c | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index edefb80163f..ac1ba0da2ba 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,8 @@ What's New in Python 3.3.5 release candidate 1? Core and Builtins ----------------- +- Issue #20588: Make Python-ast.c C89 compliant. + - Issue #20437: Fixed 21 potential bugs when deleting objects references. - Issue #20538: UTF-7 incremental decoder produced inconsistant string when diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 0b6c88cc7b6..4b84e0fd6b2 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -1150,10 +1150,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); init_types(); diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 7bf2c5092d3..aa032338af7 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -6957,10 +6957,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); init_types();