From d8f65973185f3603f4079f189eee6ec22d1ebcf5 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sat, 20 Nov 2010 04:31:07 +0000 Subject: [PATCH] new plan: functions that want 'tmp' can declare it --- Parser/asdl_c.py | 4 +--- Python/Python-ast.c | 25 +++++-------------------- 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 60b53e9a1e6..c5fd365f214 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -365,10 +365,7 @@ class Obj2ModVisitor(PickleVisitor): self.emit("int", 0) self.emit("obj2ast_%s(PyObject* obj, %s* out, PyArena* arena)" % (name, ctype), 0) self.emit("{", 0) - self.emit("PyObject* tmp = NULL;", 1) self.emit("int isinstance;", 1) - # Prevent compiler warnings about unused variable. - self.emit("tmp = tmp;", 1) self.emit("", 0) def sumTrailer(self, name, add_label=False): @@ -403,6 +400,7 @@ class Obj2ModVisitor(PickleVisitor): def complexSum(self, sum, name): self.funcHeader(name) + self.emit("PyObject *tmp = NULL;", 1) for a in sum.attributes: self.visitAttributeDeclaration(a, name, sum=sum) self.emit("", 0) diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 8de5314e2d8..4d26ec8de73 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -3374,10 +3374,9 @@ failed: int obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; + PyObject *tmp = NULL; if (obj == Py_None) { *out = NULL; @@ -3523,10 +3522,9 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena) int obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; + PyObject *tmp = NULL; int lineno; int col_offset; @@ -4719,10 +4717,9 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) int obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; + PyObject *tmp = NULL; int lineno; int col_offset; @@ -5835,9 +5832,7 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) int obj2ast_expr_context(PyObject* obj, expr_context_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; isinstance = PyObject_IsInstance(obj, (PyObject *)Load_type); if (isinstance == -1) { @@ -5895,10 +5890,9 @@ obj2ast_expr_context(PyObject* obj, expr_context_ty* out, PyArena* arena) int obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; + PyObject *tmp = NULL; if (obj == Py_None) { *out = NULL; @@ -6018,9 +6012,7 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena) int obj2ast_boolop(PyObject* obj, boolop_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; isinstance = PyObject_IsInstance(obj, (PyObject *)And_type); if (isinstance == -1) { @@ -6046,9 +6038,7 @@ obj2ast_boolop(PyObject* obj, boolop_ty* out, PyArena* arena) int obj2ast_operator(PyObject* obj, operator_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; isinstance = PyObject_IsInstance(obj, (PyObject *)Add_type); if (isinstance == -1) { @@ -6154,9 +6144,7 @@ obj2ast_operator(PyObject* obj, operator_ty* out, PyArena* arena) int obj2ast_unaryop(PyObject* obj, unaryop_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; isinstance = PyObject_IsInstance(obj, (PyObject *)Invert_type); if (isinstance == -1) { @@ -6198,9 +6186,7 @@ obj2ast_unaryop(PyObject* obj, unaryop_ty* out, PyArena* arena) int obj2ast_cmpop(PyObject* obj, cmpop_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; isinstance = PyObject_IsInstance(obj, (PyObject *)Eq_type); if (isinstance == -1) { @@ -6354,10 +6340,9 @@ failed: int obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena) { - PyObject* tmp = NULL; int isinstance; - tmp = tmp; + PyObject *tmp = NULL; int lineno; int col_offset;