From 7ecd98b0a0bec124e1c789b7c87d8dec822ee6c9 Mon Sep 17 00:00:00 2001 From: Li Jie Date: Mon, 21 Oct 2024 17:32:42 +0800 Subject: [PATCH] ssa: fix type of unsafe.SliceData --- ssa/datastruct.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ssa/datastruct.go b/ssa/datastruct.go index 8b23dd9e..ccbf7f43 100644 --- a/ssa/datastruct.go +++ b/ssa/datastruct.go @@ -124,7 +124,9 @@ func (b Builder) SliceData(x Expr) Expr { log.Printf("SliceData %v\n", x.impl) } ptr := llvm.CreateExtractValue(b.impl, x.impl, 0) - return Expr{ptr, b.Prog.VoidPtr()} + ty := x.Type.RawType() + tySlice := ty.Underlying().(*types.Slice) + return Expr{ptr, b.Prog.Pointer(b.Prog.rawType(tySlice.Elem()))} } // SliceLen returns the length of a slice.