diff options
-rw-r--r-- | Objects/unicodeobject.c | 35 | ||||
-rw-r--r-- | Python/ast.c | 6 | ||||
-rw-r--r-- | Python/bltinmodule.c | 2 |
3 files changed, 25 insertions, 18 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 0dea83e505..ab22289f50 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -3469,7 +3469,8 @@ PyUnicode_DecodeLocaleAndSize(const char *str, Py_ssize_t len, 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 @@ handle_capital_sigma(int kind, void *data, Py_ssize_t length, Py_ssize_t i) { 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 @@ interpreted as in slice notation."); 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 @@ Return -1 on failure."); 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 @@ Like S.find() but raise ValueError when the substring is not found."); 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 @@ Return -1 on failure."); 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 @@ Like S.rfind() but raise ValueError when the substring is not found."); 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 index 2f1ae60b6c..b48471e502 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -115,7 +115,7 @@ validate_arguments(arguments_ty args) } 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 @@ validate_expr(expr_ty exp, expr_context_ty ctx) 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 @@ validate_exprs(asdl_seq *exprs, expr_context_ty ctx, int null_ok) "None disallowed in expression list"); return 0; } - + } return 1; } diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index f9bb388b5a..4f61d1e710 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -53,7 +53,7 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) 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)) { |