diff options
-rwxr-xr-x | Parser/asdl_c.py | 8 | ||||
-rw-r--r-- | Python/Python-ast.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 0be6c7f..81a3d6a 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -608,6 +608,12 @@ typedef struct { PyObject *dict; } AST_object; +static void +ast_dealloc(AST_object *self) +{ + Py_CLEAR(self->dict); +} + static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { @@ -696,7 +702,7 @@ static PyTypeObject AST_type = { "_ast.AST", sizeof(AST_object), 0, - 0, /* tp_dealloc */ + (destructor)ast_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 1178d74..d9e13e2 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -460,6 +460,12 @@ typedef struct { PyObject *dict; } AST_object; +static void +ast_dealloc(AST_object *self) +{ + Py_CLEAR(self->dict); +} + static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { @@ -548,7 +554,7 @@ static PyTypeObject AST_type = { "_ast.AST", sizeof(AST_object), 0, - 0, /* tp_dealloc */ + (destructor)ast_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ |