Skip to content

Commit be0c855

Browse files
committed
fix: compile err
1 parent 88e6543 commit be0c855

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

mypyc/codegen/emitmodule.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -989,14 +989,15 @@ def emit_module_exec_func(
989989
# Patch async native functions so they're recognized as coroutines
990990
for fn in module.functions:
991991
if fn.decl.is_async and fn.class_name is None:
992+
temp_name = f"{fn.fullname}_temp"
992993
emitter.emit_line(
993-
f'PyObject *{fn.decl.name}_temp = PyObject_GetAttrString({module_static}, "{fn.decl.name}");'
994+
f'PyObject *{temp_name} = PyObject_GetAttrString({module_static}, "{fn.decl.name}");'
994995
)
995-
emitter.emit_line("if (!func_temp) goto fail;")
996+
emitter.emit_line(f"if (!{temp_name}) goto fail;")
996997
emitter.emit_line(
997-
"if (!CPyFunc_SetCoroFlag(func_temp)) { Py_DECREF(func_temp); goto fail; }"
998+
"if (!CPyFunc_SetCoroFlag(" + temp_name + ")) { Py_DECREF(" + temp_name + "); goto fail; }"
998999
)
999-
emitter.emit_line("Py_DECREF(func_temp);")
1000+
emitter.emit_line(f"Py_DECREF({temp_name});")
10001001

10011002
self.generate_top_level_call(module, emitter)
10021003

0 commit comments

Comments
 (0)