]> granicus.if.org Git - python/commitdiff
Fix icc warnings: conversion from "long" to "int" may lose significant bits
authorNeal Norwitz <nnorwitz@gmail.com>
Sun, 8 Jan 2006 01:06:06 +0000 (01:06 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sun, 8 Jan 2006 01:06:06 +0000 (01:06 +0000)
Python/ast.c
Python/symtable.c

index bba599b9ef445d98de25ae46f5edd6318bc6b735..9b32f8b8e575266ba33e90417d4ecf068be3d4a0 100644 (file)
@@ -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;
index 09674d2007f633041cfa7e87504f959221ea2867..915324df1e90bc3a6f75d49d82b1ec3fe5ad6c39 100644 (file)
@@ -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)) {