Skip to content

Commit 48956cc

Browse files
authored
gh-106797: Remove warning logs from Python/generated_cases.c.h (gh-106798)
1 parent 383dcbe commit 48956cc

File tree

3 files changed

+24
-20
lines changed

3 files changed

+24
-20
lines changed

Include/internal/pycore_opcode_metadata.h

+5-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Python/generated_cases.c.h

+8-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tools/cases_generator/generate_cases.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ def effect_size(effect: StackEffect) -> tuple[int, str]:
9898
assert not effect.cond, "Array effects cannot have a condition"
9999
return 0, effect.size
100100
elif effect.cond:
101+
if effect.cond in ("0", "1"):
102+
return 0, effect.cond
101103
return 0, f"{maybe_parenthesize(effect.cond)} ? 1 : 0"
102104
else:
103105
return 1, ""
@@ -217,7 +219,7 @@ def stack_adjust(
217219
self.emit(f"STACK_GROW({osym});")
218220

219221
def declare(self, dst: StackEffect, src: StackEffect | None):
220-
if dst.name == UNUSED:
222+
if dst.name == UNUSED or dst.cond == "0":
221223
return
222224
typ = f"{dst.type}" if dst.type else "PyObject *"
223225
if src:
@@ -241,7 +243,10 @@ def assign(self, dst: StackEffect, src: StackEffect):
241243
self.emit(f"Py_XSETREF({dst.name}, {cast}{src.name});")
242244
else:
243245
stmt = f"{dst.name} = {cast}{src.name};"
244-
if src.cond:
246+
if src.cond and src.cond != "1":
247+
if src.cond == "0":
248+
# It will not be executed
249+
return
245250
stmt = f"if ({src.cond}) {{ {stmt} }}"
246251
self.emit(stmt)
247252

@@ -1067,7 +1072,10 @@ def effect_str(effects: list[StackEffect]) -> str:
10671072
for effect in comp.instr.output_effects:
10681073
assert not effect.size, effect
10691074
if effect.cond:
1070-
pushed_symbolic.append(maybe_parenthesize(f"{maybe_parenthesize(effect.cond)} ? 1 : 0"))
1075+
if effect.cond in ("0", "1"):
1076+
pushed_symbolic.append(effect.cond)
1077+
else:
1078+
pushed_symbolic.append(maybe_parenthesize(f"{maybe_parenthesize(effect.cond)} ? 1 : 0"))
10711079
sp += 1
10721080
high = max(sp, high)
10731081
if high != max(0, sp):

0 commit comments

Comments
 (0)