summaryrefslogtreecommitdiff
path: root/Objects/typeobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/typeobject.c')
-rw-r--r--Objects/typeobject.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 4c3909c098..37df4d23e4 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -131,8 +131,7 @@ skip_signature(const char *doc)
return NULL;
}
-#ifndef NDEBUG
-static int
+int
_PyType_CheckConsistency(PyTypeObject *type)
{
#define ASSERT(expr) _PyObject_ASSERT((PyObject *)type, (expr))
@@ -142,14 +141,16 @@ _PyType_CheckConsistency(PyTypeObject *type)
return 1;
}
+ ASSERT(!_PyObject_IsFreed((PyObject *)type));
+ ASSERT(Py_REFCNT(type) >= 1);
+ ASSERT(PyType_Check(type));
+
ASSERT(!(type->tp_flags & Py_TPFLAGS_READYING));
- ASSERT(type->tp_mro != NULL && PyTuple_Check(type->tp_mro));
ASSERT(type->tp_dict != NULL);
- return 1;
+ return 1;
#undef ASSERT
}
-#endif
static const char *
_PyType_DocWithoutSignature(const char *name, const char *internal_doc)