[Python-checkins] r88506 - in python/branches/py3k: Include/pydebug.h Include/pyerrors.h Modules/_ctypes/cfield.c Modules/_datetimemodule.c Modules/_io/bytesio.c Modules/_json.c Modules/_multiprocessing/multiprocessing.h Modules/_sqlite/connection.c Modules/_sqlite/cursor.c Modules/_sqlite/statement.c Modules/_ssl.c Modules/_threadmodule.c Modules/_tkinter.c Modules/arraymodule.c Modules/audioop.c Modules/cjkcodecs/_codecs_iso2022.c Modules/cjkcodecs/multibytecodec.c Modules/main.c Modules/socketmodule.c Objects/bytearrayobject.c Objects/fileobject.c Objects/floatobject.c Objects/obmalloc.c Objects/tupleobject.c Objects/typeobject.c Objects/unicodeobject.c Objects/weakrefobject.c Parser/parsetok.c Parser/pgenmain.c Python/ast.c Python/bltinmodule.c Python/ceval.c Python/dtoa.c Python/getargs.c Python/pystrtod.c Python/sysmodule.c

brett.cannon python-checkins at python.org
Tue Feb 22 21:15:45 CET 2011


Author: brett.cannon
Date: Tue Feb 22 21:15:44 2011
New Revision: 88506

Log:
Issue #8914: fix various warnings from the Clang static analyzer v254.


Modified:
   python/branches/py3k/Include/pydebug.h
   python/branches/py3k/Include/pyerrors.h
   python/branches/py3k/Modules/_ctypes/cfield.c
   python/branches/py3k/Modules/_datetimemodule.c
   python/branches/py3k/Modules/_io/bytesio.c
   python/branches/py3k/Modules/_json.c
   python/branches/py3k/Modules/_multiprocessing/multiprocessing.h
   python/branches/py3k/Modules/_sqlite/connection.c
   python/branches/py3k/Modules/_sqlite/cursor.c
   python/branches/py3k/Modules/_sqlite/statement.c
   python/branches/py3k/Modules/_ssl.c
   python/branches/py3k/Modules/_threadmodule.c
   python/branches/py3k/Modules/_tkinter.c
   python/branches/py3k/Modules/arraymodule.c
   python/branches/py3k/Modules/audioop.c
   python/branches/py3k/Modules/cjkcodecs/_codecs_iso2022.c
   python/branches/py3k/Modules/cjkcodecs/multibytecodec.c
   python/branches/py3k/Modules/main.c
   python/branches/py3k/Modules/socketmodule.c
   python/branches/py3k/Objects/bytearrayobject.c
   python/branches/py3k/Objects/fileobject.c
   python/branches/py3k/Objects/floatobject.c
   python/branches/py3k/Objects/obmalloc.c
   python/branches/py3k/Objects/tupleobject.c
   python/branches/py3k/Objects/typeobject.c
   python/branches/py3k/Objects/unicodeobject.c
   python/branches/py3k/Objects/weakrefobject.c
   python/branches/py3k/Parser/parsetok.c
   python/branches/py3k/Parser/pgenmain.c
   python/branches/py3k/Python/ast.c
   python/branches/py3k/Python/bltinmodule.c
   python/branches/py3k/Python/ceval.c
   python/branches/py3k/Python/dtoa.c
   python/branches/py3k/Python/getargs.c
   python/branches/py3k/Python/pystrtod.c
   python/branches/py3k/Python/sysmodule.c

Modified: python/branches/py3k/Include/pydebug.h
==============================================================================
--- python/branches/py3k/Include/pydebug.h	(original)
+++ python/branches/py3k/Include/pydebug.h	Tue Feb 22 21:15:44 2011
@@ -26,8 +26,6 @@
    PYTHONPATH and PYTHONHOME from the environment */
 #define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s))
 
-PyAPI_FUNC(void) Py_FatalError(const char *message);
-
 #ifdef __cplusplus
 }
 #endif

Modified: python/branches/py3k/Include/pyerrors.h
==============================================================================
--- python/branches/py3k/Include/pyerrors.h	(original)
+++ python/branches/py3k/Include/pyerrors.h	Tue Feb 22 21:15:44 2011
@@ -70,7 +70,17 @@
 PyAPI_FUNC(void) PyErr_Clear(void);
 PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
 PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
-PyAPI_FUNC(void) Py_FatalError(const char *message);
+
+#if defined(__clang__) || \
+    (defined(__GNUC__) && \
+     ((__GNUC_MAJOR__ >= 3) || \
+      (__GNUC_MAJOR__ == 2) && (__GNUC_MINOR__ >= 5)))
+#define _Py_NO_RETURN __attribute__((__noreturn__))
+#else
+#define _Py_NO_RETURN
+#endif
+
+PyAPI_FUNC(void) Py_FatalError(const char *message) _Py_NO_RETURN;
 
 #if defined(Py_DEBUG) || defined(Py_LIMITED_API)
 #define _PyErr_OCCURRED() PyErr_Occurred()

Modified: python/branches/py3k/Modules/_ctypes/cfield.c
==============================================================================
--- python/branches/py3k/Modules/_ctypes/cfield.c	(original)
+++ python/branches/py3k/Modules/_ctypes/cfield.c	Tue Feb 22 21:15:44 2011
@@ -52,7 +52,7 @@
 {
     CFieldObject *self;
     PyObject *proto;
-    Py_ssize_t size, align, length;
+    Py_ssize_t size, align;
     SETFUNC setfunc = NULL;
     GETFUNC getfunc = NULL;
     StgDictObject *dict;
@@ -106,7 +106,6 @@
     }
 
     size = dict->size;
-    length = dict->length;
     proto = desc;
 
     /*  Field descriptors for 'c_char * n' are be scpecial cased to

Modified: python/branches/py3k/Modules/_datetimemodule.c
==============================================================================
--- python/branches/py3k/Modules/_datetimemodule.c	(original)
+++ python/branches/py3k/Modules/_datetimemodule.c	Tue Feb 22 21:15:44 2011
@@ -1461,7 +1461,7 @@
         goto Done;
     Py_DECREF(x1);
     Py_DECREF(x2);
-    x1 = x2 = NULL;
+    /* x1 = */ x2 = NULL;
 
     /* x3 has days+seconds in seconds */
     x1 = PyNumber_Multiply(x3, us_per_second);          /* us */

Modified: python/branches/py3k/Modules/_io/bytesio.c
==============================================================================
--- python/branches/py3k/Modules/_io/bytesio.c	(original)
+++ python/branches/py3k/Modules/_io/bytesio.c	Tue Feb 22 21:15:44 2011
@@ -938,13 +938,11 @@
 bytesiobuf_getbuffer(bytesiobuf *obj, Py_buffer *view, int flags)
 {
     int ret;
-    void *ptr;
     bytesio *b = (bytesio *) obj->source;
     if (view == NULL) {
         b->exports++;
         return 0;
     }
-    ptr = (void *) obj;
     ret = PyBuffer_FillInfo(view, (PyObject*)obj, b->buf, b->string_size,
                             0, flags);
     if (ret >= 0) {

Modified: python/branches/py3k/Modules/_json.c
==============================================================================
--- python/branches/py3k/Modules/_json.c	(original)
+++ python/branches/py3k/Modules/_json.c	Tue Feb 22 21:15:44 2011
@@ -335,7 +335,7 @@
     PyObject *rval = NULL;
     Py_ssize_t len = PyUnicode_GET_SIZE(pystr);
     Py_ssize_t begin = end - 1;
-    Py_ssize_t next = begin;
+    Py_ssize_t next /* = begin */;
     const Py_UNICODE *buf = PyUnicode_AS_UNICODE(pystr);
     PyObject *chunks = NULL;
     PyObject *chunk = NULL;
@@ -1532,13 +1532,12 @@
             goto bail;
         Py_CLEAR(ident);
     }
+    /* TODO DOES NOT RUN; dead code
     if (s->indent != Py_None) {
-        /* TODO: DOES NOT RUN */
         indent_level -= 1;
-        /*
-            yield '\n' + (' ' * (_indent * _current_indent_level))
-        */
-    }
+
+        yield '\n' + (' ' * (_indent * _current_indent_level))
+    }*/
     if (PyList_Append(rval, close_dict))
         goto bail;
     return 0;
