fix(generic): 特化实参统一 mangling,失败立即终止

泛型实参在特化名/spec_key/type_map 中统一为 i32/指针形态,list[int].get 返回 i32;特化与翻译失败不再吞异常,include 缺失 .ll 直接终止。
This commit is contained in:
TermiNexus committed 2026-10-18 20:40:23 +08:00
1 parent 88645fe7da
commit de89b26bb7
8 files changed
+108 -56

No files matched your search

+5 -1
View File
@@ -3913,8 +3913,12 @@ class Phase2Translator:
for item in need_translate:
src_path, sha1, module_name, ll_path, obj_path, precompiled_obj = item
if not _CachedIsFile(ll_path):
# 翻译成功(worker 返回 ok)却没有产物 = 翻译失败:立即终止,
# 不允许跳过该模块继续后处理/编译/链接(否则只会得到链接期
# undefined symbol,真因与现场脱节)。
_vlog().error(f" 翻译未生成 .ll 文件: {module_name}.py")
continue
raise ReportedCompileError(
f"include 翻译未生成 .ll 文件: {module_name}.py,编译立即停止")
ll_content = _ReadTextCached(ll_path)