summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorKirill Podoprigora <kirill.bast9@mail.ru>2023-10-20 20:37:38 (GMT)
committerGitHub <noreply@github.com>2023-10-20 20:37:38 (GMT)
commit7162c3a1e8707fdea2efcc70d2cec987eba9ea78 (patch)
tree7b2c08ab3cca5fcf38ddeef6bb473d44e7eb8d68 /Python
parent124259f9b30f6cbab4dd2bcfb0d32f1cddcc35db (diff)
downloadcpython-7162c3a1e8707fdea2efcc70d2cec987eba9ea78.zip
cpython-7162c3a1e8707fdea2efcc70d2cec987eba9ea78.tar.gz
cpython-7162c3a1e8707fdea2efcc70d2cec987eba9ea78.tar.bz2
gh-111133: Remove unnecessary PyFrozenSet_Check() calls in const folding (GH-111137)
frozenset does not support multiplication.
Diffstat (limited to 'Python')
-rw-r--r--Python/ast_opt.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/Python/ast_opt.c b/Python/ast_opt.c
index 41f48eb..04d7ae6 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);
}