[Python-checkins] bpo-40941: Fix fold_tuple_on_constants() compiler warnings (GH-22378)

Victor Stinner webhook-mailer at python.org
Wed Sep 23 08:06:59 EDT 2020


https://github.com/python/cpython/commit/71f2ff4ccf4ff8bdb56cc30d115ca2ddc602b12f
commit: 71f2ff4ccf4ff8bdb56cc30d115ca2ddc602b12f
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-09-23T14:06:55+02:00
summary:

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.

files:
M Python/compile.c

diff --git a/Python/compile.c b/Python/compile.c
index 3ebf221cf02b7..0f9e5c276c7b7 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;
 }
 



More information about the Python-checkins mailing list