fix(tpv): vpi 注入完整类型定义 + list elem_size + 路径修复,清理临时诊断

- VpiReader: 值 struct 全局/数组元素/函数返回类型注册完整定义,修复 llc use of undefined type;vpi 注入类后补 add_field 字段表(LARGE_INTEGER.QuadPart 恒 0 根因)
- TypeGenResolve: list[str](pool, elem_size) 语义修复(参数个数误当 elem_size,Mat4 崩溃根因);t/c 内置命名空间 Subscript 特判
- Config: _join_path 防双份路径
- GenApi: 新增 add_field 代理
- 移除 DBG-VK/PHASEADBG/GAP-DIAG/DBG-EMP 临时诊断
This commit is contained in:
TermiNexus committed 2026-08-29 17:27:29 +08:00
1 parent 1fe7878074
commit c2b9a26c62
7 files changed
+103 -41

No files matched your search

+8
View File
@@ -245,6 +245,14 @@ def _join_path(rel: str, project_dir: str) -> str:
# 绝对路径(以 / 或 \ 开头)保持不变
if rel[0] == '/' or rel[0] == '\\':
return rel
# [FIX] 命令行 --build-dir 按进程 cwd 给出的路径(如 ./TransPyV/.tpv_build2)
# 已含 project_dir 前缀(./TransPyV)时不再拼接,避免双份路径
# (./TransPyV/TransPyV/.tpv_build2)。边界取到目录分隔符或串尾。
if project_dir is not None:
pdl: t.CSizeT = string.strlen(project_dir)
if pdl > 0 and string.strncmp(rel, project_dir, pdl) == 0:
if rel[pdl] == '/' or rel[pdl] == '\\' or rel[pdl] == '\0':
return rel
rel_len: t.CSizeT = string.strlen(rel)
dir_len: t.CSizeT = string.strlen(project_dir)