interp: mark pointers in aggregate call operands as external

This commit is contained in:
rdon-key
2026-08-13 20:19:07 +09:00
committed by Ron Evans
parent 93bc65479f
commit af429a597b
4 changed files with 46 additions and 5 deletions
+3 -5
View File
@@ -928,11 +928,9 @@ func (r *runner) runAtRuntime(fn *function, inst instruction, locals []value, me
llvmFn := operands[len(operands)-1]
args := operands[:len(operands)-1]
for _, op := range operands {
if op.Type().TypeKind() == llvm.PointerTypeKind {
err := mem.markExternalStore(op)
if err != nil {
return r.errorAt(inst, err)
}
err := mem.markExternalStore(op)
if err != nil {
return r.errorAt(inst, err)
}
}
result = r.builder.CreateCall(inst.llvmInst.CalledFunctionType(), llvmFn, args, inst.name)