变参调用把 <64 位整数提升到 i64 时原先一律 sext:uint8 0x8E 会被填成 0xFFFFFFFFFFFFFF8E,va_arg(i64) 读到脏高位(即 Debugger/VKERNELERR.md 记录的 sext 家族)。 现按实参符号性选择:无符号走 zext、有符号仍走 sext,与 CallGenVa._check_and_promote_variadic_call 同口径(复用 ExprGenOps.should_zext_widen)。
变参调用把 <64 位整数提升到 i64 时原先一律 sext:uint8 0x8E 会被填成 0xFFFFFFFFFFFFFF8E,va_arg(i64) 读到脏高位(即 Debugger/VKERNELERR.md 记录的 sext 家族)。 现按实参符号性选择:无符号走 zext、有符号仍走 sext,与 CallGenVa._check_and_promote_variadic_call 同口径(复用 ExprGenOps.should_zext_widen)。