@@ -1624,13 +1623,13 @@
             goto bail;
         Py_CLEAR(ident);
     }
+
+    /* TODO: DOES NOT RUN
     if (s->indent != Py_None) {
-        /* TODO: DOES NOT RUN */
         indent_level -= 1;
-        /*
-            yield '\n' + (' ' * (_indent * _current_indent_level))
-        */
-    }
+
+        yield '\n' + (' ' * (_indent * _current_indent_level))
+    }*/
     if (PyList_Append(rval, close_array))
         goto bail;
     Py_DECREF(s_fast);

Modified: python/branches/py3k/Modules/_multiprocessing/multiprocessing.h
==============================================================================
--- python/branches/py3k/Modules/_multiprocessing/multiprocessing.h	(original)
+++ python/branches/py3k/Modules/_multiprocessing/multiprocessing.h	Tue Feb 22 21:15:44 2011
@@ -4,7 +4,7 @@
 #define PY_SSIZE_T_CLEAN
 
 #ifdef __sun
-/* The control message API is only available on Solaris 
+/* The control message API is only available on Solaris
    if XPG 4.2 or later is requested. */
 #define _XOPEN_SOURCE 500
 #endif

Modified: python/branches/py3k/Modules/_sqlite/connection.c
==============================================================================
--- python/branches/py3k/Modules/_sqlite/connection.c	(original)
+++ python/branches/py3k/Modules/_sqlite/connection.c	Tue Feb 22 21:15:44 2011
@@ -673,7 +673,6 @@
 {
     PyObject* function_result = NULL;
     PyObject** aggregate_instance;
-    PyObject* aggregate_class;
 
 #ifdef WITH_THREAD
     PyGILState_STATE threadstate;
@@ -681,8 +680,6 @@
     threadstate = PyGILState_Ensure();
 #endif
 
-    aggregate_class = (PyObject*)sqlite3_user_data(context);
-
     aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*));
     if (!*aggregate_instance) {
         /* this branch is executed if there was an exception in the aggregate's

Modified: python/branches/py3k/Modules/_sqlite/cursor.c
==============================================================================
--- python/branches/py3k/Modules/_sqlite/cursor.c	(original)
+++ python/branches/py3k/Modules/_sqlite/cursor.c	Tue Feb 22 21:15:44 2011
@@ -126,11 +126,9 @@
 
 static void pysqlite_cursor_dealloc(pysqlite_Cursor* self)
 {
-    int rc;
-
     /* Reset the statement if the user has not closed the cursor */
     if (self->statement) {
-        rc = pysqlite_statement_reset(self->statement);
+        pysqlite_statement_reset(self->statement);
         Py_DECREF(self->statement);
     }
 
@@ -529,7 +527,7 @@
 
     if (self->statement != NULL) {
         /* There is an active statement */
-        rc = pysqlite_statement_reset(self->statement);
+        pysqlite_statement_reset(self->statement);
     }
 
     operation_cstr = _PyUnicode_AsStringAndSize(operation, &operation_len);
@@ -734,7 +732,7 @@
         }
 
         if (multiple) {
-            rc = pysqlite_statement_reset(self->statement);
+            pysqlite_statement_reset(self->statement);
         }
         Py_XDECREF(parameters);
     }

