From eb4146d80deda77b95b2b3655d831df52862b24c Mon Sep 17 00:00:00 2001 From: xushiwei Date: Sun, 28 Apr 2024 10:39:11 +0800 Subject: [PATCH] llgo/ssa: Alloc bugfix (heap) --- ssa/expr.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssa/expr.go b/ssa/expr.go index 165f1a21..108c2d3e 100644 --- a/ssa/expr.go +++ b/ssa/expr.go @@ -410,11 +410,11 @@ func (b Builder) Alloc(t *types.Pointer, heap bool) (ret Expr) { prog := b.prog telem := t.Elem() if heap { - ret.impl = llvm.CreateAlloca(b.impl, prog.Type(telem).ll) - } else { pkg := b.fn.pkg size := unsafe.Sizeof(telem) ret = b.Call(pkg.rtFunc("Alloc"), prog.Val(size)) + } else { + ret.impl = llvm.CreateAlloca(b.impl, prog.Type(telem).ll) } // TODO(xsw): zero-initialize ret.Type = prog.Type(t)