diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index 4184bc62953..e068b0a1145 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -163,6 +163,9 @@ class AST_Tests(unittest.TestCase): self.assertEquals(x.right, 3) self.assertEquals(x.lineno, 0) + # this used to fail because Sub._fields was None + x = _ast.Sub() + def test_main(): test_support.run_unittest(AST_Tests) diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 91196df3512..08592bc4c4a 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -674,14 +674,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int { PyObject *fnames, *result; int i; - if (num_fields) { - fnames = PyTuple_New(num_fields); - if (!fnames) return NULL; - } else { - fnames = Py_None; - Py_INCREF(Py_None); - } - for(i=0; i < num_fields; i++) { + fnames = PyTuple_New(num_fields); + if (!fnames) return NULL; + for (i = 0; i < num_fields; i++) { PyObject *field = PyString_FromString(fields[i]); if (!field) { Py_DECREF(fnames); diff --git a/Python/Python-ast.c b/Python/Python-ast.c index c44ce383c68..d4734187de7 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -465,14 +465,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int { PyObject *fnames, *result; int i; - if (num_fields) { - fnames = PyTuple_New(num_fields); - if (!fnames) return NULL; - } else { - fnames = Py_None; - Py_INCREF(Py_None); - } - for(i=0; i < num_fields; i++) { + fnames = PyTuple_New(num_fields); + if (!fnames) return NULL; + for (i = 0; i < num_fields; i++) { PyObject *field = PyString_FromString(fields[i]); if (!field) { Py_DECREF(fnames);