https://github.com/python/cpython/commit/b329096cfbebb60e0f5c3ea0a300f650d2004200
commit: b329096cfbebb60e0f5c3ea0a300f650d2004200
branch: main
author: Brandt Bucher <[email protected]>
committer: freakboy3742 <[email protected]>
date: 2025-04-30T00:21:14Z
summary:
GH-125515: Mark code after "return" as unreachable in the cases generator
(#133178)
Mark code after "return" as unreachable
files:
M Python/generated_cases.c.h
M Tools/cases_generator/generators_common.py
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index 7d3e6c7cbc9eab..88ab86a774f0ff 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -7464,9 +7464,6 @@
PyObject *result = PyStackRef_AsPyObjectSteal(retval);
LLTRACE_RESUME_FRAME();
return result;
- stack_pointer += -1;
- assert(WITHIN_STACK_BOUNDS());
- DISPATCH();
}
TARGET(IS_OP) {
diff --git a/Tools/cases_generator/generators_common.py
b/Tools/cases_generator/generators_common.py
index 9ba0767cba35a0..9d87dc33f269fd 100644
--- a/Tools/cases_generator/generators_common.py
+++ b/Tools/cases_generator/generators_common.py
@@ -492,6 +492,11 @@ def emit_SimpleStmt(
label_tkn = next(tkn_iter)
self.goto_label(tkn, label_tkn, storage)
reachable = False
+ elif tkn.kind == "RETURN":
+ self.emit(tkn)
+ semicolon = emit_to(self.out, tkn_iter, "SEMI")
+ self.emit(semicolon)
+ reachable = False
elif tkn.kind == "IDENTIFIER":
if tkn.text in self._replacers:
if not self._replacers[tkn.text](tkn, tkn_iter, uop,
storage, inst):
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]