[Python-checkins] r41956 - python/trunk/Python/ast.c python/trunk/Python/symtable.c

neal.norwitz python-checkins at python.org
Sun Jan 8 02:06:06 CET 2006


Author: neal.norwitz
Date: Sun Jan  8 02:06:06 2006
New Revision: 41956

Modified:
   python/trunk/Python/ast.c
   python/trunk/Python/symtable.c
Log:
Fix icc warnings: conversion from "long" to "int" may lose significant bits

Modified: python/trunk/Python/ast.c
==============================================================================
--- python/trunk/Python/ast.c	(original)
+++ python/trunk/Python/ast.c	Sun Jan  8 02:06:06 2006
@@ -78,7 +78,7 @@
 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 @@
 	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 @@
                     /* 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 @@
                         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 @@
                 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;

Modified: python/trunk/Python/symtable.c
==============================================================================
--- python/trunk/Python/symtable.c	(original)
+++ python/trunk/Python/symtable.c	Sun Jan  8 02:06:06 2006
@@ -354,7 +354,7 @@
 */
 
 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 @@
 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 @@
                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 @@
 			*/
 			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 @@
 {
 	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 @@
 	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 @@
 	return 1;
 }
 
-static int
+static long
 symtable_lookup(struct symtable *st, PyObject *name)
 {
 	PyObject *o;
@@ -769,7 +770,7 @@
 {
 	PyObject *o;
 	PyObject *dict;
-	int val;
+	long val;
 	PyObject *mangled = _Py_Mangle(st->st_private, name);
 
 	if (!mangled)
@@ -1018,7 +1019,7 @@
 		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)) {


More information about the Python-checkins mailing list