From 8772c85964baa7bfb5b24835a46910b93f893413 Mon Sep 17 00:00:00 2001 From: visualfc Date: Tue, 2 Jul 2024 08:40:44 +0800 Subject: [PATCH] ssa: fix abi patch types.pointer --- ssa/abitype.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ssa/abitype.go b/ssa/abitype.go index c1110bc1..940a779f 100644 --- a/ssa/abitype.go +++ b/ssa/abitype.go @@ -313,10 +313,18 @@ func lastParamType(prog Program, fn Expr) Type { // ----------------------------------------------------------------------------- +func (p Package) patchType(t types.Type) types.Type { + switch t := t.(type) { + case *types.Pointer: + return types.NewPointer(p.patchType(t.Elem())) + } + return p.patch(t) +} + func (p Package) abiTypeInit(g Global, t types.Type, pub bool) { b := p.afterBuilder() if p.patch != nil { - t = p.patch(t) + t = p.patchType(t) } tabi := b.abiTypeOf(t) expr := g.Expr