- AssignGenMixin: 补 UnaryOp(Deref) 赋值目标分支(*p = v / *&x = *&y),非 Deref 的 &x/-x/~x fail-fast;*p += v 真正实现;Tuple/List 目标合并 - CallGenDispatch: kind() 改四级 REnum 判据(变体表 / struct __tag / pointee 带 __tag / X.field 声明类型反推);修正 build_load 第一参数误传指针类型 rk_tag_p(生成 load i32*, i32* 使返回值 Ty 为 i32*,导致 CallGenLib.vp:355 vk_a: int = val.Ty.kind() 报指针隐式转整数的 CastError),rk_load 分支同步改 rk_ty.Pointee - CallGenCtor / MatchGenMixin: __tag 读/写/比统一取字段声明类型 FieldEntry.Ty - Test/FieldReadTest: 字段读取探针
34 lines
1.1 KiB
JSON
34 lines
1.1 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/TermiNexus/TransPyC/main/schemas/project-schema.json",
|
|
"name": "FieldReadTest",
|
|
"version": "1.0.0",
|
|
"source_dir": "./App",
|
|
"build_dir": "./.tpv_build",
|
|
"compiler": {
|
|
"cmd": "llc",
|
|
"flags": ["-filetype=obj", "-relocation-model=pic"]
|
|
},
|
|
"linker": {
|
|
"cmd": "clang++",
|
|
"flags": ["-lmsvcrt", "-lucrt", "-lpthread", "-lmingwex", "-lkernel32", "-Wl,--allow-multiple-definition"],
|
|
"static_libs": [
|
|
"D:/msys64/clang64/lib/clang/22/lib/windows/libclang_rt.asan_dynamic-x86_64.dll.a",
|
|
"D:/msys64/clang64/lib/clang/22/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a"
|
|
],
|
|
"output": "FieldReadTest.exe"
|
|
},
|
|
"includes": [
|
|
"../../../includes"
|
|
],
|
|
"target": {
|
|
"triple": "x86_64-pc-windows-gnu",
|
|
"datalayout": "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
|
},
|
|
"options": {
|
|
"slice_level": 3,
|
|
"sha1_slice_level": 1,
|
|
"target": "llvm",
|
|
"strict_mode": true
|
|
}
|
|
}
|