6bd5a6e7a4a891dc52733c4e834b34a92d179507
REnum 变体构造(*LLVMType.X(...))返回的是栈 alloca 地址,不能跨帧存活;原 c.DerefAs(ptr, LLVMType.X(...)) 是'同帧 load+store 拷贝'。机械迁移成 *ptr = LLVMType.X(...) 会把栈地址写进 pool 缓冲并返回(栈逃逸),导致 SpecTypeBits 读到非变体返回 0(现场: enum 宽度推断失败)。改为 *ptr = *LLVMType.X(...) 恢复同帧整对象拷贝;*result_ty_ptr = *result_ty 同理
Description
GVSDS(TM) Viper SE Runtime Environment and Library (VRTE)
15 MiB
0 Stars
1 Watchers
0 Forks
Languages
C++
76.8%
C
22%
CMake
1.2%