Implemented parameter passing for function pointers

This commit is contained in:
Eduard Urbach 2025-03-03 14:32:11 +01:00
parent b095a95021
commit 9a018f29e7
Signed by: eduard
GPG key ID: 49226B848C78F6C8
8 changed files with 71 additions and 44 deletions

View file

@ -23,7 +23,9 @@ func (f *Function) CompileDelete(root *expression.Expression) error {
f.RegisterRegister(asm.MOVE, f.CPU.Input[0], variable.Value.Register)
f.RegisterNumber(asm.MOVE, f.CPU.Input[1], variable.Value.Typ.(*types.Pointer).To.Size())
free := f.All.Functions["mem.free"]
f.CallSafe(free, f.CPU.Input[:2])
f.BeforeCall()
f.Label(asm.CALL, "mem.free")
f.AfterCall(f.CPU.Input[:2])
f.Dependencies = append(f.Dependencies, free)
return nil
}