Modified: python/branches/py3k/Modules/_sqlite/statement.c
==============================================================================
--- python/branches/py3k/Modules/_sqlite/statement.c	(original)
+++ python/branches/py3k/Modules/_sqlite/statement.c	Tue Feb 22 21:15:44 2011
@@ -369,11 +369,9 @@
 
 void pysqlite_statement_dealloc(pysqlite_Statement* self)
 {
-    int rc;
-
     if (self->st) {
         Py_BEGIN_ALLOW_THREADS
-        rc = sqlite3_finalize(self->st);
+        sqlite3_finalize(self->st);
         Py_END_ALLOW_THREADS
     }
 

Modified: python/branches/py3k/Modules/_ssl.c
==============================================================================
--- python/branches/py3k/Modules/_ssl.c	(original)
+++ python/branches/py3k/Modules/_ssl.c	Tue Feb 22 21:15:44 2011
@@ -354,7 +354,6 @@
 
     /* Actually negotiate SSL connection */
     /* XXX If SSL_do_handshake() returns 0, it's also a failure. */
-    sockstate = 0;
     do {
         PySSL_BEGIN_ALLOW_THREADS
         ret = SSL_do_handshake(self->ssl);
@@ -1090,7 +1089,6 @@
         goto error;
     }
     do {
-        err = 0;
         PySSL_BEGIN_ALLOW_THREADS
         len = SSL_write(self->ssl, buf.buf, buf.len);
         err = SSL_get_error(self->ssl, len);
@@ -1226,7 +1224,6 @@
         }
     }
     do {
-        err = 0;
         PySSL_BEGIN_ALLOW_THREADS
         count = SSL_read(self->ssl, mem, len);
         err = SSL_get_error(self->ssl, count);

Modified: python/branches/py3k/Modules/_threadmodule.c
==============================================================================
--- python/branches/py3k/Modules/_threadmodule.c	(original)
+++ python/branches/py3k/Modules/_threadmodule.c	Tue Feb 22 21:15:44 2011
@@ -53,8 +53,9 @@
     _PyTime_timeval curtime;
     _PyTime_timeval endtime;
 
+
+    _PyTime_gettimeofday(&endtime);
     if (microseconds > 0) {
-        _PyTime_gettimeofday(&endtime);
         endtime.tv_sec += microseconds / (1000 * 1000);
         endtime.tv_usec += microseconds % (1000 * 1000);
     }

Modified: python/branches/py3k/Modules/_tkinter.c
==============================================================================
--- python/branches/py3k/Modules/_tkinter.c	(original)
+++ python/branches/py3k/Modules/_tkinter.c	Tue Feb 22 21:15:44 2011
@@ -2005,7 +2005,7 @@
 PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
 {
     PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
-    PyObject *self, *func, *arg, *res;
+    PyObject *func, *arg, *res;
     int i, rv;
     Tcl_Obj *obj_res;
 
@@ -2014,7 +2014,6 @@
     /* TBD: no error checking here since we know, via the
      * Tkapp_CreateCommand() that the client data is a two-tuple
      */
-    self = data->self;
     func = data->func;
 
     /* Create argument list (argv1, ..., argvN) */

Modified: python/branches/py3k/Modules/arraymodule.c
==============================================================================
--- python/branches/py3k/Modules/arraymodule.c	(original)
+++ python/branches/py3k/Modules/arraymodule.c	Tue Feb 22 21:15:44 2011
@@ -876,7 +876,6 @@
     if (Py_SIZE(self) > 0) {
         if (n < 0)
             n = 0;
-        items = self->ob_item;
         if ((self->ob_descr->itemsize != 0) &&
             (Py_SIZE(self) > PY_SSIZE_T_MAX / self->ob_descr->itemsize)) {
             return PyErr_NoMemory();

Modified: python/branches/py3k/Modules/audioop.c
==============================================================================
--- python/branches/py3k/Modules/audioop.c	(original)
+++ python/branches/py3k/Modules/audioop.c	Tue Feb 22 21:15:44 2011
@@ -513,7 +513,6 @@
 
     best_result = result;
     best_j = 0;
-    j = 0;
 
     for ( j=1; j<=len1-len2; j++) {
         aj_m1 = (double)cp1[j-1];
@@ -599,7 +598,6 @@
 
     best_result = result;
     best_j = 0;
-    j = 0;
 
     for ( j=1; j<=len1-len2; j++) {
         aj_m1 = (double)cp1[j-1];
@@ -1433,7 +1431,6 @@
     if ( state == Py_None ) {
         /* First time, it seems. Set defaults */
         valpred = 0;
-        step = 7;
         index = 0;
     } else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) )
         return 0;
@@ -1534,7 +1531,6 @@
     if ( state == Py_None ) {
         /* First time, it seems. Set defaults */
         valpred = 0;
-        step = 7;
         index = 0;
     } else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) )
         return 0;

Modified: python/branches/py3k/Modules/cjkcodecs/_codecs_iso2022.c
==============================================================================
--- python/branches/py3k/Modules/cjkcodecs/_codecs_iso2022.c	(original)
+++ python/branches/py3k/Modules/cjkcodecs/_codecs_iso2022.c	Tue Feb 22 21:15:44 2011
@@ -123,7 +123,7 @@
 
 CODEC_INIT(iso2022)
 {
-    const struct iso2022_designation *desig = CONFIG_DESIGNATIONS;
+    const struct iso2022_designation *desig;
     for (desig = CONFIG_DESIGNATIONS; desig->mark; desig++)
         if (desig->initializer != NULL && desig->initializer() != 0)
             return -1;

Modified: python/branches/py3k/Modules/cjkcodecs/multibytecodec.c
==============================================================================
--- python/branches/py3k/Modules/cjkcodecs/multibytecodec.c	(original)
+++ python/branches/py3k/Modules/cjkcodecs/multibytecodec.c	Tue Feb 22 21:15:44 2011
@@ -483,6 +483,7 @@
         return PyBytes_FromStringAndSize(NULL, 0);
 
     buf.excobj = NULL;
+    buf.outobj = NULL;
     buf.inbuf = buf.inbuf_top = *data;
     buf.inbuf_end = buf.inbuf_top + datalen;
 

Modified: python/branches/py3k/Modules/main.c
==============================================================================
--- python/branches/py3k/Modules/main.c	(original)
+++ python/branches/py3k/Modules/main.c	Tue Feb 22 21:15:44 2011
@@ -577,7 +577,6 @@
     if ((p = Py_GETENV("PYTHONEXECUTABLE")) && *p != '\0') {
         wchar_t* buffer;
         size_t len = strlen(p);
-        size_t r;
 
         buffer = malloc(len * sizeof(wchar_t));
         if (buffer == NULL) {
@@ -585,7 +584,7 @@
                "not enough memory to copy PYTHONEXECUTABLE");
         }
 
-        r = mbstowcs(buffer, p, len);
+        mbstowcs(buffer, p, len);
         Py_SetProgramName(buffer);
         /* buffer is now handed off - do not free */
     } else {

Modified: python/branches/py3k/Modules/socketmodule.c
==============================================================================
--- python/branches/py3k/Modules/socketmodule.c	(original)
+++ python/branches/py3k/Modules/socketmodule.c	Tue Feb 22 21:15:44 2011
@@ -3407,7 +3407,7 @@
         goto finally;
     af = sa->sa_family;
     ap = NULL;
-    al = 0;
+    /* al = 0; */
     switch (af) {
     case AF_INET:
         ap = (char *)&((struct sockaddr_in *)sa)->sin_addr;

Modified: python/branches/py3k/Objects/bytearrayobject.c
==============================================================================
--- python/branches/py3k/Objects/bytearrayobject.c	(original)
+++ python/branches/py3k/Objects/bytearrayobject.c	Tue Feb 22 21:15:44 2011
@@ -2439,7 +2439,7 @@
 static PyObject *
 bytearray_rstrip(PyByteArrayObject *self, PyObject *args)
 {
-    Py_ssize_t left, right, mysize, argsize;
+    Py_ssize_t right, mysize, argsize;
     void *myptr, *argptr;
     PyObject *arg = Py_None;
     Py_buffer varg;
@@ -2457,11 +2457,10 @@
     }
     myptr = self->ob_bytes;
     mysize = Py_SIZE(self);
-    left = 0;
     right = rstrip_helper(myptr, mysize, argptr, argsize);
     if (arg != Py_None)
         PyBuffer_Release(&varg);
-    return PyByteArray_FromStringAndSize(self->ob_bytes + left, right - left);
+    return PyByteArray_FromStringAndSize(self->ob_bytes, right);
 }
 
 PyDoc_STRVAR(decode_doc,

Modified: python/branches/py3k/Objects/fileobject.c
==============================================================================
--- python/branches/py3k/Objects/fileobject.c	(original)
+++ python/branches/py3k/Objects/fileobject.c	Tue Feb 22 21:15:44 2011
@@ -297,8 +297,8 @@
         *p++ = c;
         if (c == '\n') break;
     }
-    if ( c == EOF && skipnextlf )
-        newlinetypes |= NEWLINE_CR;
+    /* if ( c == EOF && skipnextlf )
+        newlinetypes |= NEWLINE_CR; */
     FUNLOCKFILE(stream);
     *p = '\0';
     if ( skipnextlf ) {

Modified: python/branches/py3k/Objects/floatobject.c
==============================================================================
--- python/branches/py3k/Objects/floatobject.c	(original)
+++ python/branches/py3k/Objects/floatobject.c	Tue Feb 22 21:15:44 2011
@@ -197,7 +197,6 @@
             Py_DECREF(s_buffer);
             return NULL;
         }
-        last = s + len;
     }
     else if (PyObject_AsCharBuffer(v, &s, &len)) {
         PyErr_SetString(PyExc_TypeError,
@@ -2246,7 +2245,7 @@
 
         /* Eighth byte */
         *p = flo & 0xFF;
-        p += incr;
+        /* p += incr; */
 
         /* Done */
         return 0;

Modified: python/branches/py3k/Objects/obmalloc.c
==============================================================================
--- python/branches/py3k/Objects/obmalloc.c	(original)
+++ python/branches/py3k/Objects/obmalloc.c	Tue Feb 22 21:15:44 2011
@@ -1775,7 +1775,6 @@
      * will be living in full pools -- would be a shame to miss them.
      */
     for (i = 0; i < maxarenas; ++i) {
-        uint poolsinarena;
         uint j;
         uptr base = arenas[i].address;
 
@@ -1784,7 +1783,6 @@
             continue;
         narenas += 1;
 
-        poolsinarena = arenas[i].ntotalpools;
         numfreepools += arenas[i].nfreepools;
 
         /* round up to pool alignment */

Modified: python/branches/py3k/Objects/tupleobject.c
==============================================================================
--- python/branches/py3k/Objects/tupleobject.c	(original)
+++ python/branches/py3k/Objects/tupleobject.c	Tue Feb 22 21:15:44 2011
@@ -86,7 +86,7 @@
         {
             return PyErr_NoMemory();
         }
-        nbytes += sizeof(PyTupleObject) - sizeof(PyObject *);
+        /* nbytes += sizeof(PyTupleObject) - sizeof(PyObject *); */
 
         op = PyObject_GC_NewVar(PyTupleObject, &PyTuple_Type, size);
         if (op == NULL)

Modified: python/branches/py3k/Objects/typeobject.c
==============================================================================
--- python/branches/py3k/Objects/typeobject.c	(original)
+++ python/branches/py3k/Objects/typeobject.c	Tue Feb 22 21:15:44 2011
@@ -902,7 +902,7 @@
 
     /* Find the nearest base with a different tp_dealloc */
     base = type;
-    while ((basedealloc = base->tp_dealloc) == subtype_dealloc) {
+    while ((/*basedealloc =*/ base->tp_dealloc) == subtype_dealloc) {
         base = base->tp_base;
         assert(base);
     }

Modified: python/branches/py3k/Objects/unicodeobject.c
==============================================================================
--- python/branches/py3k/Objects/unicodeobject.c	(original)
+++ python/branches/py3k/Objects/unicodeobject.c	Tue Feb 22 21:15:44 2011
@@ -5418,7 +5418,6 @@
         if (!result)
             return NULL;
         for (i = 0; i < 256; i++) {
-            key = value = NULL;
             key = PyLong_FromLong(decode[i]);
             value = PyLong_FromLong(i);
             if (!key || !value)
@@ -6935,7 +6934,7 @@
         }
     } else {
 
-        Py_ssize_t n, i, j, e;
+        Py_ssize_t n, i, j;
         Py_ssize_t product, new_size, delta;
         Py_UNICODE *p;
 
@@ -6967,7 +6966,6 @@
             return NULL;
         i = 0;
         p = u->str;
-        e = self->length - str1->length;
         if (str1->length > 0) {
             while (n-- > 0) {
                 /* look for next match */

Modified: python/branches/py3k/Objects/weakrefobject.c
==============================================================================
--- python/branches/py3k/Objects/weakrefobject.c	(original)
+++ python/branches/py3k/Objects/weakrefobject.c	Tue Feb 22 21:15:44 2011
@@ -168,13 +168,20 @@
                 PyErr_Clear();
         else if (PyUnicode_Check(nameobj))
                 name = _PyUnicode_AsString(nameobj);
-        PyOS_snprintf(buffer, sizeof(buffer),
-                      name ? "<weakref at %p; to '%.50s' at %p (%s)>"
-                           : "<weakref at %p; to '%.50s' at %p>",
-                      self,
-                      Py_TYPE(PyWeakref_GET_OBJECT(self))->tp_name,
-                      PyWeakref_GET_OBJECT(self),
-                      name);
+        if (name)
+            PyOS_snprintf(buffer, sizeof(buffer),
+                          "<weakref at %p; to '%.50s' at %p (%s)>",
+                          self,
+                          Py_TYPE(PyWeakref_GET_OBJECT(self))->tp_name,
+                          PyWeakref_GET_OBJECT(self),
+                          name);
+        else
+            PyOS_snprintf(buffer, sizeof(buffer),
+                          "<weakref at %p; to '%.50s' at %p>",
+                          self,
+                          Py_TYPE(PyWeakref_GET_OBJECT(self))->tp_name,
+                          PyWeakref_GET_OBJECT(self));
+
         Py_XDECREF(nameobj);
     }
     return PyUnicode_FromString(buffer);

Modified: python/branches/py3k/Parser/parsetok.c
==============================================================================
--- python/branches/py3k/Parser/parsetok.c	(original)
+++ python/branches/py3k/Parser/parsetok.c	Tue Feb 22 21:15:44 2011
@@ -127,7 +127,7 @@
 {
     parser_state *ps;
     node *n;
-    int started = 0, handling_import = 0, handling_with = 0;
+    int started = 0;
 
     if ((ps = PyParser_New(g, start)) == NULL) {
         fprintf(stderr, "no mem for new parser\n");
@@ -154,7 +154,6 @@
         }
         if (type == ENDMARKER && started) {
             type = NEWLINE; /* Add an extra newline */
-            handling_with = handling_import = 0;
             started = 0;
             /* Add the right number of dedent tokens,
                except if a certain flag is given --

Modified: python/branches/py3k/Parser/pgenmain.c
==============================================================================
--- python/branches/py3k/Parser/pgenmain.c	(original)
+++ python/branches/py3k/Parser/pgenmain.c	Tue Feb 22 21:15:44 2011
@@ -29,6 +29,8 @@
 /* Forward */
 grammar *getgrammar(char *filename);
 
+void Py_Exit(int) _Py_NO_RETURN;
+
 void
 Py_Exit(int sts)
 {

Modified: python/branches/py3k/Python/ast.c
==============================================================================
--- python/branches/py3k/Python/ast.c	(original)
+++ python/branches/py3k/Python/ast.c	Tue Feb 22 21:15:44 2011
@@ -3231,7 +3231,6 @@
     const char *end;
 
     if (encoding == NULL) {
-        buf = (char *)s;
         u = NULL;
     } else {
         /* check for integer overflow */

Modified: python/branches/py3k/Python/bltinmodule.c
==============================================================================
--- python/branches/py3k/Python/bltinmodule.c	(original)
+++ python/branches/py3k/Python/bltinmodule.c	Tue Feb 22 21:15:44 2011
@@ -37,7 +37,7 @@
 {
     PyObject *func, *name, *bases, *mkw, *meta, *prep, *ns, *cell;
     PyObject *cls = NULL;
-    Py_ssize_t nargs, nbases;
+    Py_ssize_t nargs;
 
     assert(args != NULL);
     if (!PyTuple_Check(args)) {
@@ -61,7 +61,6 @@
     bases = PyTuple_GetSlice(args, 2, nargs);
     if (bases == NULL)
         return NULL;
-    nbases = nargs - 2;
 
     if (kwds == NULL) {
         meta = NULL;
@@ -766,7 +765,6 @@
 {
     PyObject *v;
     PyObject *prog, *globals = Py_None, *locals = Py_None;
-    int plain = 0;
 
     if (!PyArg_UnpackTuple(args, "exec", 1, 3, &prog, &globals, &locals))
         return NULL;
@@ -775,7 +773,6 @@
         globals = PyEval_GetGlobals();
         if (locals == Py_None) {
             locals = PyEval_GetLocals();
-            plain = 1;
         }
         if (!globals || !locals) {
             PyErr_SetString(PyExc_SystemError,

Modified: python/branches/py3k/Python/ceval.c
==============================================================================
--- python/branches/py3k/Python/ceval.c	(original)
+++ python/branches/py3k/Python/ceval.c	Tue Feb 22 21:15:44 2011
@@ -2690,7 +2690,7 @@
                 Py_DECREF(*pfunc);
                 *pfunc = self;
                 na++;
-                n++;
+                /* n++; */
             } else
                 Py_INCREF(func);
             sp = stack_pointer;
@@ -3026,7 +3026,7 @@
                                 PyTrace_RETURN, retval)) {
                 Py_XDECREF(retval);
                 retval = NULL;
-                why = WHY_EXCEPTION;
+                /* why = WHY_EXCEPTION; */
             }
         }
     }

Modified: python/branches/py3k/Python/dtoa.c
==============================================================================
--- python/branches/py3k/Python/dtoa.c	(original)
+++ python/branches/py3k/Python/dtoa.c	Tue Feb 22 21:15:44 2011
@@ -2055,7 +2055,7 @@
                         + Exp_msk1
                         ;
                     word1(&rv) = 0;
-                    dsign = 0;
+                    /* dsign = 0; */
                     break;
                 }
             }
@@ -2092,7 +2092,7 @@
                     goto undfl;
                 }
             }
-            dsign = 1 - dsign;
+            /* dsign = 1 - dsign; */
             break;
         }
         if ((aadj = ratio(delta, bs)) <= 2.) {

Modified: python/branches/py3k/Python/getargs.c
==============================================================================
--- python/branches/py3k/Python/getargs.c	(original)
+++ python/branches/py3k/Python/getargs.c	Tue Feb 22 21:15:44 2011
@@ -966,9 +966,10 @@
     case 'u': /* raw unicode buffer (Py_UNICODE *) */
     case 'Z': /* raw unicode buffer or None */
     {
+        Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **);
+
         if (*format == '#') { /* any buffer-like object */
             /* "s#" or "Z#" */
-            Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **);
             FETCH_SIZE;
 
             if (c == 'Z' && arg == Py_None) {
@@ -984,8 +985,6 @@
             format++;
         } else {
             /* "s" or "Z" */
-            Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **);
-
             if (c == 'Z' && arg == Py_None)
                 *p = NULL;
             else if (PyUnicode_Check(arg)) {

Modified: python/branches/py3k/Python/pystrtod.c
==============================================================================
--- python/branches/py3k/Python/pystrtod.c	(original)
+++ python/branches/py3k/Python/pystrtod.c	Tue Feb 22 21:15:44 2011
@@ -954,7 +954,7 @@
             /* shouldn't get here: Gay's code should always return
                something starting with a digit, an 'I',  or 'N' */
             strncpy(p, "ERR", 3);
-            p += 3;
+            /* p += 3; */
             assert(0);
         }
         goto exit;

Modified: python/branches/py3k/Python/sysmodule.c
==============================================================================
--- python/branches/py3k/Python/sysmodule.c	(original)
+++ python/branches/py3k/Python/sysmodule.c	Tue Feb 22 21:15:44 2011
@@ -1176,7 +1176,6 @@
     PyObject *opts;
     PyObject *name = NULL, *value = NULL;
     const wchar_t *name_end;
-    int r;
 
     opts = get_xoptions();
     if (opts == NULL)
@@ -1194,7 +1193,7 @@
     }
     if (name == NULL || value == NULL)
         goto error;
-    r = PyDict_SetItem(opts, name, value);
+    PyDict_SetItem(opts, name, value);
     Py_DECREF(name);
     Py_DECREF(value);
     return;


More information about the Python-checkins mailing list