diff --git a/Python/ast.c b/Python/ast.c index bba599b9ef4..9b32f8b8e57 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -78,7 +78,7 @@ static void ast_error_finish(const char *filename) { PyObject *type, *value, *tback, *errstr, *loc, *tmp; - int lineno; + long lineno; assert(PyErr_Occurred()); if (!PyErr_ExceptionMatches(PyExc_SyntaxError)) @@ -101,7 +101,7 @@ ast_error_finish(const char *filename) Py_INCREF(Py_None); loc = Py_None; } - tmp = Py_BuildValue("(ziOO)", filename, lineno, Py_None, loc); + tmp = Py_BuildValue("(zlOO)", filename, lineno, Py_None, loc); Py_DECREF(loc); if (!tmp) { Py_DECREF(errstr); @@ -261,7 +261,6 @@ PyAST_FromNode(const node *n, PyCompilerFlags *flags, const char *filename, /* Only a simple_stmt can contain multiple statements. */ REQ(n, simple_stmt); for (i = 0; i < NCH(n); i += 2) { - stmt_ty s; if (TYPE(CHILD(n, i)) == NEWLINE) break; s = ast_for_stmt(&c, CHILD(n, i)); @@ -1510,7 +1509,7 @@ ast_for_expr(struct compiling *c, const node *n) return NULL; } - asdl_seq_SET(ops, i / 2, (void *)operator); + asdl_seq_SET(ops, i / 2, (void *)(Py_uintptr_t)operator); asdl_seq_SET(cmps, i / 2, expression); } expression = ast_for_expr(c, CHILD(n, 0)); @@ -2031,7 +2030,7 @@ alias_for_import_name(struct compiling *c, const node *n) return alias(NEW_IDENTIFIER(CHILD(n, 0)), NULL, c->c_arena); else { /* Create a string of the form "a.b.c" */ - int i, len; + size_t i, len; char *s; len = 0; diff --git a/Python/symtable.c b/Python/symtable.c index 09674d2007f..915324df1e9 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -354,7 +354,7 @@ PyST_GetScope(PySTEntryObject *ste, PyObject *name) */ static int -analyze_name(PySTEntryObject *ste, PyObject *dict, PyObject *name, int flags, +analyze_name(PySTEntryObject *ste, PyObject *dict, PyObject *name, long flags, PyObject *bound, PyObject *local, PyObject *free, PyObject *global) { @@ -426,14 +426,14 @@ static int analyze_cells(PyObject *scope, PyObject *free) { PyObject *name, *v, *w; - int flags, pos = 0, success = 0; + int pos = 0, success = 0; w = PyInt_FromLong(CELL); if (!w) return 0; while (PyDict_Next(scope, &pos, &name, &v)) { assert(PyInt_Check(v)); - flags = PyInt_AS_LONG(v); + long flags = PyInt_AS_LONG(v); if (flags != LOCAL) continue; if (!PyDict_GetItem(free, name)) @@ -506,9 +506,10 @@ update_symbols(PyObject *symbols, PyObject *scope, PyObject *bound, PyObject *free, int class) { PyObject *name, *v, *u, *w, *free_value = NULL; - int i, flags, pos = 0; + int pos = 0; while (PyDict_Next(symbols, &pos, &name, &v)) { + long i, flags; assert(PyInt_Check(v)); flags = PyInt_AS_LONG(v); w = PyDict_GetItem(scope, name); @@ -539,7 +540,7 @@ update_symbols(PyObject *symbols, PyObject *scope, */ if (class && PyInt_AS_LONG(o) & (DEF_BOUND | DEF_GLOBAL)) { - i = PyInt_AS_LONG(o) | DEF_FREE_CLASS; + long i = PyInt_AS_LONG(o) | DEF_FREE_CLASS; o = PyInt_FromLong(i); if (!o) { Py_DECREF(free_value); @@ -581,7 +582,7 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, { PyObject *name, *v, *local = NULL, *scope = NULL, *newbound = NULL; PyObject *newglobal = NULL, *newfree = NULL; - int i, flags, pos = 0, success = 0; + int i, pos = 0, success = 0; local = PyDict_New(); if (!local) @@ -614,7 +615,7 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free, assert(PySTEntry_Check(ste)); assert(PyDict_Check(ste->ste_symbols)); while (PyDict_Next(ste->ste_symbols, &pos, &name, &v)) { - flags = PyInt_AS_LONG(v); + long flags = PyInt_AS_LONG(v); if (!analyze_name(ste, scope, name, flags, bound, local, free, global)) goto error; @@ -750,7 +751,7 @@ symtable_enter_block(struct symtable *st, identifier name, _Py_block_ty block, return 1; } -static int +static long symtable_lookup(struct symtable *st, PyObject *name) { PyObject *o; @@ -769,7 +770,7 @@ symtable_add_def(struct symtable *st, PyObject *name, int flag) { PyObject *o; PyObject *dict; - int val; + long val; PyObject *mangled = _Py_Mangle(st->st_private, name); if (!mangled) @@ -1018,7 +1019,7 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) for (i = 0; i < asdl_seq_LEN(seq); i++) { identifier name = asdl_seq_GET(seq, i); char *c_name = PyString_AS_STRING(name); - int cur = symtable_lookup(st, name); + long cur = symtable_lookup(st, name); if (cur < 0) return 0; if (cur & (DEF_LOCAL | USE)) {