Make _fields attr for no fields consistent with _attributes attr.
diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py
index 4184bc6..e068b0a 100644
--- a/Lib/test/test_ast.py
+++ b/Lib/test/test_ast.py
@@ -163,6 +163,9 @@
         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 91196df..08592bc 100755
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -674,14 +674,9 @@
 {
     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 c44ce38..d473418 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -465,14 +465,9 @@
 {
     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);