TermiNexus
7da9d7cb0d
fix(viperc): 位宽探测循环改为固定 64 次上界,修主编译器死循环
- 现象:Phase1 编译到 viperlib.vp 时卡死,栈顶停在 ExprGenOps.vp:1362(我新加的位宽探测 while)
- 原因:`while t != 0 { t = t >> 1 }`(t 为 int64)在生成代码里不收敛(疑似 i64 移位/比较被按窄宽度处理)→ 死循环;改为 `while i < 64 and t > 0` 的固定上界写法,两处(ExprGenOps 运行期常量折叠 / AssignGenMixin 静态求值)一起改
- 遗留待查:该 while 为何不收敛(i64 >> / != 0 的代码生成),属同类“最小宽度”问题面
2026-10-14 19:54:29 +08:00
..
2026-10-12 20:59:11 +08:00
2026-10-14 19:54:29 +08:00
2026-10-05 13:38:22 +08:00
2026-10-05 13:38:22 +08:00
2026-10-14 15:53:05 +08:00
2026-10-12 20:59:11 +08:00
2026-10-12 15:06:28 +08:00
2026-10-12 20:59:11 +08:00