From: Kirill Podoprigora Date: Fri, 20 Oct 2023 20:37:38 +0000 (+0300) Subject: gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137) X-Git-Tag: v3.13.0a2~381 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7162c3a1e8707fdea2efcc70d2cec987eba9ea78;p=thirdparty%2FPython%2Fcpython.git gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137) frozenset does not support multiplication. --- diff --git a/Python/ast_opt.c b/Python/ast_opt.c index 41f48eba08af..04d7ae6eaafb 100644 --- a/Python/ast_opt.c +++ b/Python/ast_opt.c @@ -142,15 +142,6 @@ check_complexity(PyObject *obj, Py_ssize_t limit) } return limit; } - else if (PyFrozenSet_Check(obj)) { - Py_ssize_t i = 0; - PyObject *item; - Py_hash_t hash; - limit -= PySet_GET_SIZE(obj); - while (limit >= 0 && _PySet_NextEntry(obj, &i, &item, &hash)) { - limit = check_complexity(item, limit); - } - } return limit; } @@ -174,9 +165,8 @@ safe_multiply(PyObject *v, PyObject *w) return NULL; } } - else if (PyLong_Check(v) && (PyTuple_Check(w) || PyFrozenSet_Check(w))) { - Py_ssize_t size = PyTuple_Check(w) ? PyTuple_GET_SIZE(w) : - PySet_GET_SIZE(w); + else if (PyLong_Check(v) && PyTuple_Check(w)) { + Py_ssize_t size = PyTuple_GET_SIZE(w); if (size) { long n = PyLong_AsLong(v); if (n < 0 || n > MAX_COLLECTION_SIZE / size) { @@ -198,8 +188,7 @@ safe_multiply(PyObject *v, PyObject *w) } } else if (PyLong_Check(w) && - (PyTuple_Check(v) || PyFrozenSet_Check(v) || - PyUnicode_Check(v) || PyBytes_Check(v))) + (PyTuple_Check(v) || PyUnicode_Check(v) || PyBytes_Check(v))) { return safe_multiply(w, v); }