mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
Propagate errors (however unlikely) from _Py_Deepfreeze_Init() (GH-31596)
This commit is contained in:
parent
edbee56d69
commit
0d9b565e62
7 changed files with 25 additions and 13 deletions
|
@ -283,7 +283,7 @@ class Printer:
|
|||
self.write(f".co_cellvars = {co_cellvars},")
|
||||
self.write(f".co_freevars = {co_freevars},")
|
||||
self.deallocs.append(f"_PyStaticCode_Dealloc(&{name});")
|
||||
self.interns.append(f"_PyStaticCode_InternStrings(&{name});")
|
||||
self.interns.append(f"_PyStaticCode_InternStrings(&{name})")
|
||||
return f"& {name}.ob_base"
|
||||
|
||||
def generate_tuple(self, name: str, t: Tuple[object, ...]) -> str:
|
||||
|
@ -450,9 +450,11 @@ def generate(args: list[str], output: TextIO) -> None:
|
|||
with printer.block(f"void\n_Py_Deepfreeze_Fini(void)"):
|
||||
for p in printer.deallocs:
|
||||
printer.write(p)
|
||||
with printer.block(f"void\n_Py_Deepfreeze_Init(void)"):
|
||||
with printer.block(f"int\n_Py_Deepfreeze_Init(void)"):
|
||||
for p in printer.interns:
|
||||
printer.write(p)
|
||||
with printer.block(f"if ({p} < 0)"):
|
||||
printer.write("return -1;")
|
||||
printer.write("return 0;")
|
||||
if verbose:
|
||||
print(f"Cache hits: {printer.hits}, misses: {printer.misses}")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue