[Python-checkins] cpython: Initialize variables to prevent GCC warnings

victor.stinner python-checkins at python.org
Wed Mar 18 16:06:11 CET 2015


https://hg.python.org/cpython/rev/5c09cf26b930
changeset:   95044:5c09cf26b930
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Wed Mar 18 15:02:06 2015 +0100
summary:
  Initialize variables to prevent GCC warnings

files:
  Objects/unicodeobject.c |  35 ++++++++++++++++------------
  Python/ast.c            |   6 +++-
  Python/bltinmodule.c    |   2 +-
  3 files changed, 25 insertions(+), 18 deletions(-)


diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -3469,7 +3469,8 @@
     int surrogateescape;
     size_t error_pos;
     char *errmsg;
-    PyObject *reason, *exc;
+    PyObject *reason = NULL;   /* initialize to prevent gcc warning */
+    PyObject *exc;
 
     if (locale_error_handler(errors, &surrogateescape) < 0)
         return NULL;
@@ -9454,7 +9455,7 @@
 {
     Py_ssize_t j;
     int final_sigma;
-    Py_UCS4 c;
+    Py_UCS4 c = 0;   /* initialize to prevent gcc warning */
     /* U+03A3 is in the Final_Sigma context when, it is found like this:
 
      \p{cased}\p{case-ignorable}*U+03A3!(\p{case-ignorable}*\p{cased})
@@ -11124,7 +11125,7 @@
 static PyObject *
 unicode_count(PyObject *self, PyObject *args)
 {
-    PyObject *substring;
+    PyObject *substring = NULL;   /* initialize to fix a compiler warning */
     Py_ssize_t start = 0;
     Py_ssize_t end = PY_SSIZE_T_MAX;
     PyObject *result;
@@ -11312,9 +11313,10 @@
 static PyObject *
 unicode_find(PyObject *self, PyObject *args)
 {
-    PyObject *substring;
-    Py_ssize_t start;
-    Py_ssize_t end;
+    /* initialize variables to prevent gcc warning */
+    PyObject *substring = NULL;
+    Py_ssize_t start = 0;
+    Py_ssize_t end = 0;
     Py_ssize_t result;
 
     if (!stringlib_parse_args_finds_unicode("find", args, &substring,
@@ -11399,10 +11401,11 @@
 static PyObject *
 unicode_index(PyObject *self, PyObject *args)
 {
+    /* initialize variables to prevent gcc warning */
     Py_ssize_t result;
-    PyObject *substring;
-    Py_ssize_t start;
-    Py_ssize_t end;
+    PyObject *substring = NULL;
+    Py_ssize_t start = 0;
+    Py_ssize_t end = 0;
 
     if (!stringlib_parse_args_finds_unicode("index", args, &substring,
                                             &start, &end))
@@ -12477,9 +12480,10 @@
 static PyObject *
 unicode_rfind(PyObject *self, PyObject *args)
 {
-    PyObject *substring;
-    Py_ssize_t start;
-    Py_ssize_t end;
+    /* initialize variables to prevent gcc warning */
+    PyObject *substring = NULL;
+    Py_ssize_t start = 0;
+    Py_ssize_t end = 0;
     Py_ssize_t result;
 
     if (!stringlib_parse_args_finds_unicode("rfind", args, &substring,
@@ -12513,9 +12517,10 @@
 static PyObject *
 unicode_rindex(PyObject *self, PyObject *args)
 {
-    PyObject *substring;
-    Py_ssize_t start;
-    Py_ssize_t end;
+    /* initialize variables to prevent gcc warning */
+    PyObject *substring = NULL;
+    Py_ssize_t start = 0;
+    Py_ssize_t end = 0;
     Py_ssize_t result;
 
     if (!stringlib_parse_args_finds_unicode("rindex", args, &substring,
diff --git a/Python/ast.c b/Python/ast.c
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -115,7 +115,7 @@
     }
     if (!validate_args(args->kwonlyargs))
         return 0;
-    if (args->kwarg && args->kwarg->annotation 
+    if (args->kwarg && args->kwarg->annotation
         && !validate_expr(args->kwarg->annotation, Load)) {
             return 0;
     }
@@ -164,6 +164,8 @@
             return 0;
         }
         check_ctx = 0;
+        /* set actual_ctx to prevent gcc warning */
+        actual_ctx = 0;
     }
     if (check_ctx && actual_ctx != ctx) {
         PyErr_Format(PyExc_ValueError, "expression must have %s context but has %s instead",
@@ -451,7 +453,7 @@
                             "None disallowed in expression list");
             return 0;
         }
-            
+
     }
     return 1;
 }
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -53,7 +53,7 @@
     PyObject *func, *name, *bases, *mkw, *meta, *winner, *prep, *ns, *cell;
     PyObject *cls = NULL;
     Py_ssize_t nargs;
-    int isclass;
+    int isclass = 0;   /* initialize to prevent gcc warning */
 
     assert(args != NULL);
     if (!PyTuple_Check(args)) {

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list