From: Victor Stinner Date: Wed, 23 Sep 2020 12:06:55 +0000 (+0200) Subject: bpo-40941: Fix fold_tuple_on_constants() compiler warnings (GH-22378) X-Git-Tag: v3.10.0a1~64 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=71f2ff4ccf4ff8bdb56cc30d115ca2ddc602b12f;p=thirdparty%2FPython%2Fcpython.git bpo-40941: Fix fold_tuple_on_constants() compiler warnings (GH-22378) Add explicit casts to fix compiler warnings in fold_tuple_on_constants(). The limit of constants per code is now INT_MAX, rather than UINT_MAX. --- diff --git a/Python/compile.c b/Python/compile.c index 3ebf221cf02b..0f9e5c276c7b 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -6100,13 +6100,11 @@ fold_tuple_on_constants(struct instr *inst, PyTuple_SET_ITEM(newconst, i, constant); } Py_ssize_t index = PyList_GET_SIZE(consts); -#if SIZEOF_SIZE_T > SIZEOF_INT - if ((size_t)index >= UINT_MAX - 1) { + if ((size_t)index >= (size_t)INT_MAX - 1) { Py_DECREF(newconst); PyErr_SetString(PyExc_OverflowError, "too many constants"); return -1; } -#endif if (PyList_Append(consts, newconst)) { Py_DECREF(newconst); return -1; @@ -6116,7 +6114,7 @@ fold_tuple_on_constants(struct instr *inst, inst[i].i_opcode = NOP; } inst[n].i_opcode = LOAD_CONST; - inst[n].i_oparg = index; + inst[n].i_oparg = (int)index; return 0; }