ssa: support len([]func())

This commit is contained in:
Li Jie
2025-02-17 22:58:36 +08:00
parent e318cab252
commit 6a1e0084f4

View File

@@ -1169,6 +1169,12 @@ func (b Builder) BuiltinCall(fn string, args ...Expr) (ret Expr) {
ret.impl = b.InlineCall(b.Pkg.rtFunc("SliceAppend"),
src, b.StringData(elem), b.StringLen(elem), b.Prog.Val(int(etSize))).impl
return
default:
etSize := b.Prog.SizeOf(elem.Type)
ret.Type = src.Type
ret.impl = b.InlineCall(b.Pkg.rtFunc("SliceAppend"),
src, elem, b.Const(constant.MakeInt64(1), b.Prog.Int()), b.Prog.Val(int(etSize))).impl
return
}
}
}