fix(generic): 特化实参统一 mangling,失败立即终止
泛型实参在特化名/spec_key/type_map 中统一为 i32/指针形态,list[int].get 返回 i32;特化与翻译失败不再吞异常,include 缺失 .ll 直接终止。
This commit is contained in:
1 parent
88645fe7da
commit
de89b26bb7
8 files changed
+108
-56
No files matched your search
@@ -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)
|
||||
|
||||
|
||||
Reference in new issue
Block a user