[DBG] main enter ├ INFO: TransPyV 启动 === TransPyV 参数解析结果 === --project: TransPyV/Test/project.vpj --src: (未指定) --temp: (未指定) --output: (未指定) --phase: (未指定,默认 all) --cc: (未指定) --clean: True --run: False --rebuild-includes: False --clear-cache: False 参数解析完成。 [DBG] before Load_project_config path=TransPyV/Test/project.vpj === 工程配置 === [DBG] Load_project_config OK [DBG] before resolve_paths dir=TransPyV/Test [DBG] resolve_paths OK ├ INFO[config]: project: AstTest v1.0.0 ├ INFO[config]: source_dir: TransPyV/Test/App ├ INFO[config]: build_dir: TransPyV/Test/.tpv_build ├ INFO[config]: temp_dir: TransPyV/Test/.tpv_build/temp ├ INFO[config]: output_dir: TransPyV/Test/.tpv_build/output ├ INFO[config]: compiler: llc ├ INFO[config]: linker: clang++ -> app.exe ├ INFO[config]: includes: TransPyV/Test/../../includes ├ INFO[config]: sha1_slice_level: 1 [DBG] print_config OK ├ INFO[clean]: 清理临时目录... ├ INFO[clean]: TransPyV/Test/.tpv_build/temp: 删除 1 个文件 ├ INFO[clean]: TransPyV/Test/.tpv_build/output: 删除 0 个文件 ├ INFO[phase]: 模式: all (phase1=1 phase2=1) [DBG] before Phase1.RunPhase1 inc=TransPyV/Test/../../includes temp=TransPyV/Test/.tpv_build/temp === Phase1: 扫描 includes(按需翻译) === ├ INFO[Phase1]: 拓扑排序: 25 个类, 15 个文件按依赖顺序处理 ├ INFO[Phase1]: 完成: 翻译=0 跳过=78 失败=0 [DBG] Phase1.RunPhase1 OK [DBG] before Phase2.RunMultiFileProject src=TransPyV/Test/App temp=TransPyV/Test/.tpv_build/temp out=TransPyV/Test/.tpv_build/output [DBG] RunMultiFileProject enter src=TransPyV/Test/App ├ INFO[project]: 多文件项目编译: TransPyV/Test/App ├ INFO[project]: asm_test.py (sha1=80241c7d6f357bd1) ├ INFO[project]: attr_test.py (sha1=17c0dfbcebfa3a0e) ├ INFO[project]: augassign_test.py (sha1=0eccc2393466d940) ├ INFO[project]: circ_a.py (sha1=ac47a9dc68e6834c) ├ INFO[project]: circ_b.py (sha1=04d33c721a603632) ├ INFO[project]: circ_test.py (sha1=5314f09055045035) ├ INFO[project]: closure_test.py (sha1=9d8e1c9631c28b1b) ├ INFO[project]: deco_test.py (sha1=b7bbe6a1c1e75ad8) ├ INFO[project]: deref_min_test.py (sha1=6f5e876273093314) ├ INFO[project]: deref_test.py (sha1=eb252050d92f8fb9) ├ INFO[project]: eq_test.py (sha1=b8cbe044a10adcca) ├ INFO[project]: float_test.py (sha1=e74870eba3e6d774) ├ INFO[project]: flow_test.py (sha1=969c589035910845) ├ INFO[project]: for_test.py (sha1=1eb1c9fc7e85d9f8) ├ INFO[project]: func_test.py (sha1=3c2fbc9e35ad3bf2) ├ INFO[project]: func_vtable_test.py (sha1=a9df037d9178888f) ├ INFO[project]: inherit_test.py (sha1=97043f0d52da437f) ├ INFO[project]: llvmir_test.py (sha1=c39f3e540adb7b4e) ├ INFO[project]: namespace_defs.py (sha1=b7eeff93aa63e70f) ├ INFO[project]: namespace_test.py (sha1=ef45adce81bf5b2d) ├ INFO[project]: new_test.py (sha1=9d798d964b9d3411) ├ INFO[project]: oop_test.py (sha1=1b9ab264a942c56b) ├ INFO[project]: opovl_test.py (sha1=a7cf0ce4066332ae) ├ INFO[project]: ptr_only_test.py (sha1=ed1c124f3cb787c9) ├ INFO[project]: ptr_test.py (sha1=07f7da85af876124) ├ INFO[project]: simple_test.py (sha1=b078e9c9c74a2a0c) ├ INFO[project]: string_min_test.py (sha1=74ca31446cac2107) ├ INFO[project]: string_test.py (sha1=e0009679269c6b63) ├ INFO[project]: struct_test.py (sha1=33a854a5c4f67d74) ├ INFO[project]: testcheck_test.py (sha1=d7662500f1c2c0ff) ├ INFO[project]: test_main.py (sha1=ff744980c190e9b0) ├ INFO[project]: type_bit_test.py (sha1=55cbbb5dec4fef2c) ├ INFO[project]: virtual_dispatch_test.py (sha1=cc3ad7f3bc880326) ├ INFO[project]: vtable_test.py (sha1=2769dee537308b00) [DBG] scan done file_count=34 ├ INFO[project]: 共 34 个源文件 ├ INFO[project]: 已追加 34 个 App 文件到 _sha1_map.txt [DBG] before Phase A === Phase A: 生成 stub + text === ├ INFO[PhaseA]: 预注册 struct/enum/union... [DBG] PhaseA-pre pass=0 struct_count_before=24 [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/asm_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/attr_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/augassign_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/circ_a.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/circ_b.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/circ_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/closure_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/deco_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/deref_min_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/deref_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/eq_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/float_test.py ├ INFO[UNION]: registered DataUnion with 3 fields, max_size=8 [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/flow_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/for_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/func_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/func_vtable_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/inherit_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/llvmir_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/namespace_defs.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/namespace_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/new_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/oop_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/opovl_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/ptr_only_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/ptr_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/simple_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/string_min_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/string_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/struct_test.py ├ INFO[ENUM]: registered State with 3 members, base_bits=32 ├ INFO[ENUM]: registered Color with 4 members, base_bits=32 ├ INFO[ENUM]: registered MixedType with 3 members, base_bits=64 ├ INFO[UNION]: registered DataUnion with 3 fields, max_size=8 [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/testcheck_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/test_main.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/type_bit_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/virtual_dispatch_test.py [DBG] PhaseA-pre pass=0 file=TransPyV/Test/App/vtable_test.py [DBG] PhaseA-pre pass=0 done struct_count_after=51 [DBG] PhaseA-pre pass=1 struct_count_before=51 [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/asm_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/attr_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/augassign_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/circ_a.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/circ_b.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/circ_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/closure_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/deco_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/deref_min_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/deref_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/eq_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/float_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/flow_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/for_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/func_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/func_vtable_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/inherit_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/llvmir_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/namespace_defs.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/namespace_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/new_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/oop_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/opovl_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/ptr_only_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/ptr_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/simple_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/string_min_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/string_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/struct_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/testcheck_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/test_main.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/type_bit_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/virtual_dispatch_test.py [DBG] PhaseA-pre pass=1 file=TransPyV/Test/App/vtable_test.py [DBG] PhaseA-pre pass=1 done struct_count_after=51 ├ INFO[PhaseA]: 预注册完成 [DBG] PhaseA full-translate start [DBG] PhaseA file=TransPyV/Test/App/asm_test.py [DBG] PhaseA file=TransPyV/Test/App/attr_test.py [DBG] PhaseA file=TransPyV/Test/App/augassign_test.py [DBG] PhaseA file=TransPyV/Test/App/circ_a.py [DBG] PhaseA file=TransPyV/Test/App/circ_b.py [DBG] PhaseA file=TransPyV/Test/App/circ_test.py [DBG] PhaseA file=TransPyV/Test/App/closure_test.py [DBG] PhaseA file=TransPyV/Test/App/deco_test.py [DBG] PhaseA file=TransPyV/Test/App/deref_min_test.py [DBG] PhaseA file=TransPyV/Test/App/deref_test.py [DBG] PhaseA file=TransPyV/Test/App/eq_test.py [DBG] PhaseA file=TransPyV/Test/App/float_test.py [DBG] PhaseA file=TransPyV/Test/App/flow_test.py [DBG] PhaseA file=TransPyV/Test/App/for_test.py [DBG] PhaseA file=TransPyV/Test/App/func_test.py [DBG] PhaseA file=TransPyV/Test/App/func_vtable_test.py [DBG] PhaseA file=TransPyV/Test/App/inherit_test.py [DBG] PhaseA file=TransPyV/Test/App/llvmir_test.py [DBG] PhaseA file=TransPyV/Test/App/namespace_defs.py [DBG] PhaseA file=TransPyV/Test/App/namespace_test.py [DBG] PhaseA file=TransPyV/Test/App/new_test.py [DBG] PhaseA file=TransPyV/Test/App/oop_test.py [DBG] PhaseA file=TransPyV/Test/App/opovl_test.py [DBG] PhaseA file=TransPyV/Test/App/ptr_only_test.py [DBG] PhaseA file=TransPyV/Test/App/ptr_test.py [DBG] PhaseA file=TransPyV/Test/App/simple_test.py [DBG] PhaseA file=TransPyV/Test/App/string_min_test.py [DBG] PhaseA file=TransPyV/Test/App/string_test.py [DBG] PhaseA file=TransPyV/Test/App/struct_test.py [DBG] PhaseA file=TransPyV/Test/App/testcheck_test.py [DBG] PhaseA file=TransPyV/Test/App/test_main.py [DBG] PhaseA file=TransPyV/Test/App/type_bit_test.py [DBG] PhaseA file=TransPyV/Test/App/virtual_dispatch_test.py [DBG] PhaseA file=TransPyV/Test/App/vtable_test.py [DBG] before Phase B === Phase B: 编译 .obj === [DBG] PhaseB file=TransPyV/Test/App/asm_test.py [DBG] PhaseB file=TransPyV/Test/App/attr_test.py [DBG] PhaseB file=TransPyV/Test/App/augassign_test.py [DBG] PhaseB file=TransPyV/Test/App/circ_a.py [DBG] PhaseB file=TransPyV/Test/App/circ_b.py [DBG] PhaseB file=TransPyV/Test/App/circ_test.py [DBG] PhaseB file=TransPyV/Test/App/closure_test.py [DBG] PhaseB file=TransPyV/Test/App/deco_test.py [DBG] PhaseB file=TransPyV/Test/App/deref_min_test.py [DBG] PhaseB file=TransPyV/Test/App/deref_test.py [DBG] PhaseB file=TransPyV/Test/App/eq_test.py [DBG] PhaseB file=TransPyV/Test/App/float_test.py [DBG] PhaseB file=TransPyV/Test/App/flow_test.py [DBG] PhaseB file=TransPyV/Test/App/for_test.py [DBG] PhaseB file=TransPyV/Test/App/func_test.py [DBG] PhaseB file=TransPyV/Test/App/func_vtable_test.py [DBG] PhaseB file=TransPyV/Test/App/inherit_test.py [DBG] PhaseB file=TransPyV/Test/App/llvmir_test.py [DBG] PhaseB file=TransPyV/Test/App/namespace_defs.py [DBG] PhaseB file=TransPyV/Test/App/namespace_test.py [DBG] PhaseB file=TransPyV/Test/App/new_test.py [DBG] PhaseB file=TransPyV/Test/App/oop_test.py [DBG] PhaseB file=TransPyV/Test/App/opovl_test.py [DBG] PhaseB file=TransPyV/Test/App/ptr_only_test.py [DBG] PhaseB file=TransPyV/Test/App/ptr_test.py [DBG] PhaseB file=TransPyV/Test/App/simple_test.py [DBG] PhaseB file=TransPyV/Test/App/string_min_test.py [DBG] PhaseB file=TransPyV/Test/App/string_test.py [DBG] PhaseB file=TransPyV/Test/App/struct_test.py [DBG] PhaseB file=TransPyV/Test/App/testcheck_test.py [DBG] PhaseB file=TransPyV/Test/App/test_main.py [DBG] PhaseB file=TransPyV/Test/App/type_bit_test.py [DBG] PhaseB file=TransPyV/Test/App/virtual_dispatch_test.py [DBG] PhaseB file=TransPyV/Test/App/vtable_test.py