From c43112823b1f748822c43ad42566537580c02af2 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 30 Oct 2012 23:21:10 -0400 Subject: [PATCH] initialize more global type objects (closes #16369) --- Modules/symtablemodule.c | 3 +++ Objects/object.c | 24 ++++++++++++++++++++++++ Objects/unicodeobject.c | 6 ++++++ 3 files changed, 33 insertions(+) diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c index f6201e5bb00..02a81f11dc3 100644 --- a/Modules/symtablemodule.c +++ b/Modules/symtablemodule.c @@ -63,6 +63,9 @@ PyInit__symtable(void) { PyObject *m; + if (PyType_Ready(&PySTEntry_Type) < 0) + return NULL; + m = PyModule_Create(&symtablemodule); if (m == NULL) return NULL; diff --git a/Objects/object.c b/Objects/object.c index 4730a66659c..28bb9c1e46a 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1644,6 +1644,30 @@ _Py_ReadyTypes(void) if (PyType_Ready(&PyZip_Type) < 0) Py_FatalError("Can't initialize zip type"); + + if (PyType_Ready(&PyCapsule_Type) < 0) + Py_FatalError("Can't initialize capsule type"); + + if (PyType_Ready(&PyLongRangeIter_Type) < 0) + Py_FatalError("Can't initialize long range iterator type"); + + if (PyType_Ready(&PyCell_Type) < 0) + Py_FatalError("Can't initialize cell type"); + + if (PyType_Ready(&PyInstanceMethod_Type) < 0) + Py_FatalError("Can't initialize instance method type"); + + if (PyType_Ready(&PyClassMethodDescr_Type) < 0) + Py_FatalError("Can't initialize class method descr type"); + + if (PyType_Ready(&PyMethodDescr_Type) < 0) + Py_FatalError("Can't initialize method descr type"); + + if (PyType_Ready(&PyCallIter_Type) < 0) + Py_FatalError("Can't initialize call iter type"); + + if (PyType_Ready(&PySeqIter_Type) < 0) + Py_FatalError("Can't initialize sequence iterator type"); } diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 3ef9c9bbaf3..35b424e33ab 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -10079,6 +10079,12 @@ void _PyUnicode_Init(void) ); PyType_Ready(&EncodingMapType); + + if (PyType_Ready(&PyFieldNameIter_Type) < 0) + Py_FatalError("Can't initialize field name iterator type"); + + if (PyType_Ready(&PyFormatterIter_Type) < 0) + Py_FatalError("Can't initialize formatter iter type"); } /* Finalize the Unicode implementation */