Implemented parameter passing for function pointers
This commit is contained in:
parent
b095a95021
commit
9a018f29e7
8 changed files with 71 additions and 44 deletions
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue